haskell-src-exts 1.15.0.1 → 1.24.0
raw patch · 964 files changed
Files
- CHANGELOG +276/−25
- README.md +15/−38
- RELEASENOTES-1.17.0 +35/−0
- dist/build/Language/Haskell/Exts/InternalParser.hs +0/−8832
- haskell-src-exts.cabal +30/−39
- src/Language/Haskell/Exts.hs +81/−46
- src/Language/Haskell/Exts/Annotated.hs +0/−147
- src/Language/Haskell/Exts/Annotated/Build.hs +0/−291
- src/Language/Haskell/Exts/Annotated/ExactPrint.hs +0/−1885
- src/Language/Haskell/Exts/Annotated/Fixity.hs +0/−351
- src/Language/Haskell/Exts/Annotated/Simplify.hs +0/−544
- src/Language/Haskell/Exts/Annotated/Syntax.hs +0/−1605
- src/Language/Haskell/Exts/Build.hs +143/−139
- src/Language/Haskell/Exts/Comments.hs +182/−2
- src/Language/Haskell/Exts/ExactPrint.hs +2219/−0
- src/Language/Haskell/Exts/ExtScheme.hs +2/−0
- src/Language/Haskell/Exts/Extension.hs +104/−33
- src/Language/Haskell/Exts/Fixity.hs +242/−190
- src/Language/Haskell/Exts/InternalLexer.hs +306/−118
- src/Language/Haskell/Exts/InternalParser.ly +2272/−1956
- src/Language/Haskell/Exts/Lexer.hs +7/−3
- src/Language/Haskell/Exts/ParseMonad.hs +185/−89
- src/Language/Haskell/Exts/ParseSyntax.hs +137/−103
- src/Language/Haskell/Exts/ParseUtils.hs +565/−230
- src/Language/Haskell/Exts/Parser.hs +211/−141
- src/Language/Haskell/Exts/Pretty.hs +1717/−1713
- src/Language/Haskell/Exts/SrcLoc.hs +38/−7
- src/Language/Haskell/Exts/Syntax.hs +1952/−806
- src/Language/Preprocessor/Unlit.hs +72/−0
- tests/Extensions.hs +22/−3
- tests/Runner.hs +37/−15
- tests/examples/AmbiguousFixities.hs.exactprinter.golden +1/−1
- tests/examples/AmbiguousFixities.hs.parser.golden +1/−1
- tests/examples/AmbiguousFixities.hs.prettyparser.golden +1/−1
- tests/examples/AmbiguousFixities.hs.prettyprinter.golden +1/−1
- tests/examples/ArityMismatch.hs.exactprinter.golden +1/−1
- tests/examples/ArityMismatch.hs.parser.golden +3/−1
- tests/examples/ArityMismatch.hs.prettyparser.golden +1/−1
- tests/examples/ArityMismatch.hs.prettyprinter.golden +1/−1
- tests/examples/ArrowBrackets.hs +8/−0
- tests/examples/ArrowBrackets.hs.exactprinter.golden +1/−0
- tests/examples/ArrowBrackets.hs.parser.golden +541/−0
- tests/examples/ArrowBrackets.hs.prettyparser.golden +1/−0
- tests/examples/ArrowBrackets.hs.prettyprinter.golden +7/−0
- tests/examples/ArrowLayout.hs.parser.golden +338/−1
- tests/examples/AtOperator.hs +8/−0
- tests/examples/AtOperator.hs.exactprinter.golden +1/−0
- tests/examples/AtOperator.hs.parser.golden +291/−0
- tests/examples/AtOperator.hs.prettyparser.golden +1/−0
- tests/examples/AtOperator.hs.prettyprinter.golden +6/−0
- tests/examples/AtSign.hs +17/−0
- tests/examples/AtSign.hs.exactprinter.golden +1/−0
- tests/examples/AtSign.hs.parser.golden +591/−0
- tests/examples/AtSign.hs.prettyparser.golden +1/−0
- tests/examples/AtSign.hs.prettyprinter.golden +9/−0
- tests/examples/Attributes.hs.parser.golden too large to diff
- tests/examples/Attributes.hs.prettyparser.golden +1/−10
- tests/examples/Attributes.hs.prettyprinter.golden +216/−216
- tests/examples/BadStringLineBreak.hs.exactprinter.golden +1/−1
- tests/examples/BadStringLineBreak.hs.parser.golden +3/−1
- tests/examples/BadStringLineBreak.hs.prettyparser.golden +1/−1
- tests/examples/BadStringLineBreak.hs.prettyprinter.golden +1/−1
- tests/examples/BangPatterns.hs.parser.golden +768/−1
- tests/examples/BangPatterns.hs.prettyprinter.golden +1/−1
- tests/examples/BangViewPat.hs +2/−0
- tests/examples/BangViewPat.hs.exactprinter.golden +1/−0
- tests/examples/BangViewPat.hs.parser.golden +129/−0
- tests/examples/BangViewPat.hs.prettyparser.golden +1/−0
- tests/examples/BangViewPat.hs.prettyprinter.golden +2/−0
- tests/examples/BinaryLiteralsBad.hs +4/−0
- tests/examples/BinaryLiteralsBad.hs.exactprinter.golden +1/−0
- tests/examples/BinaryLiteralsBad.hs.parser.golden +3/−0
- tests/examples/BinaryLiteralsBad.hs.prettyparser.golden +1/−0
- tests/examples/BinaryLiteralsBad.hs.prettyprinter.golden +1/−0
- tests/examples/BinaryLiteralsGood.hs +23/−0
- tests/examples/BinaryLiteralsGood.hs.exactprinter.golden +1/−0
- tests/examples/BinaryLiteralsGood.hs.parser.golden +1539/−0
- tests/examples/BinaryLiteralsGood.hs.prettyparser.golden +10/−0
- tests/examples/BinaryLiteralsGood.hs.prettyprinter.golden +13/−0
- tests/examples/BlockArguments.hs +16/−0
- tests/examples/BlockArguments.hs.exactprinter.golden +1/−0
- tests/examples/BlockArguments.hs.parser.golden +1099/−0
- tests/examples/BlockArguments.hs.prettyparser.golden +10/−0
- tests/examples/BlockArguments.hs.prettyprinter.golden +15/−0
- tests/examples/BracketInstanceHead.hs +1/−0
- tests/examples/BracketInstanceHead.hs.exactprinter.golden +1/−0
- tests/examples/BracketInstanceHead.hs.parser.golden +151/−0
- tests/examples/BracketInstanceHead.hs.prettyparser.golden +1/−0
- tests/examples/BracketInstanceHead.hs.prettyprinter.golden +1/−0
- tests/examples/Bug.hs.parser.golden +42/−1
- tests/examples/Bug.hs.prettyprinter.golden +0/−1
- tests/examples/Bundles.hs +4/−0
- tests/examples/Bundles.hs.exactprinter.golden +1/−0
- tests/examples/Bundles.hs.parser.golden +252/−0
- tests/examples/Bundles.hs.prettyparser.golden +1/−0
- tests/examples/Bundles.hs.prettyprinter.golden +4/−0
- tests/examples/ByteStringUtils.hs.parser.golden too large to diff
- tests/examples/ByteStringUtils.hs.prettyparser.golden +10/−1
- tests/examples/ByteStringUtils.hs.prettyprinter.golden +50/−50
- tests/examples/CApiFFI.hs +3/−0
- tests/examples/CApiFFI.hs.exactprinter.golden +1/−0
- tests/examples/CApiFFI.hs.parser.golden +72/−0
- tests/examples/CApiFFI.hs.prettyparser.golden +1/−0
- tests/examples/CApiFFI.hs.prettyprinter.golden +2/−0
- tests/examples/CParser.hs +0/−6323
- tests/examples/CParser.hs.exactprinter.golden +0/−1
- tests/examples/CParser.hs.parser.golden too large to diff
- tests/examples/CParser.hs.prettyparser.golden +0/−10
- tests/examples/CParser.hs.prettyprinter.golden +0/−6540
- tests/examples/CStyleLinePragmas.hs.exactprinter.golden +1/−1
- tests/examples/CStyleLinePragmas.hs.parser.golden +2/−1
- tests/examples/CStyleLinePragmas.hs.prettyparser.golden +1/−1
- tests/examples/CStyleLinePragmas.hs.prettyprinter.golden +1/−1
- tests/examples/ClassContext.hs +2/−0
- tests/examples/ClassContext.hs.exactprinter.golden +1/−0
- tests/examples/ClassContext.hs.parser.golden +228/−0
- tests/examples/ClassContext.hs.prettyparser.golden +1/−0
- tests/examples/ClassContext.hs.prettyprinter.golden +2/−0
- tests/examples/ClassDeclSrcSpan.hs +6/−0
- tests/examples/ClassDeclSrcSpan.hs.exactprinter.golden +1/−0
- tests/examples/ClassDeclSrcSpan.hs.parser.golden +204/−0
- tests/examples/ClassDeclSrcSpan.hs.prettyparser.golden +1/−0
- tests/examples/ClassDeclSrcSpan.hs.prettyprinter.golden +5/−0
- tests/examples/ClassInstType.hs.parser.golden +1420/−1
- tests/examples/ClassInstType.hs.prettyprinter.golden +3/−4
- tests/examples/ClosedTypeFamily.hs +8/−0
- tests/examples/ClosedTypeFamily.hs.exactprinter.golden +1/−0
- tests/examples/ClosedTypeFamily.hs.parser.golden +293/−0
- tests/examples/ClosedTypeFamily.hs.prettyparser.golden +1/−0
- tests/examples/ClosedTypeFamily.hs.prettyprinter.golden +6/−0
- tests/examples/Completesig03A.hs +6/−0
- tests/examples/Completesig03A.hs.exactprinter.golden +1/−0
- tests/examples/Completesig03A.hs.parser.golden +123/−0
- tests/examples/Completesig03A.hs.prettyparser.golden +1/−0
- tests/examples/Completesig03A.hs.prettyprinter.golden +6/−0
- tests/examples/ConstraintKinds.hs +2/−1
- tests/examples/ConstraintKinds.hs.exactprinter.golden +1/−1
- tests/examples/ConstraintKinds.hs.parser.golden +493/−1
- tests/examples/ConstraintKinds.hs.prettyparser.golden +1/−1
- tests/examples/ConstraintKinds.hs.prettyprinter.golden +12/−1
- tests/examples/ConstraintKinds2.hs +6/−0
- tests/examples/ConstraintKinds2.hs.exactprinter.golden +1/−0
- tests/examples/ConstraintKinds2.hs.parser.golden +216/−0
- tests/examples/ConstraintKinds2.hs.prettyparser.golden +1/−0
- tests/examples/ConstraintKinds2.hs.prettyprinter.golden +6/−0
- tests/examples/ConstraintKinds3.hs +7/−0
- tests/examples/ConstraintKinds3.hs.exactprinter.golden +1/−0
- tests/examples/ConstraintKinds3.hs.parser.golden +246/−0
- tests/examples/ConstraintKinds3.hs.prettyparser.golden +1/−0
- tests/examples/ConstraintKinds3.hs.prettyprinter.golden +5/−0
- tests/examples/ConstructorAndClassOperators.hs +5/−0
- tests/examples/ConstructorAndClassOperators.hs.exactprinter.golden +6/−0
- tests/examples/ConstructorAndClassOperators.hs.parser.golden +354/−0
- tests/examples/ConstructorAndClassOperators.hs.prettyparser.golden +1/−0
- tests/examples/ConstructorAndClassOperators.hs.prettyprinter.golden +5/−0
- tests/examples/ContextOrdering.hs +5/−0
- tests/examples/ContextOrdering.hs.exactprinter.golden +1/−0
- tests/examples/ContextOrdering.hs.parser.golden +208/−0
- tests/examples/ContextOrdering.hs.prettyparser.golden +1/−0
- tests/examples/ContextOrdering.hs.prettyprinter.golden +5/−0
- tests/examples/CxtWhitespace.hs.exactprinter.golden +1/−7
- tests/examples/CxtWhitespace.hs.parser.golden +268/−1
- tests/examples/CxtWhitespace.hs.prettyprinter.golden +1/−3
- tests/examples/DataHeadParen.hs.parser.golden +129/−1
- tests/examples/DataHeadParen.hs.prettyprinter.golden +2/−2
- tests/examples/DataKinds.hs +14/−1
- tests/examples/DataKinds.hs.parser.golden +1523/−1
- tests/examples/DataKinds.hs.prettyprinter.golden +18/−9
- tests/examples/DataKinds2.hs +9/−0
- tests/examples/DataKinds2.hs.exactprinter.golden +1/−0
- tests/examples/DataKinds2.hs.parser.golden +283/−0
- tests/examples/DataKinds2.hs.prettyparser.golden +1/−0
- tests/examples/DataKinds2.hs.prettyprinter.golden +9/−0
- tests/examples/DefaultSignatures.hs +5/−0
- tests/examples/DefaultSignatures.hs.exactprinter.golden +1/−0
- tests/examples/DefaultSignatures.hs.parser.golden +441/−0
- tests/examples/DefaultSignatures.hs.prettyparser.golden +1/−0
- tests/examples/DefaultSignatures.hs.prettyprinter.golden +7/−0
- tests/examples/DeriveGeneric.hs +4/−0
- tests/examples/DeriveGeneric.hs.exactprinter.golden +1/−0
- tests/examples/DeriveGeneric.hs.parser.golden +239/−0
- tests/examples/DeriveGeneric.hs.prettyparser.golden +1/−0
- tests/examples/DeriveGeneric.hs.prettyprinter.golden +5/−0
- tests/examples/DerivingParen.hs +2/−0
- tests/examples/DerivingParen.hs.exactprinter.golden +1/−0
- tests/examples/DerivingParen.hs.parser.golden +177/−0
- tests/examples/DerivingParen.hs.prettyparser.golden +1/−0
- tests/examples/DerivingParen.hs.prettyprinter.golden +3/−0
- tests/examples/DerivingStrategies.hs +18/−0
- tests/examples/DerivingStrategies.hs.exactprinter.golden +1/−0
- tests/examples/DerivingStrategies.hs.parser.golden +849/−0
- tests/examples/DerivingStrategies.hs.prettyparser.golden +1/−0
- tests/examples/DerivingStrategies.hs.prettyprinter.golden +21/−0
- tests/examples/DerivingVia.hs +459/−0
- tests/examples/DerivingVia.hs.exactprinter.golden +460/−0
- tests/examples/DerivingVia.hs.parser.golden +32882/−0
- tests/examples/DerivingVia.hs.prettyparser.golden +1/−0
- tests/examples/DerivingVia.hs.prettyprinter.golden +418/−0
- tests/examples/DerivingVia2.hs +41/−0
- tests/examples/DerivingVia2.hs.exactprinter.golden +42/−0
- tests/examples/DerivingVia2.hs.parser.golden +2346/−0
- tests/examples/DerivingVia2.hs.prettyparser.golden +1/−0
- tests/examples/DerivingVia2.hs.prettyprinter.golden +47/−0
- tests/examples/DerivingViaStealing.hs +5/−0
- tests/examples/DerivingViaStealing.hs.exactprinter.golden +1/−0
- tests/examples/DerivingViaStealing.hs.parser.golden +201/−0
- tests/examples/DerivingViaStealing.hs.prettyparser.golden +1/−0
- tests/examples/DerivingViaStealing.hs.prettyprinter.golden +4/−0
- tests/examples/Directory.hs.parser.golden +29264/−1
- tests/examples/Directory.hs.prettyprinter.golden +44/−47
- tests/examples/DoRec.hs.exactprinter.golden +1/−1
- tests/examples/DoRec.hs.parser.golden +177/−1
- tests/examples/DoRec.hs.prettyparser.golden +1/−1
- tests/examples/DoRec.hs.prettyprinter.golden +4/−1
- tests/examples/DoubleHashOp.hs.parser.golden +317/−1
- tests/examples/DoubleHashOp.hs.prettyprinter.golden +2/−2
- tests/examples/DsStrictData.hs +48/−0
- tests/examples/DsStrictData.hs.exactprinter.golden +1/−0
- tests/examples/DsStrictData.hs.parser.golden +3591/−0
- tests/examples/DsStrictData.hs.prettyparser.golden +1/−0
- tests/examples/DsStrictData.hs.prettyprinter.golden +45/−0
- tests/examples/EmptyAnn.hs.parser.golden +49/−1
- tests/examples/EmptyAnn.hs.prettyprinter.golden +0/−1
- tests/examples/EmptyCase.hs +6/−0
- tests/examples/EmptyCase.hs.exactprinter.golden +1/−0
- tests/examples/EmptyCase.hs.parser.golden +159/−0
- tests/examples/EmptyCase.hs.prettyparser.golden +1/−0
- tests/examples/EmptyCase.hs.prettyprinter.golden +4/−0
- tests/examples/EmptyContext.hs.parser.golden +79/−1
- tests/examples/EmptyContext.hs.prettyparser.golden +1/−10
- tests/examples/EmptyContext.hs.prettyprinter.golden +1/−3
- tests/examples/EmptyFunDepPremise.hs.parser.golden +115/−1
- tests/examples/EmptyFunDepPremise.hs.prettyprinter.golden +1/−1
- tests/examples/EmptyInstance.hs.parser.golden +141/−1
- tests/examples/EmptyInstance.hs.prettyprinter.golden +2/−4
- tests/examples/EmptyList.hs.parser.golden +65/−1
- tests/examples/EmptyWhere.hs +1/−0
- tests/examples/EmptyWhere.hs.exactprinter.golden +1/−0
- tests/examples/EmptyWhere.hs.parser.golden +64/−0
- tests/examples/EmptyWhere.hs.prettyparser.golden +1/−0
- tests/examples/EmptyWhere.hs.prettyprinter.golden +2/−0
- tests/examples/EqualityConstraints1.hs +5/−0
- tests/examples/EqualityConstraints1.hs.exactprinter.golden +1/−0
- tests/examples/EqualityConstraints1.hs.parser.golden +178/−0
- tests/examples/EqualityConstraints1.hs.prettyparser.golden +1/−0
- tests/examples/EqualityConstraints1.hs.prettyprinter.golden +4/−0
- tests/examples/EqualityConstraints2.hs +2/−0
- tests/examples/EqualityConstraints2.hs.exactprinter.golden +1/−0
- tests/examples/EqualityConstraints2.hs.parser.golden +3/−0
- tests/examples/EqualityConstraints2.hs.prettyparser.golden +1/−0
- tests/examples/EqualityConstraints2.hs.prettyprinter.golden +1/−0
- tests/examples/ExplicitNamespaces1.hs +4/−0
- tests/examples/ExplicitNamespaces1.hs.exactprinter.golden +1/−0
- tests/examples/ExplicitNamespaces1.hs.parser.golden +237/−0
- tests/examples/ExplicitNamespaces1.hs.prettyparser.golden +1/−0
- tests/examples/ExplicitNamespaces1.hs.prettyprinter.golden +4/−0
- tests/examples/ExplicitNamespaces2.hs +4/−0
- tests/examples/ExplicitNamespaces2.hs.exactprinter.golden +1/−0
- tests/examples/ExplicitNamespaces2.hs.parser.golden +164/−0
- tests/examples/ExplicitNamespaces2.hs.prettyparser.golden +1/−0
- tests/examples/ExplicitNamespaces2.hs.prettyprinter.golden +3/−0
- tests/examples/ExplicitNamespaces3.hs +5/−0
- tests/examples/ExplicitNamespaces3.hs.exactprinter.golden +1/−0
- tests/examples/ExplicitNamespaces3.hs.parser.golden +145/−0
- tests/examples/ExplicitNamespaces3.hs.prettyparser.golden +1/−0
- tests/examples/ExplicitNamespaces3.hs.prettyprinter.golden +4/−0
- tests/examples/ExplicitNamespaces4.hs +5/−0
- tests/examples/ExplicitNamespaces4.hs.exactprinter.golden +6/−0
- tests/examples/ExplicitNamespaces4.hs.parser.golden +171/−0
- tests/examples/ExplicitNamespaces4.hs.prettyparser.golden +1/−0
- tests/examples/ExplicitNamespaces4.hs.prettyprinter.golden +5/−0
- tests/examples/ExprHole.hs +10/−0
- tests/examples/ExprHole.hs.exactprinter.golden +1/−0
- tests/examples/ExprHole.hs.parser.golden +260/−0
- tests/examples/ExprHole.hs.prettyparser.golden +1/−0
- tests/examples/ExprHole.hs.prettyprinter.golden +5/−0
- tests/examples/ExtraEndBrace.hs.exactprinter.golden +1/−1
- tests/examples/ExtraEndBrace.hs.parser.golden +2/−1
- tests/examples/ExtraEndBrace.hs.prettyparser.golden +1/−1
- tests/examples/ExtraEndBrace.hs.prettyprinter.golden +1/−1
- tests/examples/ExtraPrettyParentheses.hs +9/−0
- tests/examples/ExtraPrettyParentheses.hs.exactprinter.golden +1/−0
- tests/examples/ExtraPrettyParentheses.hs.parser.golden +480/−0
- tests/examples/ExtraPrettyParentheses.hs.prettyparser.golden +10/−0
- tests/examples/ExtraPrettyParentheses.hs.prettyprinter.golden +4/−0
- tests/examples/FFIExtensions.hs.parser.golden +234/−1
- tests/examples/FFIExtensions.hs.prettyprinter.golden +3/−3
- tests/examples/FFIInterruptible.hs +3/−0
- tests/examples/FFIInterruptible.hs.exactprinter.golden +1/−0
- tests/examples/FFIInterruptible.hs.parser.golden +83/−0
- tests/examples/FFIInterruptible.hs.prettyparser.golden +1/−0
- tests/examples/FFIInterruptible.hs.prettyprinter.golden +2/−0
- tests/examples/FamilyKindSig.hs.parser.golden +107/−1
- tests/examples/FamilyKindSig.hs.prettyprinter.golden +1/−1
- tests/examples/FamilyVarid.hs.parser.golden +113/−1
- tests/examples/Fixity2.hs +3/−0
- tests/examples/Fixity2.hs.exactprinter.golden +1/−0
- tests/examples/Fixity2.hs.parser.golden +297/−0
- tests/examples/Fixity2.hs.prettyparser.golden +1/−0
- tests/examples/Fixity2.hs.prettyprinter.golden +4/−0
- tests/examples/Fixity3.hs +5/−0
- tests/examples/Fixity3.hs.exactprinter.golden +1/−0
- tests/examples/Fixity3.hs.parser.golden +466/−0
- tests/examples/Fixity3.hs.prettyparser.golden +1/−0
- tests/examples/Fixity3.hs.prettyprinter.golden +5/−0
- tests/examples/FixityTests.hs.parser.golden +343/−1
- tests/examples/FixityTests.hs.prettyprinter.golden +0/−1
- tests/examples/FlexibleContextsWithoutVars.hs +3/−0
- tests/examples/FlexibleContextsWithoutVars.hs.exactprinter.golden +1/−0
- tests/examples/FlexibleContextsWithoutVars.hs.parser.golden +187/−0
- tests/examples/FlexibleContextsWithoutVars.hs.prettyparser.golden +1/−0
- tests/examples/FlexibleContextsWithoutVars.hs.prettyprinter.golden +4/−0
- tests/examples/ForallInInstance.hs.exactprinter.golden +1/−1
- tests/examples/ForallInInstance.hs.parser.golden +195/−1
- tests/examples/ForallInInstance.hs.prettyparser.golden +1/−1
- tests/examples/ForallInInstance.hs.prettyprinter.golden +4/−1
- tests/examples/ForeignImport.hs.parser.golden +212/−1
- tests/examples/ForeignImport.hs.prettyprinter.golden +0/−2
- tests/examples/ForeignImportJavascript.hs +4/−0
- tests/examples/ForeignImportJavascript.hs.exactprinter.golden +1/−0
- tests/examples/ForeignImportJavascript.hs.parser.golden +166/−0
- tests/examples/ForeignImportJavascript.hs.prettyparser.golden +1/−0
- tests/examples/ForeignImportJavascript.hs.prettyprinter.golden +4/−0
- tests/examples/GADTRecord.hs.exactprinter.golden +1/−1
- tests/examples/GADTRecord.hs.parser.golden +128/−1
- tests/examples/GADTRecord.hs.prettyparser.golden +1/−1
- tests/examples/GADTRecord.hs.prettyprinter.golden +4/−1
- tests/examples/GADTRecord2.hs +4/−0
- tests/examples/GADTRecord2.hs.exactprinter.golden +1/−0
- tests/examples/GADTRecord2.hs.parser.golden +137/−0
- tests/examples/GADTRecord2.hs.prettyparser.golden +1/−0
- tests/examples/GADTRecord2.hs.prettyprinter.golden +4/−0
- tests/examples/GadtDeriving.hs.parser.golden +199/−1
- tests/examples/GadtDeriving.hs.prettyprinter.golden +1/−2
- tests/examples/GadtRecordFields.hs +5/−0
- tests/examples/GadtRecordFields.hs.exactprinter.golden +1/−0
- tests/examples/GadtRecordFields.hs.parser.golden +217/−0
- tests/examples/GadtRecordFields.hs.prettyparser.golden +1/−0
- tests/examples/GadtRecordFields.hs.prettyprinter.golden +5/−0
- tests/examples/GadtStrictness.hs +4/−0
- tests/examples/GadtStrictness.hs.exactprinter.golden +1/−0
- tests/examples/GadtStrictness.hs.parser.golden +135/−0
- tests/examples/GadtStrictness.hs.prettyparser.golden +1/−0
- tests/examples/GadtStrictness.hs.prettyprinter.golden +4/−0
- tests/examples/GenericTree.hs.parser.golden +479/−1
- tests/examples/GenericTree.hs.prettyprinter.golden +1/−1
- tests/examples/GhcDeriving.hs.parser.golden +271/−1
- tests/examples/GhcDeriving.hs.prettyprinter.golden +1/−3
- tests/examples/GroupKeyword.hs.parser.golden +210/−1
- tests/examples/HaddockComments.hs +56/−0
- tests/examples/HaddockComments.hs.exactprinter.golden +1/−0
- tests/examples/HaddockComments.hs.parser.golden +983/−0
- tests/examples/HaddockComments.hs.prettyparser.golden +1/−0
- tests/examples/HaddockComments.hs.prettyprinter.golden +20/−0
- tests/examples/HappyDoAction.hs.parser.golden +2443/−1
- tests/examples/HappyDoAction.hs.prettyprinter.golden +2/−2
- tests/examples/HashOperator.hs +6/−0
- tests/examples/HashOperator.hs.exactprinter.golden +1/−0
- tests/examples/HashOperator.hs.parser.golden +237/−0
- tests/examples/HashOperator.hs.prettyparser.golden +1/−0
- tests/examples/HashOperator.hs.prettyprinter.golden +6/−0
- tests/examples/HaskellParser.hs.parser.golden +809/−1
- tests/examples/HaskellParser.hs.prettyprinter.golden +1/−3
- tests/examples/HexPrec.hs.parser.golden +191/−1
- tests/examples/HexPrec.hs.prettyprinter.golden +2/−2
- tests/examples/IfThenElseLayout.hs.parser.golden +866/−1
- tests/examples/IfThenElseLayout.hs.prettyprinter.golden +1/−1
- tests/examples/IllDataTypeDecl.hs +1/−1
- tests/examples/IllDataTypeDecl.hs.exactprinter.golden +1/−1
- tests/examples/IllDataTypeDecl.hs.parser.golden +162/−1
- tests/examples/IllDataTypeDecl.hs.prettyparser.golden +1/−1
- tests/examples/IllDataTypeDecl.hs.prettyprinter.golden +4/−1
- tests/examples/ImplicitWhereBlocks.hs +6/−0
- tests/examples/ImplicitWhereBlocks.hs.exactprinter.golden +1/−0
- tests/examples/ImplicitWhereBlocks.hs.parser.golden +201/−0
- tests/examples/ImplicitWhereBlocks.hs.prettyparser.golden +1/−0
- tests/examples/ImplicitWhereBlocks.hs.prettyprinter.golden +4/−0
- tests/examples/ImportQualifiedPost.hs +4/−0
- tests/examples/ImportQualifiedPost.hs.exactprinter.golden +1/−0
- tests/examples/ImportQualifiedPost.hs.parser.golden +89/−0
- tests/examples/ImportQualifiedPost.hs.prettyparser.golden +1/−0
- tests/examples/ImportQualifiedPost.hs.prettyprinter.golden +3/−0
- tests/examples/IndentedModule1.hs +3/−0
- tests/examples/IndentedModule1.hs.exactprinter.golden +1/−0
- tests/examples/IndentedModule1.hs.parser.golden +117/−0
- tests/examples/IndentedModule1.hs.prettyparser.golden +1/−0
- tests/examples/IndentedModule1.hs.prettyprinter.golden +3/−0
- tests/examples/IndentedModule2.hs +3/−0
- tests/examples/IndentedModule2.hs.exactprinter.golden +1/−0
- tests/examples/IndentedModule2.hs.parser.golden +119/−0
- tests/examples/IndentedModule2.hs.prettyparser.golden +1/−0
- tests/examples/IndentedModule2.hs.prettyprinter.golden +3/−0
- tests/examples/IndentedTopLevelWhere.hs.exactprinter.golden +1/−1
- tests/examples/IndentedTopLevelWhere.hs.parser.golden +3/−1
- tests/examples/IndentedTopLevelWhere.hs.prettyparser.golden +1/−1
- tests/examples/IndentedTopLevelWhere.hs.prettyprinter.golden +1/−1
- tests/examples/IndentedWhere.hs.parser.golden +148/−1
- tests/examples/IndentedWhere.hs.prettyprinter.golden +1/−3
- tests/examples/IndentedWhereBlock.hs +1/−1
- tests/examples/IndentedWhereBlock.hs.exactprinter.golden +1/−1
- tests/examples/IndentedWhereBlock.hs.parser.golden +3/−1
- tests/examples/IndentedWhereBlock.hs.prettyparser.golden +1/−1
- tests/examples/IndentedWhereBlock.hs.prettyprinter.golden +1/−1
- tests/examples/InfixApp.hs +2/−0
- tests/examples/InfixApp.hs.exactprinter.golden +1/−0
- tests/examples/InfixApp.hs.parser.golden +94/−0
- tests/examples/InfixApp.hs.prettyparser.golden +1/−0
- tests/examples/InfixApp.hs.prettyprinter.golden +1/−0
- tests/examples/InfixBang.hs +3/−0
- tests/examples/InfixBang.hs.exactprinter.golden +1/−0
- tests/examples/InfixBang.hs.parser.golden +122/−0
- tests/examples/InfixBang.hs.prettyparser.golden +1/−0
- tests/examples/InfixBang.hs.prettyprinter.golden +2/−0
- tests/examples/InfixFunBind.hs +1/−0
- tests/examples/InfixFunBind.hs.exactprinter.golden +1/−0
- tests/examples/InfixFunBind.hs.parser.golden +79/−0
- tests/examples/InfixFunBind.hs.prettyparser.golden +1/−0
- tests/examples/InfixFunBind.hs.prettyprinter.golden +1/−0
- tests/examples/InfixParser.hs.parser.golden +490/−1
- tests/examples/InfixParser.hs.prettyprinter.golden +2/−2
- tests/examples/InfixTypeMinus.hs +8/−0
- tests/examples/InfixTypeMinus.hs.exactprinter.golden +1/−0
- tests/examples/InfixTypeMinus.hs.parser.golden +1346/−0
- tests/examples/InfixTypeMinus.hs.prettyparser.golden +1/−0
- tests/examples/InfixTypeMinus.hs.prettyprinter.golden +14/−0
- tests/examples/InjectiveTypeFamilies.hs +255/−0
- tests/examples/InjectiveTypeFamilies.hs.exactprinter.golden +1/−0
- tests/examples/InjectiveTypeFamilies.hs.parser.golden +15848/−0
- tests/examples/InjectiveTypeFamilies.hs.prettyparser.golden +1/−0
- tests/examples/InjectiveTypeFamilies.hs.prettyprinter.golden +253/−0
- tests/examples/InlineConlike.hs +3/−0
- tests/examples/InlineConlike.hs.exactprinter.golden +1/−0
- tests/examples/InlineConlike.hs.parser.golden +104/−0
- tests/examples/InlineConlike.hs.prettyparser.golden +1/−0
- tests/examples/InlineConlike.hs.prettyprinter.golden +4/−0
- tests/examples/InstanceSigs.hs +9/−0
- tests/examples/InstanceSigs.hs.exactprinter.golden +1/−0
- tests/examples/InstanceSigs.hs.parser.golden +571/−0
- tests/examples/InstanceSigs.hs.prettyparser.golden +1/−0
- tests/examples/InstanceSigs.hs.prettyprinter.golden +9/−0
- tests/examples/LambdaCase.hs.parser.golden +254/−1
- tests/examples/LanguagePragma.hs +4/−0
- tests/examples/LanguagePragma.hs.exactprinter.golden +1/−0
- tests/examples/LanguagePragma.hs.parser.golden +92/−0
- tests/examples/LanguagePragma.hs.prettyparser.golden +1/−0
- tests/examples/LanguagePragma.hs.prettyprinter.golden +2/−0
- tests/examples/Lib.hs +17/−0
- tests/examples/Lib.hs.exactprinter.golden +1/−0
- tests/examples/Lib.hs.parser.golden +672/−0
- tests/examples/Lib.hs.prettyparser.golden +1/−0
- tests/examples/Lib.hs.prettyprinter.golden +16/−0
- tests/examples/LineOptionsPragma.hs.parser.golden +52/−1
- tests/examples/LineOptionsPragma.hs.prettyprinter.golden +1/−1
- tests/examples/List2.hs +35/−0
- tests/examples/List2.hs.exactprinter.golden +36/−0
- tests/examples/List2.hs.parser.golden +427/−0
- tests/examples/List2.hs.prettyparser.golden +1/−0
- tests/examples/List2.hs.prettyprinter.golden +22/−0
- tests/examples/MagicHashN.hs +7/−0
- tests/examples/MagicHashN.hs.exactprinter.golden +1/−0
- tests/examples/MagicHashN.hs.parser.golden +262/−0
- tests/examples/MagicHashN.hs.prettyparser.golden +1/−0
- tests/examples/MagicHashN.hs.prettyprinter.golden +6/−0
- tests/examples/MagicHashUnboxedTuples.hs +6/−0
- tests/examples/MagicHashUnboxedTuples.hs.exactprinter.golden +1/−0
- tests/examples/MagicHashUnboxedTuples.hs.parser.golden +286/−0
- tests/examples/MagicHashUnboxedTuples.hs.prettyparser.golden +1/−0
- tests/examples/MagicHashUnboxedTuples.hs.prettyprinter.golden +5/−0
- tests/examples/MinimalPragma.hs +7/−0
- tests/examples/MinimalPragma.hs.exactprinter.golden +1/−0
- tests/examples/MinimalPragma.hs.parser.golden +581/−0
- tests/examples/MinimalPragma.hs.prettyparser.golden +1/−0
- tests/examples/MinimalPragma.hs.prettyprinter.golden +8/−0
- tests/examples/MultiCtxt.hs.parser.golden +231/−1
- tests/examples/MultiCtxt.hs.prettyprinter.golden +2/−2
- tests/examples/MultiLinePragma.hs +14/−0
- tests/examples/MultiLinePragma.hs.exactprinter.golden +1/−0
- tests/examples/MultiLinePragma.hs.parser.golden +145/−0
- tests/examples/MultiLinePragma.hs.prettyparser.golden +1/−0
- tests/examples/MultiLinePragma.hs.prettyprinter.golden +15/−0
- tests/examples/MultiParam.hs +4/−0
- tests/examples/MultiParam.hs.exactprinter.golden +1/−0
- tests/examples/MultiParam.hs.parser.golden +215/−0
- tests/examples/MultiParam.hs.prettyparser.golden +1/−0
- tests/examples/MultiParam.hs.prettyprinter.golden +4/−0
- tests/examples/MultiWayIf.hs +19/−0
- tests/examples/MultiWayIf.hs.parser.golden +1685/−1
- tests/examples/MultiWayIf.hs.prettyprinter.golden +29/−7
- tests/examples/NPlusK.hs.parser.golden +97/−1
- tests/examples/NPlusK.hs.prettyprinter.golden +0/−1
- tests/examples/NegPrimWordLiteral.hs.exactprinter.golden +1/−1
- tests/examples/NegPrimWordLiteral.hs.parser.golden +3/−1
- tests/examples/NegPrimWordLiteral.hs.prettyparser.golden +1/−1
- tests/examples/NegPrimWordLiteral.hs.prettyprinter.golden +1/−1
- tests/examples/NegativePatterns.hs +15/−0
- tests/examples/NegativePatterns.hs.exactprinter.golden +1/−0
- tests/examples/NegativePatterns.hs.parser.golden +1052/−0
- tests/examples/NegativePatterns.hs.prettyparser.golden +1/−0
- tests/examples/NegativePatterns.hs.prettyprinter.golden +19/−0
- tests/examples/NestedAsPat.hs.parser.golden +127/−1
- tests/examples/NoStartNumIdents.hs +1/−0
- tests/examples/NoStartNumIdents.hs.exactprinter.golden +1/−0
- tests/examples/NoStartNumIdents.hs.parser.golden +3/−0
- tests/examples/NoStartNumIdents.hs.prettyparser.golden +1/−0
- tests/examples/NoStartNumIdents.hs.prettyprinter.golden +1/−0
- tests/examples/NonDecreasing.hs.exactprinter.golden +1/−1
- tests/examples/NonDecreasing.hs.parser.golden +3/−1
- tests/examples/NonDecreasing.hs.prettyparser.golden +1/−1
- tests/examples/NonDecreasing.hs.prettyprinter.golden +1/−1
- tests/examples/Nounpack2.hs +3/−0
- tests/examples/Nounpack2.hs.exactprinter.golden +1/−0
- tests/examples/Nounpack2.hs.parser.golden +96/−0
- tests/examples/Nounpack2.hs.prettyparser.golden +1/−0
- tests/examples/Nounpack2.hs.prettyprinter.golden +1/−0
- tests/examples/OptionsPragma.hs +2/−0
- tests/examples/OptionsPragma.hs.exactprinter.golden +1/−0
- tests/examples/OptionsPragma.hs.parser.golden +28/−0
- tests/examples/OptionsPragma.hs.prettyparser.golden +1/−0
- tests/examples/OptionsPragma.hs.prettyprinter.golden +1/−0
- tests/examples/Overlapable.hs +6/−0
- tests/examples/Overlapable.hs.exactprinter.golden +1/−0
- tests/examples/Overlapable.hs.parser.golden +176/−0
- tests/examples/Overlapable.hs.prettyparser.golden +1/−0
- tests/examples/Overlapable.hs.prettyprinter.golden +5/−0
- tests/examples/Overlapping.hs +25/−0
- tests/examples/Overlapping.hs.exactprinter.golden +1/−0
- tests/examples/Overlapping.hs.parser.golden +730/−0
- tests/examples/Overlapping.hs.prettyparser.golden +1/−0
- tests/examples/Overlapping.hs.prettyprinter.golden +18/−0
- tests/examples/OverloadedLabels.hs +29/−0
- tests/examples/OverloadedLabels.hs.exactprinter.golden +1/−0
- tests/examples/OverloadedLabels.hs.parser.golden +911/−0
- tests/examples/OverloadedLabels.hs.prettyparser.golden +1/−0
- tests/examples/OverloadedLabels.hs.prettyprinter.golden +21/−0
- tests/examples/PackageImports.hs +5/−0
- tests/examples/PackageImports.hs.exactprinter.golden +1/−0
- tests/examples/PackageImports.hs.parser.golden +100/−0
- tests/examples/PackageImports.hs.prettyparser.golden +1/−0
- tests/examples/PackageImports.hs.prettyprinter.golden +4/−0
- tests/examples/PackageImportsMissing.hs +4/−0
- tests/examples/PackageImportsMissing.hs.exactprinter.golden +1/−0
- tests/examples/PackageImportsMissing.hs.parser.golden +3/−0
- tests/examples/PackageImportsMissing.hs.prettyparser.golden +1/−0
- tests/examples/PackageImportsMissing.hs.prettyprinter.golden +1/−0
- tests/examples/ParallelArrays.hs +6/−0
- tests/examples/ParallelArrays.hs.exactprinter.golden +1/−0
- tests/examples/ParallelArrays.hs.parser.golden +384/−0
- tests/examples/ParallelArrays.hs.prettyparser.golden +1/−0
- tests/examples/ParallelArrays.hs.prettyprinter.golden +4/−0
- tests/examples/ParallelArrays2.hs +4/−0
- tests/examples/ParallelArrays2.hs.exactprinter.golden +1/−0
- tests/examples/ParallelArrays2.hs.parser.golden +2/−0
- tests/examples/ParallelArrays2.hs.prettyparser.golden +1/−0
- tests/examples/ParallelArrays2.hs.prettyprinter.golden +1/−0
- tests/examples/ParallelListComp.hs.parser.golden +402/−1
- tests/examples/ParallelListComp.hs.prettyprinter.golden +0/−1
- tests/examples/ParenFunBind.hs.parser.golden +137/−1
- tests/examples/PartialSignatures.hs +293/−0
- tests/examples/PartialSignatures.hs.exactprinter.golden +1/−0
- tests/examples/PartialSignatures.hs.parser.golden +16739/−0
- tests/examples/PartialSignatures.hs.prettyparser.golden +1/−0
- tests/examples/PartialSignatures.hs.prettyprinter.golden +236/−0
- tests/examples/PatSynFix.hs +3/−0
- tests/examples/PatSynFix.hs.exactprinter.golden +1/−0
- tests/examples/PatSynFix.hs.parser.golden +381/−0
- tests/examples/PatSynFix.hs.prettyparser.golden +1/−0
- tests/examples/PatSynFix.hs.prettyprinter.golden +5/−0
- tests/examples/PatternSplice.hs +6/−0
- tests/examples/PatternSplice.hs.exactprinter.golden +1/−0
- tests/examples/PatternSplice.hs.parser.golden +235/−0
- tests/examples/PatternSplice.hs.prettyparser.golden +1/−0
- tests/examples/PatternSplice.hs.prettyprinter.golden +6/−0
- tests/examples/PatternSynonymImport.hs +5/−0
- tests/examples/PatternSynonymImport.hs.exactprinter.golden +1/−0
- tests/examples/PatternSynonymImport.hs.parser.golden +208/−0
- tests/examples/PatternSynonymImport.hs.prettyparser.golden +1/−0
- tests/examples/PatternSynonymImport.hs.prettyprinter.golden +3/−0
- tests/examples/PatternSynonymSignatures.hs +15/−0
- tests/examples/PatternSynonymSignatures.hs.exactprinter.golden +1/−0
- tests/examples/PatternSynonymSignatures.hs.parser.golden +607/−0
- tests/examples/PatternSynonymSignatures.hs.prettyparser.golden +1/−0
- tests/examples/PatternSynonymSignatures.hs.prettyprinter.golden +13/−0
- tests/examples/PatternSynonyms.hs +16/−0
- tests/examples/PatternSynonyms.hs.exactprinter.golden +1/−0
- tests/examples/PatternSynonyms.hs.parser.golden +575/−0
- tests/examples/PatternSynonyms.hs.prettyparser.golden +1/−0
- tests/examples/PatternSynonyms.hs.prettyprinter.golden +15/−0
- tests/examples/PatternSynonyms2.hs +18/−0
- tests/examples/PatternSynonyms2.hs.exactprinter.golden +1/−0
- tests/examples/PatternSynonyms2.hs.parser.golden +664/−0
- tests/examples/PatternSynonyms2.hs.prettyparser.golden +1/−0
- tests/examples/PatternSynonyms2.hs.prettyprinter.golden +13/−0
- tests/examples/PatternSynonyms3.hs +76/−0
- tests/examples/PatternSynonyms3.hs.exactprinter.golden +1/−0
- tests/examples/PatternSynonyms3.hs.parser.golden +3805/−0
- tests/examples/PatternSynonyms3.hs.prettyparser.golden +1/−0
- tests/examples/PatternSynonyms3.hs.prettyprinter.golden +74/−0
- tests/examples/PolyKindSigs.hs +8/−0
- tests/examples/PolyKindSigs.hs.exactprinter.golden +1/−0
- tests/examples/PolyKindSigs.hs.parser.golden +163/−0
- tests/examples/PolyKindSigs.hs.prettyparser.golden +1/−0
- tests/examples/PolyKindSigs.hs.prettyprinter.golden +6/−0
- tests/examples/PolyKinds.hs +8/−0
- tests/examples/PolyKinds.hs.exactprinter.golden +1/−0
- tests/examples/PolyKinds.hs.parser.golden +437/−0
- tests/examples/PolyKinds.hs.prettyparser.golden +1/−0
- tests/examples/PolyKinds.hs.prettyprinter.golden +12/−0
- tests/examples/Ppr048.hs +10/−0
- tests/examples/Ppr048.hs.exactprinter.golden +1/−0
- tests/examples/Ppr048.hs.parser.golden +2/−0
- tests/examples/Ppr048.hs.prettyparser.golden +1/−0
- tests/examples/Ppr048.hs.prettyprinter.golden +1/−0
- tests/examples/PrimitiveIntHexLiteral.hs.parser.golden +112/−1
- tests/examples/PrimitiveIntHexLiteral.hs.prettyparser.golden +10/−1
- tests/examples/PrimitiveIntHexLiteral.hs.prettyprinter.golden +0/−1
- tests/examples/PromotedSpace.hs +20/−0
- tests/examples/PromotedSpace.hs.exactprinter.golden +1/−0
- tests/examples/PromotedSpace.hs.parser.golden +617/−0
- tests/examples/PromotedSpace.hs.prettyparser.golden +1/−0
- tests/examples/PromotedSpace.hs.prettyprinter.golden +14/−0
- tests/examples/QQType.hs +1/−1
- tests/examples/QQType.hs.exactprinter.golden +1/−1
- tests/examples/QQType.hs.parser.golden +278/−1
- tests/examples/QQType.hs.prettyparser.golden +1/−1
- tests/examples/QQType.hs.prettyprinter.golden +9/−1
- tests/examples/QualifiedDot.hs.parser.golden +87/−1
- tests/examples/QualifiedQQuote.hs +6/−0
- tests/examples/QualifiedQQuote.hs.exactprinter.golden +1/−0
- tests/examples/QualifiedQQuote.hs.parser.golden +145/−0
- tests/examples/QualifiedQQuote.hs.prettyparser.golden +1/−0
- tests/examples/QualifiedQQuote.hs.prettyprinter.golden +5/−0
- tests/examples/QualifiedRecordfieldPuns.hs +3/−0
- tests/examples/QualifiedRecordfieldPuns.hs.exactprinter.golden +1/−0
- tests/examples/QualifiedRecordfieldPuns.hs.parser.golden +143/−0
- tests/examples/QualifiedRecordfieldPuns.hs.prettyparser.golden +1/−0
- tests/examples/QualifiedRecordfieldPuns.hs.prettyprinter.golden +2/−0
- tests/examples/QuantifiedConstraints.hs +4/−0
- tests/examples/QuantifiedConstraints.hs.exactprinter.golden +1/−0
- tests/examples/QuantifiedConstraints.hs.parser.golden +222/−0
- tests/examples/QuantifiedConstraints.hs.prettyparser.golden +1/−0
- tests/examples/QuantifiedConstraints.hs.prettyprinter.golden +4/−0
- tests/examples/QuasiQuoteLines.hs.parser.golden +285/−1
- tests/examples/QuasiQuoteLines.hs.prettyprinter.golden +2/−3
- tests/examples/QuasiQuoteOld.hs.parser.golden +270/−1
- tests/examples/QuasiQuoteOld.hs.prettyprinter.golden +2/−3
- tests/examples/QuasiQuoteQual2.hs +4/−0
- tests/examples/QuasiQuoteQual2.hs.exactprinter.golden +1/−0
- tests/examples/QuasiQuoteQual2.hs.parser.golden +140/−0
- tests/examples/QuasiQuoteQual2.hs.prettyparser.golden +1/−0
- tests/examples/QuasiQuoteQual2.hs.prettyprinter.golden +3/−0
- tests/examples/QuasiQuoteSplice.hs.exactprinter.golden +1/−1
- tests/examples/QuasiQuoteSplice.hs.parser.golden +589/−1
- tests/examples/QuasiQuoteSplice.hs.prettyparser.golden +1/−1
- tests/examples/QuasiQuoteSplice.hs.prettyprinter.golden +9/−1
- tests/examples/QuasiQuoteToplevel.hs.parser.golden +51/−1
- tests/examples/QuasiQuoteToplevel.hs.prettyprinter.golden +1/−2
- tests/examples/QuasiQuoteUnit.hs +5/−0
- tests/examples/QuasiQuoteUnit.hs.exactprinter.golden +1/−0
- tests/examples/QuasiQuoteUnit.hs.parser.golden +139/−0
- tests/examples/QuasiQuoteUnit.hs.prettyparser.golden +1/−0
- tests/examples/QuasiQuoteUnit.hs.prettyprinter.golden +3/−0
- tests/examples/RCategory.hs +45/−0
- tests/examples/RCategory.hs.exactprinter.golden +1/−0
- tests/examples/RCategory.hs.parser.golden +2479/−0
- tests/examples/RCategory.hs.prettyparser.golden +1/−0
- tests/examples/RCategory.hs.prettyprinter.golden +41/−0
- tests/examples/RCategory.lhs +0/−47
- tests/examples/RCategory.lhs.exactprinter.golden +0/−1
- tests/examples/RCategory.lhs.parser.golden +0/−1
- tests/examples/RCategory.lhs.prettyparser.golden +0/−1
- tests/examples/RCategory.lhs.prettyprinter.golden +0/−1
- tests/examples/RCategory2.hs +6/−0
- tests/examples/RCategory2.hs.exactprinter.golden +1/−0
- tests/examples/RCategory2.hs.parser.golden +193/−0
- tests/examples/RCategory2.hs.prettyparser.golden +1/−0
- tests/examples/RCategory2.hs.prettyprinter.golden +5/−0
- tests/examples/RCategory3.hs +5/−0
- tests/examples/RCategory3.hs.exactprinter.golden +1/−0
- tests/examples/RCategory3.hs.parser.golden +222/−0
- tests/examples/RCategory3.hs.prettyparser.golden +1/−0
- tests/examples/RCategory3.hs.prettyprinter.golden +4/−0
- tests/examples/ReadP.hs.parser.golden +245/−1
- tests/examples/ReadP.hs.prettyprinter.golden +1/−2
- tests/examples/RealGHC.lhs.parser.golden too large to diff
- tests/examples/RealGHC.lhs.prettyparser.golden +1/−10
- tests/examples/RealGHC.lhs.prettyprinter.golden +40/−41
- tests/examples/RecordInfixSelector.hs.parser.golden +234/−1
- tests/examples/RecordInfixSelector.hs.prettyprinter.golden +0/−2
- tests/examples/RecordPatternSynonyms.hs +16/−0
- tests/examples/RecordPatternSynonyms.hs.exactprinter.golden +1/−0
- tests/examples/RecordPatternSynonyms.hs.parser.golden +688/−0
- tests/examples/RecordPatternSynonyms.hs.prettyparser.golden +1/−0
- tests/examples/RecordPatternSynonyms.hs.prettyprinter.golden +15/−0
- tests/examples/RecordPuns.hs +1/−0
- tests/examples/RecordPuns.hs.exactprinter.golden +1/−1
- tests/examples/RecordPuns.hs.parser.golden +120/−1
- tests/examples/RecordPuns.hs.prettyparser.golden +1/−1
- tests/examples/RecordPuns.hs.prettyprinter.golden +3/−1
- tests/examples/RecordWildcard.hs +4/−0
- tests/examples/RecordWildcard.hs.exactprinter.golden +1/−0
- tests/examples/RecordWildcard.hs.parser.golden +2/−0
- tests/examples/RecordWildcard.hs.prettyparser.golden +1/−0
- tests/examples/RecordWildcard.hs.prettyprinter.golden +1/−0
- tests/examples/RecordWildcardError.hs +1/−0
- tests/examples/RecordWildcardError.hs.exactprinter.golden +1/−0
- tests/examples/RecordWildcardError.hs.parser.golden +3/−0
- tests/examples/RecordWildcardError.hs.prettyparser.golden +1/−0
- tests/examples/RecordWildcardError.hs.prettyprinter.golden +1/−0
- tests/examples/RecursiveDo.hs +5/−0
- tests/examples/RecursiveDo.hs.exactprinter.golden +1/−0
- tests/examples/RecursiveDo.hs.parser.golden +281/−0
- tests/examples/RecursiveDo.hs.prettyparser.golden +1/−0
- tests/examples/RecursiveDo.hs.prettyprinter.golden +4/−0
- tests/examples/RegularPatterns.hs +9/−0
- tests/examples/RegularPatterns.hs.exactprinter.golden +1/−0
- tests/examples/RegularPatterns.hs.parser.golden +851/−0
- tests/examples/RegularPatterns.hs.prettyparser.golden +1/−0
- tests/examples/RegularPatterns.hs.prettyprinter.golden +9/−0
- tests/examples/RelaxedDo.hs.parser.golden +878/−1
- tests/examples/RelaxedDo.hs.prettyprinter.golden +1/−1
- tests/examples/RoleAnnotations.hs +16/−0
- tests/examples/RoleAnnotations.hs.exactprinter.golden +1/−0
- tests/examples/RoleAnnotations.hs.parser.golden +640/−0
- tests/examples/RoleAnnotations.hs.prettyparser.golden +1/−0
- tests/examples/RoleAnnotations.hs.prettyprinter.golden +22/−0
- tests/examples/RoleAnnotations2.hs +9/−0
- tests/examples/RoleAnnotations2.hs.exactprinter.golden +1/−0
- tests/examples/RoleAnnotations2.hs.parser.golden +379/−0
- tests/examples/RoleAnnotations2.hs.prettyparser.golden +1/−0
- tests/examples/RoleAnnotations2.hs.prettyprinter.golden +9/−0
- tests/examples/Rules.hs +1/−0
- tests/examples/Rules.hs.exactprinter.golden +1/−0
- tests/examples/Rules.hs.parser.golden +321/−0
- tests/examples/Rules.hs.prettyparser.golden +1/−0
- tests/examples/Rules.hs.prettyprinter.golden +4/−0
- tests/examples/SCCPragmas.hs.parser.golden +78/−1
- tests/examples/SafeImports1.hs +2/−0
- tests/examples/SafeImports1.hs.exactprinter.golden +1/−0
- tests/examples/SafeImports1.hs.parser.golden +65/−0
- tests/examples/SafeImports1.hs.prettyparser.golden +1/−0
- tests/examples/SafeImports1.hs.prettyprinter.golden +2/−0
- tests/examples/SafeImports2.hs +2/−0
- tests/examples/SafeImports2.hs.exactprinter.golden +1/−0
- tests/examples/SafeImports2.hs.parser.golden +65/−0
- tests/examples/SafeImports2.hs.prettyparser.golden +1/−0
- tests/examples/SafeImports2.hs.prettyprinter.golden +2/−0
- tests/examples/SafeImports3.hs +2/−0
- tests/examples/SafeImports3.hs.exactprinter.golden +1/−0
- tests/examples/SafeImports3.hs.parser.golden +65/−0
- tests/examples/SafeImports3.hs.prettyparser.golden +1/−0
- tests/examples/SafeImports3.hs.prettyprinter.golden +2/−0
- tests/examples/ScopedTypeVariables.hs.parser.golden +630/−1
- tests/examples/ScopedTypeVariables.hs.prettyprinter.golden +3/−4
- tests/examples/SimpleDeriving.hs.parser.golden +101/−1
- tests/examples/SimpleDeriving.hs.prettyprinter.golden +1/−4
- tests/examples/SingleClassAsst.hs.parser.golden +214/−1
- tests/examples/SingleClassAsst.hs.prettyprinter.golden +1/−1
- tests/examples/SpecializeInstance.hs.parser.golden +813/−1
- tests/examples/SpecializeInstance.hs.prettyprinter.golden +2/−5
- tests/examples/SpecializePhaseControl.hs.parser.golden +1036/−1
- tests/examples/SpecializePhaseControl.hs.prettyprinter.golden +3/−5
- tests/examples/StarInType.hs +5/−0
- tests/examples/StarInType.hs.exactprinter.golden +6/−0
- tests/examples/StarInType.hs.parser.golden +287/−0
- tests/examples/StarInType.hs.prettyparser.golden +1/−0
- tests/examples/StarInType.hs.prettyprinter.golden +8/−0
- tests/examples/T11727.hs +8/−0
- tests/examples/T11727.hs.exactprinter.golden +1/−0
- tests/examples/T11727.hs.parser.golden +180/−0
- tests/examples/T11727.hs.prettyparser.golden +1/−0
- tests/examples/T11727.hs.prettyprinter.golden +8/−0
- tests/examples/T13050.hs +7/−0
- tests/examples/T13050.hs.exactprinter.golden +1/−0
- tests/examples/T13050.hs.parser.golden +439/−0
- tests/examples/T13050.hs.prettyparser.golden +1/−0
- tests/examples/T13050.hs.prettyprinter.golden +6/−0
- tests/examples/T326.hs +4/−0
- tests/examples/T326.hs.exactprinter.golden +1/−0
- tests/examples/T326.hs.parser.golden +116/−0
- tests/examples/T326.hs.prettyparser.golden +1/−0
- tests/examples/T326.hs.prettyprinter.golden +3/−0
- tests/examples/THTSplices.hs +3/−0
- tests/examples/THTSplices.hs.exactprinter.golden +1/−0
- tests/examples/THTSplices.hs.parser.golden +133/−0
- tests/examples/THTSplices.hs.prettyparser.golden +1/−0
- tests/examples/THTSplices.hs.prettyprinter.golden +3/−0
- tests/examples/THTypedSplices.hs +6/−0
- tests/examples/THTypedSplices.hs.exactprinter.golden +7/−0
- tests/examples/THTypedSplices.hs.parser.golden +177/−0
- tests/examples/THTypedSplices.hs.prettyparser.golden +1/−0
- tests/examples/THTypedSplices.hs.prettyprinter.golden +4/−0
- tests/examples/THTypes.hs +1/−1
- tests/examples/THTypes.hs.exactprinter.golden +1/−1
- tests/examples/THTypes.hs.parser.golden +363/−1
- tests/examples/THTypes.hs.prettyparser.golden +1/−1
- tests/examples/THTypes.hs.prettyprinter.golden +12/−1
- tests/examples/TabWhitespace.hs.parser.golden +19/−1
- tests/examples/TabWhitespace.hs.prettyprinter.golden +1/−1
- tests/examples/TemplateHaskellQuotedNames.hs +3/−0
- tests/examples/TemplateHaskellQuotedNames.hs.exactprinter.golden +1/−0
- tests/examples/TemplateHaskellQuotedNames.hs.parser.golden +246/−0
- tests/examples/TemplateHaskellQuotedNames.hs.prettyparser.golden +1/−0
- tests/examples/TemplateHaskellQuotedNames.hs.prettyprinter.golden +3/−0
- tests/examples/TensorTests.hs +20/−0
- tests/examples/TensorTests.hs.exactprinter.golden +1/−0
- tests/examples/TensorTests.hs.parser.golden +965/−0
- tests/examples/TensorTests.hs.prettyparser.golden +1/−0
- tests/examples/TensorTests.hs.prettyprinter.golden +18/−0
- tests/examples/Testing.hs.parser.golden +89/−1
- tests/examples/Testing.hs.prettyprinter.golden +0/−1
- tests/examples/TrailingWhere.hs +5/−0
- tests/examples/TrailingWhere.hs.exactprinter.golden +1/−0
- tests/examples/TrailingWhere.hs.parser.golden +148/−0
- tests/examples/TrailingWhere.hs.prettyparser.golden +1/−0
- tests/examples/TrailingWhere.hs.prettyprinter.golden +4/−0
- tests/examples/TrailingWhere2.hs +6/−0
- tests/examples/TrailingWhere2.hs.exactprinter.golden +1/−0
- tests/examples/TrailingWhere2.hs.parser.golden +231/−0
- tests/examples/TrailingWhere2.hs.prettyparser.golden +1/−0
- tests/examples/TrailingWhere2.hs.prettyprinter.golden +6/−0
- tests/examples/TrailingWhere3.hs +3/−0
- tests/examples/TrailingWhere3.hs.exactprinter.golden +1/−0
- tests/examples/TrailingWhere3.hs.parser.golden +178/−0
- tests/examples/TrailingWhere3.hs.prettyparser.golden +1/−0
- tests/examples/TrailingWhere3.hs.prettyprinter.golden +4/−0
- tests/examples/TupleSections.hs.parser.golden +138/−1
- tests/examples/TupleSections.hs.prettyprinter.golden +0/−1
- tests/examples/TyQuasiQuote.hs +3/−0
- tests/examples/TyQuasiQuote.hs.exactprinter.golden +1/−0
- tests/examples/TyQuasiQuote.hs.parser.golden +109/−0
- tests/examples/TyQuasiQuote.hs.prettyparser.golden +1/−0
- tests/examples/TyQuasiQuote.hs.prettyprinter.golden +4/−0
- tests/examples/TySplice.hs +4/−0
- tests/examples/TySplice.hs.exactprinter.golden +1/−0
- tests/examples/TySplice.hs.parser.golden +191/−0
- tests/examples/TySplice.hs.prettyparser.golden +1/−0
- tests/examples/TySplice.hs.prettyprinter.golden +5/−0
- tests/examples/TySplice2.hs +4/−0
- tests/examples/TySplice2.hs.exactprinter.golden +1/−0
- tests/examples/TySplice2.hs.parser.golden +129/−0
- tests/examples/TySplice2.hs.prettyparser.golden +1/−0
- tests/examples/TySplice2.hs.prettyprinter.golden +4/−0
- tests/examples/TySplice3.hs +2/−0
- tests/examples/TySplice3.hs.exactprinter.golden +1/−0
- tests/examples/TySplice3.hs.parser.golden +46/−0
- tests/examples/TySplice3.hs.prettyparser.golden +1/−0
- tests/examples/TySplice3.hs.prettyprinter.golden +3/−0
- tests/examples/TySplice4.hs +5/−0
- tests/examples/TySplice4.hs.exactprinter.golden +1/−0
- tests/examples/TySplice4.hs.parser.golden +309/−0
- tests/examples/TySplice4.hs.prettyparser.golden +1/−0
- tests/examples/TySplice4.hs.prettyprinter.golden +9/−0
- tests/examples/TypeEqualityParen.hs +3/−0
- tests/examples/TypeEqualityParen.hs.exactprinter.golden +1/−0
- tests/examples/TypeEqualityParen.hs.parser.golden +260/−0
- tests/examples/TypeEqualityParen.hs.prettyparser.golden +1/−0
- tests/examples/TypeEqualityParen.hs.prettyprinter.golden +4/−0
- tests/examples/TypeErrorMessage.hs +1/−0
- tests/examples/TypeErrorMessage.hs.exactprinter.golden +1/−0
- tests/examples/TypeErrorMessage.hs.parser.golden +3/−0
- tests/examples/TypeErrorMessage.hs.prettyparser.golden +1/−0
- tests/examples/TypeErrorMessage.hs.prettyprinter.golden +1/−0
- tests/examples/TypeFunctions.hs.parser.golden +244/−1
- tests/examples/TypeFunctions.hs.prettyprinter.golden +3/−4
- tests/examples/TypeInstances.hs +7/−0
- tests/examples/TypeInstances.hs.exactprinter.golden +1/−0
- tests/examples/TypeInstances.hs.parser.golden +249/−0
- tests/examples/TypeInstances.hs.prettyparser.golden +1/−0
- tests/examples/TypeInstances.hs.prettyprinter.golden +6/−0
- tests/examples/TypeListCons.hs +7/−0
- tests/examples/TypeListCons.hs.exactprinter.golden +1/−0
- tests/examples/TypeListCons.hs.parser.golden +426/−0
- tests/examples/TypeListCons.hs.prettyparser.golden +1/−0
- tests/examples/TypeListCons.hs.prettyprinter.golden +8/−0
- tests/examples/TypeOperatorAsVariable.hs.parser.golden +159/−1
- tests/examples/TypeOperatorAsVariable.hs.prettyprinter.golden +2/−3
- tests/examples/TypeOperatorsTest.hs.parser.golden +242/−1
- tests/examples/TypeOperatorsTest.hs.prettyprinter.golden +2/−3
- tests/examples/UnboxedSingleton.hs.parser.golden +113/−1
- tests/examples/UnboxedSingleton.hs.prettyprinter.golden +1/−2
- tests/examples/UnboxedTuples.hs.parser.golden +365/−1
- tests/examples/UnboxedTuples.hs.prettyprinter.golden +4/−5
- tests/examples/Unicode.hs.parser.golden +7749/−1
- tests/examples/Unicode.hs.prettyprinter.golden +9/−9
- tests/examples/Unicode2.hs +3/−0
- tests/examples/Unicode2.hs.exactprinter.golden +1/−0
- tests/examples/Unicode2.hs.parser.golden +134/−0
- tests/examples/Unicode2.hs.prettyparser.golden +1/−0
- tests/examples/Unicode2.hs.prettyprinter.golden +2/−0
- tests/examples/UnicodeArrow.hs +8/−0
- tests/examples/UnicodeArrow.hs.exactprinter.golden +9/−0
- tests/examples/UnicodeArrow.hs.parser.golden +271/−0
- tests/examples/UnicodeArrow.hs.prettyparser.golden +1/−0
- tests/examples/UnicodeArrow.hs.prettyprinter.golden +8/−0
- tests/examples/UnicodeIdents.hs +2/−0
- tests/examples/UnicodeIdents.hs.exactprinter.golden +1/−0
- tests/examples/UnicodeIdents.hs.parser.golden +155/−0
- tests/examples/UnicodeIdents.hs.prettyparser.golden +1/−0
- tests/examples/UnicodeIdents.hs.prettyprinter.golden +2/−0
- tests/examples/UnicodeRelation.hs +19/−0
- tests/examples/UnicodeRelation.hs.exactprinter.golden +20/−0
- tests/examples/UnicodeRelation.hs.parser.golden +1637/−0
- tests/examples/UnicodeRelation.hs.prettyparser.golden +1/−0
- tests/examples/UnicodeRelation.hs.prettyprinter.golden +18/−0
- tests/examples/UnicodeSubscript.hs +13/−0
- tests/examples/UnicodeSubscript.hs.exactprinter.golden +14/−0
- tests/examples/UnicodeSubscript.hs.parser.golden +1036/−0
- tests/examples/UnicodeSubscript.hs.prettyparser.golden +1/−0
- tests/examples/UnicodeSubscript.hs.prettyprinter.golden +11/−0
- tests/examples/UnicodeSuperscript.hs +7/−0
- tests/examples/UnicodeSuperscript.hs.exactprinter.golden +8/−0
- tests/examples/UnicodeSuperscript.hs.parser.golden +498/−0
- tests/examples/UnicodeSuperscript.hs.prettyparser.golden +1/−0
- tests/examples/UnicodeSuperscript.hs.prettyprinter.golden +7/−0
- tests/examples/UnicodeSyntax.hs.parser.golden +678/−1
- tests/examples/UnicodeSyntax.hs.prettyprinter.golden +3/−3
- tests/examples/UnindentedPragmaClose.hs.parser.golden +114/−1
- tests/examples/UnindentedPragmaClose.hs.prettyprinter.golden +1/−2
- tests/examples/Unpack.hs.exactprinter.golden +1/−1
- tests/examples/Unpack.hs.parser.golden +274/−1
- tests/examples/Unpack.hs.prettyparser.golden +1/−1
- tests/examples/Unpack.hs.prettyprinter.golden +6/−1
- tests/examples/ViewPatterns.hs +5/−0
- tests/examples/ViewPatterns.hs.exactprinter.golden +1/−0
- tests/examples/ViewPatterns.hs.parser.golden +229/−0
- tests/examples/ViewPatterns.hs.prettyparser.golden +1/−0
- tests/examples/ViewPatterns.hs.prettyprinter.golden +3/−0
- tests/examples/Vta1.hs +95/−0
- tests/examples/Vta1.hs.exactprinter.golden +1/−0
- tests/examples/Vta1.hs.parser.golden +5436/−0
- tests/examples/Vta1.hs.prettyparser.golden +1/−0
- tests/examples/Vta1.hs.prettyprinter.golden +79/−0
- tests/examples/Vta2.hs +14/−0
- tests/examples/Vta2.hs.exactprinter.golden +1/−0
- tests/examples/Vta2.hs.parser.golden +992/−0
- tests/examples/Vta2.hs.prettyparser.golden +1/−0
- tests/examples/Vta2.hs.prettyprinter.golden +12/−0
- tests/examples/WhereBlock.hs.parser.golden +299/−1
- tests/examples/WhereBlock.hs.prettyprinter.golden +0/−1
- tests/examples/WildcardTyFam.hs +4/−0
- tests/examples/WildcardTyFam.hs.exactprinter.golden +1/−0
- tests/examples/WildcardTyFam.hs.parser.golden +122/−0
- tests/examples/WildcardTyFam.hs.prettyparser.golden +1/−0
- tests/examples/WildcardTyFam.hs.prettyprinter.golden +4/−0
- tests/examples/brackets.hs +44/−0
- tests/examples/brackets.hs.exactprinter.golden +1/−0
- tests/examples/brackets.hs.parser.golden +2/−0
- tests/examples/brackets.hs.prettyparser.golden +1/−0
- tests/examples/brackets.hs.prettyprinter.golden +1/−0
- tests/examples/completesig01.hs +23/−0
- tests/examples/completesig01.hs.exactprinter.golden +1/−0
- tests/examples/completesig01.hs.parser.golden +681/−0
- tests/examples/completesig01.hs.prettyparser.golden +1/−0
- tests/examples/completesig01.hs.prettyprinter.golden +27/−0
- tests/examples/t403.hs +9/−0
- tests/examples/t403.hs.exactprinter.golden +10/−0
- tests/examples/t403.hs.parser.golden +520/−0
- tests/examples/t403.hs.prettyparser.golden +1/−0
- tests/examples/t403.hs.prettyprinter.golden +11/−0
- tests/examples/t412.hs +8/−0
- tests/examples/t412.hs.exactprinter.golden +1/−0
- tests/examples/t412.hs.parser.golden +166/−0
- tests/examples/t412.hs.prettyparser.golden +1/−0
- tests/examples/t412.hs.prettyprinter.golden +5/−0
CHANGELOG view
@@ -1,3 +1,254 @@+1.23.1 --> 1.24.0+=================+* Support ImportQualifiedPost (#477)+ - Technically breaking change: KnownExtension gained a new constructor ImportQualifiedPost+* Fix pretty printing of promoted list/tuple with space padding (#423)+* Fix lexing of operator symbols like @: when TypeApplications is enabled (#430)+* Read files strictly before closing to prevent resource leaks (#460)+* Add Safe Haskell annotations to many modules (#465)+* Remove noncanonical return and mappend definitions (#481)+* Solve some compiler warnings (#464)+* Performance optimization: use strict accumulators in lexString and parseInteger (#479)+++1.23.0 --> 1.23.1+=================+* show instance for SrcLoc and SrcSpan renders "(-1)" instead of "-1"+* Allow empty closed type families (#452)+++1.22.0 --> 1.23.0+=================+* Add support for BlockArguments (#444)+ - Technically breaking change: KnownExtension gained a new constructor BlockArguments+* Add support for Arrow Brackets (#445)+ - Tecnically breaking change: Exp gained new constructor ArrOp++1.21.1 --> 1.22.0+=================+* Support QuantifiedConstraints (#427)+ - Breaking change: constructors for PAsst changed+ - Technically breaking change: KnownExtention gained a new constructor QuantifiedConstraints+* Support Template Haskell typed splices and quotations (#432)+ - Breaking change: new constructors on Token data type+* Fix unicode identifier parsing (#442)++1.21.0 --> 1.21.1+=================+* GHC 8.8.1 compatibility (MonadFail)++1.20.3 --> 1.21.0+=================+* DerivingVia (#420)+* TypeInType (#414)+* Parse TH-quoted list constructor (#415)++1.20.2 --> 1.20.3+=================+* GHC 8.6.1 compatability (MonadFail)+* Remove cpphs dependency++1.20.1 --> 1.20.2+=================+* Add fixity of (&)+* GHC 8.4.1 compatability++1.20.0 --> 1.20.1+===================+* Fix two test failures++1.19.1 --> 1.20.0+===================++* GHC 8.2 updates+* Add some missing Generics instances (#380)+* Support Template Haskell pattern splices (#352)+* Fix overloaded labels starting with _ (#362)+* Relax MultiParamTypeClass check (#333)+* DeriveAnyClass (#337)+* Deriving Strategies (#387)+* OVERLAPS/OVERLAPPING/OVERLAPPABLE pragmas+* Unboxed Sums+* Expression holes in infix expressions+* Support multiple pattern synonyms per pattern synonym signature+* COMPLETE pragmas+* Fix #309, remove unnecessary semi-colon from pretty printer+* Refine ExplicitNamespaces to properly export type operators++1.19.0 --> 1.19.1+===================++* Revert making fields of `SrcLoc` strict. (#340)+++1.18.2 --> 1.19.0+===================++* Add JavaScriptFFI to known extensions (#335)+* Remove space when pretty printing `SrcLoc`. (#307)+* Don't reverse arguments in a context. (#328)+* Add support for EmptyCase extension (#255)+++1.18.1 --> 1.18.2+===================++* Fix overzealous lexing of type applications++1.18.0 --> 1.18.1+===================++* Fix overzealous lexing of overloaded labels.+++1.17.1 --> 1.18.0+===================++* Remove simplified AST+* GHC 8.0 update: Overloaded labels, type applications, pattern synonym+extensions, StrictData, injective type families++AST changes:++* Add TyQuasiQuote (#279).++Other changes:++* Only treat 'role' as a keyword in certain contexts (#286).+* Prettyprint '!' in patterns correctly when BangPatterns are enabled (#287).+* Parse magic hash with multiple trailing hashes (#300).+* Apply fixities inside pattern synonym builders+* Fix lexing of idents with multiple trailing #++** 1.17.x++1.17.0 --> 1.17.1+=================++Bug Fix:++* Fix bug in parsing view patterns (#284)++1.16.0.1 --> 1.17.0+===================++AST changes:++* Replaced VarA with AppA in Asst (#168).+* Promoted list/tuple members changed from Promoted to Type (#162).+* Update PatBind, Match, and Alt from containing Binds to Maybe Binds to+ distinguish between empty where clauses and where clauses with no+ binds (#244).+* Add RoleAnnotDecl and Role to support Role annotations (#215).+* Move NameSpace field from EVar/IVar to EAbs/IAbs.++Other changes:++* Add standalone parsers for ImportDecl.+* Fix pretty-printer bugs for HaRP (#160).+* Insert parentheses when pretty-printing non-atomic bang types (#169).+* Un-reverse confusion of left and right arrow (#175).+* Prettyprint option pragmas like 1.15 (#172).+* Conditionally insert lines when pretty-printing declarations (#171).+* Distinguish deriving (Show) from deriving Show (#189).+* Allow parsing of unicode subscript and superscript functions (#173).+* Pretty print unboxed tuples with spaces (#193).+* Improve performance when parsing long extension lists (#200).+* Properly pretty print constructor and class operators (#204).+* Read Haskell source files as UTF-8 (#223).+* Fix ExplicitNamespaces parsing (#216).+* PolyKinds implies KindSignatures (#220).+* Preserve location information for infix binds (#205).+* Preserve positional information in checkPattern (#231).+* Maintain correct line numbers when parsing multiline GHC_OPTIONS (#218).+* Correctly parse "*" with TypeOperators (#81).+* Export the "pretty" method (#222).+* Add javascript calling convention for foreign imports (#236).+* Add non-greedy parsers for module heads (#191).+* Add a flag to disable arity checking when parsing (#260).+* Parse "-" in type signatures (#206).+* Add support for type wildcards and expression holes (#252).+* Add support for Pattern Synonyms (#197).+* Bump the happy lower bound (#250).+* Make test suite pass on GHC 7.12 (#224).+* Support linking Haddock comments to AST nodes (#213).+* Parse multiline LANGUAGE pragmas (#217).+* Parse trailing where (#25).+* Parse modules starting with pragmas and indented+ "module" keyword (#122).+* Use pretty-show to get human readable test outputs.+* Respect fixity declarations inside where/let/class in+ `applyFixities` (#212).+* Correctly parse the combination of view patterns and bang patterns. (#276)++** 1.16.x++1.16.0 --> 1.16.0.1+===================++Include generated InternalParser.hs in the release tarball+(See http://ro-che.info/articles/2014-03-08-happy-alex-ghc-7.8 for details)++1.15.0.1 --> 1.16.0+===================++New language features:++* DoRec+* Closed type families+* GADT records+* ExplicitNamespaces+* Type equality constraints+* PolyKinds+* DataKinds+* Default associated types+* Instance signatures+* OVERLAP pragma+* Parallel arrays+* MINIMAL pragma+* Default signatures+* Safe Haskell+* Binary literals+* Qualified record puns+* Type splices++AST changes:++* PatBind no longer contains the optional Maybe Type field. The type+ signature is now represented as part of the pattern (PatTypeSig)+* GuardedAlt and GuardedAlts types are replaced with the isomorphic+ GuardedRhs and Rhs types+* Move parentheses from the Context to Asst type+* Change DeclHead and InstHead to make it possible to represent+ various ways to put parentheses around parts of declarations. Introduce a new+ type InstRule for the same purpose.+* Change representation of negated patterns+* Make strictness annotations on data type fields part of those fields' Type++Notable bug fixes:++* Allow statements, and not just expression, in MultiWayIf conditions+* Allow equality constraints when GADTs are enabled+* Fix parsing and printing of pragma modifiers, such as CONLIKE+* Don't treat 'capi' or 'interruptible' as a keyword except after 'foreign'+* Let ImpredicativeTypes imply ExplicitForAll+* Let RecursiveDo enable 'rec' keyword+* Fix pretty-printing of the unary minus sign+* Do not require FlexibleContexts for things like Ord (i Int) => ...+* Fix pretty-printing of deriving clauses+* Parse "Constraint" as a kind with ConstraintKinds enabled+* Support qualified quasi-quoters+* Enable ScopedTypeVariables when parsing rules+* Only permit record wildcards in last position+* Allow n-parameter infix data declaration heads++Other changes:++* Expose showToken from Language.Haskell.Exts.Lexer+* Show instance for SrcLoc and SrcSpan are changed (now they do not contain+* field names)+* Add DeriveGeneric to known extensions+ ** 1.15.x 1.15.0 --> 1.15.0.1@@ -35,16 +286,16 @@ * Modernize the Extension datatype in L.H.E.Extension, following the lead of Cabal, to allow negative and positive extension modifiers (turning- features on and off). You need to worry about backwards-incompatible + features on and off). You need to worry about backwards-incompatible changes if any of the following pertains to you: 1) If you use the Extension datatype programmatically - it has changed significantly (see documentation). 2) The ParseMode record now has one more field (baseLanguage :: Language), which might give you a type error. 3) The behavior of the (extensions :: [Extension]) field has changed,- which could bite you if you pass custom extensions in the ParseMode. - Previously, the ParseMode defaulted to the list of extensions accepted - by Haskell2010, and if you set the list explicitly you would override + which could bite you if you pass custom extensions in the ParseMode.+ Previously, the ParseMode defaulted to the list of extensions accepted+ by Haskell2010, and if you set the list explicitly you would override this. Now, the defaults are { baseLanguage = Haskell2010, extensions = [] }, and explicitly setting a list of extensions will be interpreted on top of Haskell2010. See further the documentation for L.H.E.Extension.@@ -89,7 +340,7 @@ * Expose Language.Haskell.Exts.Lexer, which implements a standalone token stream lexer. The module is- re-exported both by Language.Haskell.Exts and by + re-exported both by Language.Haskell.Exts and by Language.Haskell.Exts.Annotated. @@ -97,12 +348,12 @@ =============== * Fix bug where operators starting with # written in- parentheses would not be parsed when UnboxedTuples is + parentheses would not be parsed when UnboxedTuples is turned on. Now works. -* Allow 'family' and 'forall' as (non-type) varid's. This - adds one more shift/reduce conflict to the parser, and - its resolution means that '{-# RULES "name" forall = ... #-}' +* Allow 'family' and 'forall' as (non-type) varid's. This+ adds one more shift/reduce conflict to the parser, and+ its resolution means that '{-# RULES "name" forall = ... #-}' is not allowed. * Complete the set of FFI calling conventions from the Haskell@@ -229,7 +480,7 @@ =============== * Enable the unicode version of DoubleColon (x2237). Thanks- to Andrés Sicard-Ramírez for the patch!+ to Andr�s Sicard-Ram�rez for the patch! 1.9.6 --> 1.10.0 ===============@@ -263,12 +514,12 @@ 1.9.3 --> 1.9.4 =============== -* Pretty-printer now inserts parentheses in clever places when +* Pretty-printer now inserts parentheses in clever places when printing kinds. * Pretty-printing expressions is now far more accurate in inserting (and not inserting) parentheses when needed.- + * Pretty-printing negative expressions no longer inserts a superfluous space between the - and the expression. @@ -334,11 +585,11 @@ * Export knownExtensions from .Extension. -* Remove support for CFILES and INCLUDE pragmas. The support wasn't - correct anyway, as it assumed the pragmas appeared at the top of - files. As CFILES/INCLUDE pragmas can (and do) appear anywhere, - there's no hope to support them in the AST. Better to remove the - support altogether. Files with CFILES/INCLUDE pragmas can still +* Remove support for CFILES and INCLUDE pragmas. The support wasn't+ correct anyway, as it assumed the pragmas appeared at the top of+ files. As CFILES/INCLUDE pragmas can (and do) appear anywhere,+ there's no hope to support them in the AST. Better to remove the+ support altogether. Files with CFILES/INCLUDE pragmas can still be parsed of course, but those pragmas will be handled as comments. * Parsing with ignoreLinePragmas = False now correctly updates the@@ -348,7 +599,7 @@ declarations. The InsInline constructor is removed, and is now represented by InsDecl (InlineSig ...). -* Fix a bug with line numbering and quasi quotes, and a similar one +* Fix a bug with line numbering and quasi quotes, and a similar one with line numbering and CDATA. * Fix a few minor bugs in the exactPrinter.@@ -372,21 +623,21 @@ =============== * Operators defined on the form- + (a `op` b) c = ...- - could not be handled by the (annotated) AST, nor the parser. I had to ++ could not be handled by the (annotated) AST, nor the parser. I had to change the definition of the AST node for InfixMatch to allow a list of right-hand subpatterns, i.e.- + InfixMatch l (Pat l) (Name l) (Pat l) ...- + has become- + InfixMatch l (Pat l) (Name l) [Pat l] ... I also had an epiphany and fixed the issue that would arise with- exact printing of prefix definitions including parentheses, so + exact printing of prefix definitions including parentheses, so that now works too! ** 1.6.x
README.md view
@@ -16,52 +16,19 @@ ----------------- The modules that comprise haskell-src-exts all reside in the hierarchic-namespace Language.Haskell.Exts, or its more feature-rich sibling-Language.Haskell.Exts.Annotated. Notable exposed modules include:+namespace Language.Haskell.Exts. Notable exposed modules include: -* `Language.Haskell.Exts[.Annotated]` - Imports and re-exports all the below,+* `Language.Haskell.Exts` - Imports and re-exports all the below, and also defines some functions that combine functionality from several modules.-* `Language.Haskell.Exts[.Annotated].Syntax` - The abstract syntax tree+* `Language.Haskell.Exts.Syntax` - The abstract syntax tree that the other modules work on.-* `Language.Haskell.Exts[.Annotated].Build` - Combinators for building+* `Language.Haskell.Exts.Build` - Combinators for building abstract syntax.-* `Language.Haskell.Exts[.Annotated].Parser` - Functions for parsing Haskell+* `Language.Haskell.Exts.Parser` - Functions for parsing Haskell source code into an abstract syntax representation. -Non-comprehensive list of supported extensions----------------------------------------------- -* Multi-parameter type classes (MPTCs)-* Functional dependencies-* Associated types, type families-* Liberal class and instance heads-* Implicit parameters (ghc and hugs)-* Explicit kind signatures-* Pattern guards-* Generalized algebraic data types (GADTs)-* Template Haskell (TH)-* Universal and existential quantification (forall)-* Empty data type declarations-* Unboxed tuples `(# #)`-* Standalone deriving-* Regular patterns-* Haskell XML, HSX style-* Pragmas--As-of-yet unsupported extensions:--* Constraint kinds-* do-rec notation-* Multi-way if statements-* Lambda-case--Portability and dependencies-------------------------------The package itself is Haskell98-compliant and should build with any-Haskell compiler.- License ------- @@ -69,3 +36,13 @@ derives from several sources, all of which are distributable under BSD-style or compatible licenses. See the file LICENSE for the complete license text.+++Maintenance+--------------++Dan Burton is currently keeping haskell-src-exts on life support.+If you are interested in more actively making improvements to this package,+please make your interests known.++You might want to try [ghc-lib-parser](http://hackage.haskell.org/package/ghc-lib-parser) instead.
+ RELEASENOTES-1.17.0 view
@@ -0,0 +1,35 @@+I am pleased to announce the release of haskell-src-exts-1.17.0! ++Hackage: https://hackage.haskell.org/package/haskell-src-exts-1.17.0 +GitHub: https://github.com/haskell-suite/haskell-src-exts ++This release brings bugfixes, as well as the following language +features: ++* Type wildcards and expression holes (#252).+* Pattern Synonyms (#197).++The full changelog is available at ++https://github.com/haskell-suite/haskell-src-exts/blob/1.17.0/CHANGELOG++This release is brought to you by:++Matthew Pickering+Michael Walker+Simon Marlow+Neil Mitchell+JP Moresmau+Артур Файзрахманов+phischu+Michael Sloan+m00nlight+Niklas Broberg+Stijn van Drongelen+Jakub Kozlowski+Leonid Onokhov++Matthew Pickering is a force of nature who deserves a special mention+for all his contributions to this release.++Peter
− dist/build/Language/Haskell/Exts/InternalParser.hs
@@ -1,8832 +0,0 @@-{-# OPTIONS_GHC -w #-}-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# OPTIONS_HADDOCK hide #-}--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Parser--- Copyright : (c) Niklas Broberg 2004-2009,--- Original (c) Simon Marlow, Sven Panne 1997-2000--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable-------------------------------------------------------------------------------------module Language.Haskell.Exts.InternalParser (- -- * General parsing- ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult,- -- * Parsing of specific AST elements- -- ** Modules- parseModule, parseModuleWithMode, parseModuleWithComments,- -- ** Expressions- parseExp, parseExpWithMode, parseExpWithComments,- -- ** Statements- parseStmt, parseStmtWithMode, parseStmtWithComments,- -- ** Patterns- parsePat, parsePatWithMode, parsePatWithComments,- -- ** Declarations- parseDecl, parseDeclWithMode, parseDeclWithComments,- -- ** Types- parseType, parseTypeWithMode, parseTypeWithComments,- -- ** Multiple modules in one file- parseModules, parseModulesWithMode, parseModulesWithComments,- -- ** Option pragmas- getTopPragmas- ) where-import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )-import Language.Haskell.Exts.Annotated.Syntax ( Type, Exp, Asst )-import Language.Haskell.Exts.ParseMonad-import Language.Haskell.Exts.InternalLexer-import Language.Haskell.Exts.ParseUtils-import Language.Haskell.Exts.Annotated.Fixity-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Comments ( Comment )-import Language.Haskell.Exts.Extension--import Control.Monad ( liftM, (<=<) )-import qualified Data.Array as Happy_Data_Array-import qualified GHC.Exts as Happy_GHC_Exts---- parser produced by Happy Version 1.19.3--newtype HappyAbsSyn = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn11 :: ([Module L]) -> (HappyAbsSyn )-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn ) -> ([Module L])-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: ([[ModulePragma L] -> [S] -> L -> Module L]) -> (HappyAbsSyn )-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn ) -> ([[ModulePragma L] -> [S] -> L -> Module L])-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (Module L) -> (HappyAbsSyn )-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn ) -> (Module L)-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: (PExp L) -> (HappyAbsSyn )-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> (PExp L)-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: (([ModulePragma L],[S],L)) -> (HappyAbsSyn )-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> (([ModulePragma L],[S],L))-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (([ModulePragma L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (([ModulePragma L],[S],Maybe L))-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (ModulePragma L) -> (HappyAbsSyn )-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (ModulePragma L)-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (([Name L],[S])) -> (HappyAbsSyn )-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> (([Name L],[S]))-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: ([ModulePragma L] -> [S] -> L -> Module L) -> (HappyAbsSyn )-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> ([ModulePragma L] -> [S] -> L -> Module L)-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (Maybe (ModuleHead L)) -> (HappyAbsSyn )-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (Maybe (ModuleHead L))-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (Maybe (WarningText L)) -> (HappyAbsSyn )-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> (Maybe (WarningText L))-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (([ImportDecl L],[Decl L],[S],L)) -> (HappyAbsSyn )-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> (([ImportDecl L],[Decl L],[S],L))-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (([ImportDecl L],[Decl L],[S])) -> (HappyAbsSyn )-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (([ImportDecl L],[Decl L],[S]))-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: ([S]) -> (HappyAbsSyn )-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> ([S])-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: ([S]) -> (HappyAbsSyn )-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> ([S])-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (Maybe (ExportSpecList L)) -> (HappyAbsSyn )-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (Maybe (ExportSpecList L))-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (ExportSpecList L) -> (HappyAbsSyn )-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> (ExportSpecList L)-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([S]) -> (HappyAbsSyn )-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> ([S])-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (([ExportSpec L],[S])) -> (HappyAbsSyn )-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (([ExportSpec L],[S]))-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (ExportSpec L) -> (HappyAbsSyn )-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (ExportSpec L)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (([ImportDecl L],[S])) -> (HappyAbsSyn )-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> (([ImportDecl L],[S]))-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (ImportDecl L) -> (HappyAbsSyn )-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> (ImportDecl L)-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ((Maybe String,[S])) -> (HappyAbsSyn )-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> ((Maybe String,[S]))-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: ((Maybe (ModuleName L),[S],Maybe L)) -> (HappyAbsSyn )-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> ((Maybe (ModuleName L),[S],Maybe L))-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: (Maybe (ImportSpecList L)) -> (HappyAbsSyn )-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> (Maybe (ImportSpecList L))-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: (ImportSpecList L) -> (HappyAbsSyn )-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> (ImportSpecList L)-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: ((Bool, Maybe L,[S])) -> (HappyAbsSyn )-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> ((Bool, Maybe L,[S]))-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: (([ImportSpec L],[S])) -> (HappyAbsSyn )-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> (([ImportSpec L],[S]))-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: (ImportSpec L) -> (HappyAbsSyn )-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> (ImportSpec L)-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (([CName L],[S])) -> (HappyAbsSyn )-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> (([CName L],[S]))-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (CName L) -> (HappyAbsSyn )-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> (CName L)-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (Decl L) -> (HappyAbsSyn )-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> (Decl L)-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: ((Maybe Int, [S])) -> (HappyAbsSyn )-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> ((Maybe Int, [S]))-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (Assoc L) -> (HappyAbsSyn )-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> (Assoc L)-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (([Op L],[S],L)) -> (HappyAbsSyn )-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (([Op L],[S],L))-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (Decl L) -> (HappyAbsSyn )-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> (Decl L)-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (DataOrNew L) -> (HappyAbsSyn )-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (DataOrNew L)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (([Type L],[S])) -> (HappyAbsSyn )-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (([Type L],[S]))-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: (Decl L) -> (HappyAbsSyn )-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> (Decl L)-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: (Binds L) -> (HappyAbsSyn )-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> (Binds L)-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: (Decl L) -> (HappyAbsSyn )-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> (Decl L)-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (Decl L) -> (HappyAbsSyn )-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> (Decl L)-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (([Type L],[S])) -> (HappyAbsSyn )-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> (([Type L],[S]))-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: (Type L) -> (HappyAbsSyn )-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> (Type L)-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: (Binds L) -> (HappyAbsSyn )-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> (Binds L)-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: (([Name L],[S],L)) -> (HappyAbsSyn )-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> (([Name L],[S],L))-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: (CallConv L) -> (HappyAbsSyn )-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> (CallConv L)-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: (Maybe (Safety L)) -> (HappyAbsSyn )-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> (Maybe (Safety L))-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: ((Maybe String, Name L, Type L, [S])) -> (HappyAbsSyn )-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> ((Maybe String, Name L, Type L, [S]))-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: ([Rule L]) -> (HappyAbsSyn )-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> ([Rule L])-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: (Rule L) -> (HappyAbsSyn )-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> (Rule L)-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (Maybe (Activation L)) -> (HappyAbsSyn )-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (Maybe (Activation L))-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: ((Maybe [RuleVar L],[S])) -> (HappyAbsSyn )-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> ((Maybe [RuleVar L],[S]))-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: ([RuleVar L]) -> (HappyAbsSyn )-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> ([RuleVar L])-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (RuleVar L) -> (HappyAbsSyn )-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> (RuleVar L)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (([([Name L],String)],[S])) -> (HappyAbsSyn )-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (([([Name L],String)],[S]))-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: ((([Name L], String),[S])) -> (HappyAbsSyn )-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> ((([Name L], String),[S]))-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (([Name L],[S])) -> (HappyAbsSyn )-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (([Name L],[S]))-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (Name L) -> (HappyAbsSyn )-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (Name L)-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (Annotation L) -> (HappyAbsSyn )-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (Annotation L)-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (Type L) -> (HappyAbsSyn )-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (Type L)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (PType L) -> (HappyAbsSyn )-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (PType L)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: (Type L) -> (HappyAbsSyn )-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> (Type L)-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (PType L) -> (HappyAbsSyn )-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (PType L)-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: (Type L) -> (HappyAbsSyn )-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> (Type L)-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (PType L) -> (HappyAbsSyn )-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (PType L)-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: (Type L) -> (HappyAbsSyn )-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> (Type L)-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: (PType L) -> (HappyAbsSyn )-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> (PType L)-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: (Promoted L) -> (HappyAbsSyn )-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> (Promoted L)-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (Promoted L) -> (HappyAbsSyn )-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (Promoted L)-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: (([Promoted L],[S])) -> (HappyAbsSyn )-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> (([Promoted L],[S]))-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: (([Promoted L],[S])) -> (HappyAbsSyn )-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> (([Promoted L],[S]))-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (QName L) -> (HappyAbsSyn )-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (QName L)-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (QName L) -> (HappyAbsSyn )-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (QName L)-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: (QName L) -> (HappyAbsSyn )-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> (QName L)-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (Type L) -> (HappyAbsSyn )-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (Type L)-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: (PType L) -> (HappyAbsSyn )-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> (PType L)-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (PContext L) -> (HappyAbsSyn )-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (PContext L)-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (([PType L],[S])) -> (HappyAbsSyn )-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (([PType L],[S]))-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: (([PType L],[S])) -> (HappyAbsSyn )-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> (([PType L],[S]))-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (([TyVarBind L],Maybe L)) -> (HappyAbsSyn )-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (([TyVarBind L],Maybe L))-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (TyVarBind L) -> (HappyAbsSyn )-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (TyVarBind L)-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (([Name L],Maybe L)) -> (HappyAbsSyn )-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (([Name L],Maybe L))-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: (([Name L],L)) -> (HappyAbsSyn )-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> (([Name L],L))-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (([FunDep L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (([FunDep L],[S],Maybe L))-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: (([FunDep L],[S],L)) -> (HappyAbsSyn )-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> (([FunDep L],[S],L))-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: (FunDep L) -> (HappyAbsSyn )-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> (FunDep L)-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (([GadtDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (([GadtDecl L],[S],Maybe L))-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (GadtDecl L) -> (HappyAbsSyn )-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (GadtDecl L)-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (([QualConDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],Maybe L))-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: (([QualConDecl L],[S],L)) -> (HappyAbsSyn )-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],L))-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (QualConDecl L) -> (HappyAbsSyn )-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (QualConDecl L)-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: ((Maybe [TyVarBind L], [S], Maybe L)) -> (HappyAbsSyn )-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe L))-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyIn112 :: (ConDecl L) -> (HappyAbsSyn )-happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn112 #-}-happyOut112 :: (HappyAbsSyn ) -> (ConDecl L)-happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut112 #-}-happyIn113 :: ((Name L, [BangType L], L)) -> (HappyAbsSyn )-happyIn113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn113 #-}-happyOut113 :: (HappyAbsSyn ) -> ((Name L, [BangType L], L))-happyOut113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut113 #-}-happyIn114 :: ((Name L, [BangType L],L)) -> (HappyAbsSyn )-happyIn114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn114 #-}-happyOut114 :: (HappyAbsSyn ) -> ((Name L, [BangType L],L))-happyOut114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut114 #-}-happyIn115 :: (BangType L) -> (HappyAbsSyn )-happyIn115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn115 #-}-happyOut115 :: (HappyAbsSyn ) -> (BangType L)-happyOut115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut115 #-}-happyIn116 :: (BangType L) -> (HappyAbsSyn )-happyIn116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn116 #-}-happyOut116 :: (HappyAbsSyn ) -> (BangType L)-happyOut116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut116 #-}-happyIn117 :: (([FieldDecl L],[S])) -> (HappyAbsSyn )-happyIn117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn117 #-}-happyOut117 :: (HappyAbsSyn ) -> (([FieldDecl L],[S]))-happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut117 #-}-happyIn118 :: (FieldDecl L) -> (HappyAbsSyn )-happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn118 #-}-happyOut118 :: (HappyAbsSyn ) -> (FieldDecl L)-happyOut118 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut118 #-}-happyIn119 :: (BangType L) -> (HappyAbsSyn )-happyIn119 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn119 #-}-happyOut119 :: (HappyAbsSyn ) -> (BangType L)-happyOut119 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut119 #-}-happyIn120 :: (Maybe (Deriving L)) -> (HappyAbsSyn )-happyIn120 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn120 #-}-happyOut120 :: (HappyAbsSyn ) -> (Maybe (Deriving L))-happyOut120 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut120 #-}-happyIn121 :: (([InstHead L],[S])) -> (HappyAbsSyn )-happyIn121 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn121 #-}-happyOut121 :: (HappyAbsSyn ) -> (([InstHead L],[S]))-happyOut121 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut121 #-}-happyIn122 :: (QName L) -> (HappyAbsSyn )-happyIn122 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn122 #-}-happyOut122 :: (HappyAbsSyn ) -> (QName L)-happyOut122 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut122 #-}-happyIn123 :: (Kind L) -> (HappyAbsSyn )-happyIn123 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn123 #-}-happyOut123 :: (HappyAbsSyn ) -> (Kind L)-happyOut123 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut123 #-}-happyIn124 :: (Kind L) -> (HappyAbsSyn )-happyIn124 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn124 #-}-happyOut124 :: (HappyAbsSyn ) -> (Kind L)-happyOut124 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut124 #-}-happyIn125 :: (Kind L) -> (HappyAbsSyn )-happyIn125 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn125 #-}-happyOut125 :: (HappyAbsSyn ) -> (Kind L)-happyOut125 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut125 #-}-happyIn126 :: (Kind L) -> (HappyAbsSyn )-happyIn126 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn126 #-}-happyOut126 :: (HappyAbsSyn ) -> (Kind L)-happyOut126 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut126 #-}-happyIn127 :: (([Kind L],[S])) -> (HappyAbsSyn )-happyIn127 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn127 #-}-happyOut127 :: (HappyAbsSyn ) -> (([Kind L],[S]))-happyOut127 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut127 #-}-happyIn128 :: (([Kind L],[S])) -> (HappyAbsSyn )-happyIn128 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn128 #-}-happyOut128 :: (HappyAbsSyn ) -> (([Kind L],[S]))-happyOut128 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut128 #-}-happyIn129 :: ((Maybe (Kind L), [S])) -> (HappyAbsSyn )-happyIn129 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn129 #-}-happyOut129 :: (HappyAbsSyn ) -> ((Maybe (Kind L), [S]))-happyOut129 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut129 #-}-happyIn130 :: ((Maybe [ClassDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn130 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn130 #-}-happyOut130 :: (HappyAbsSyn ) -> ((Maybe [ClassDecl L],[S],Maybe L))-happyOut130 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut130 #-}-happyIn131 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )-happyIn131 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn131 #-}-happyOut131 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))-happyOut131 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut131 #-}-happyIn132 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )-happyIn132 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn132 #-}-happyOut132 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))-happyOut132 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut132 #-}-happyIn133 :: (ClassDecl L) -> (HappyAbsSyn )-happyIn133 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn133 #-}-happyOut133 :: (HappyAbsSyn ) -> (ClassDecl L)-happyOut133 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut133 #-}-happyIn134 :: (ClassDecl L) -> (HappyAbsSyn )-happyIn134 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn134 #-}-happyOut134 :: (HappyAbsSyn ) -> (ClassDecl L)-happyOut134 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut134 #-}-happyIn135 :: ((Maybe [InstDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn135 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn135 #-}-happyOut135 :: (HappyAbsSyn ) -> ((Maybe [InstDecl L],[S],Maybe L))-happyOut135 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut135 #-}-happyIn136 :: (([InstDecl L],[S])) -> (HappyAbsSyn )-happyIn136 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn136 #-}-happyOut136 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))-happyOut136 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut136 #-}-happyIn137 :: (([InstDecl L],[S])) -> (HappyAbsSyn )-happyIn137 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn137 #-}-happyOut137 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))-happyOut137 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut137 #-}-happyIn138 :: (InstDecl L) -> (HappyAbsSyn )-happyIn138 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn138 #-}-happyOut138 :: (HappyAbsSyn ) -> (InstDecl L)-happyOut138 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut138 #-}-happyIn139 :: (InstDecl L) -> (HappyAbsSyn )-happyIn139 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn139 #-}-happyOut139 :: (HappyAbsSyn ) -> (InstDecl L)-happyOut139 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut139 #-}-happyIn140 :: (Decl L) -> (HappyAbsSyn )-happyIn140 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn140 #-}-happyOut140 :: (HappyAbsSyn ) -> (Decl L)-happyOut140 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut140 #-}-happyIn141 :: ((Maybe (Binds L),[S])) -> (HappyAbsSyn )-happyIn141 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn141 #-}-happyOut141 :: (HappyAbsSyn ) -> ((Maybe (Binds L),[S]))-happyOut141 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut141 #-}-happyIn142 :: ((Maybe (Type L),[S])) -> (HappyAbsSyn )-happyIn142 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn142 #-}-happyOut142 :: (HappyAbsSyn ) -> ((Maybe (Type L),[S]))-happyOut142 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut142 #-}-happyIn143 :: (Rhs L) -> (HappyAbsSyn )-happyIn143 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn143 #-}-happyOut143 :: (HappyAbsSyn ) -> (Rhs L)-happyOut143 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut143 #-}-happyIn144 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )-happyIn144 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn144 #-}-happyOut144 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))-happyOut144 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut144 #-}-happyIn145 :: (GuardedRhs L) -> (HappyAbsSyn )-happyIn145 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn145 #-}-happyOut145 :: (HappyAbsSyn ) -> (GuardedRhs L)-happyOut145 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut145 #-}-happyIn146 :: (Exp L) -> (HappyAbsSyn )-happyIn146 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn146 #-}-happyOut146 :: (HappyAbsSyn ) -> (Exp L)-happyOut146 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut146 #-}-happyIn147 :: (PExp L) -> (HappyAbsSyn )-happyIn147 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn147 #-}-happyOut147 :: (HappyAbsSyn ) -> (PExp L)-happyOut147 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut147 #-}-happyIn148 :: (PExp L) -> (HappyAbsSyn )-happyIn148 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn148 #-}-happyOut148 :: (HappyAbsSyn ) -> (PExp L)-happyOut148 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut148 #-}-happyIn149 :: (PExp L) -> (HappyAbsSyn )-happyIn149 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn149 #-}-happyOut149 :: (HappyAbsSyn ) -> (PExp L)-happyOut149 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut149 #-}-happyIn150 :: (PExp L) -> (HappyAbsSyn )-happyIn150 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn150 #-}-happyOut150 :: (HappyAbsSyn ) -> (PExp L)-happyOut150 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut150 #-}-happyIn151 :: (PExp L) -> (HappyAbsSyn )-happyIn151 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn151 #-}-happyOut151 :: (HappyAbsSyn ) -> (PExp L)-happyOut151 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut151 #-}-happyIn152 :: ([S]) -> (HappyAbsSyn )-happyIn152 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn152 #-}-happyOut152 :: (HappyAbsSyn ) -> ([S])-happyOut152 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut152 #-}-happyIn153 :: ([S]) -> (HappyAbsSyn )-happyIn153 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn153 #-}-happyOut153 :: (HappyAbsSyn ) -> ([S])-happyOut153 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut153 #-}-happyIn154 :: (PExp L) -> (HappyAbsSyn )-happyIn154 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn154 #-}-happyOut154 :: (HappyAbsSyn ) -> (PExp L)-happyOut154 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut154 #-}-happyIn155 :: (PExp L) -> (HappyAbsSyn )-happyIn155 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn155 #-}-happyOut155 :: (HappyAbsSyn ) -> (PExp L)-happyOut155 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut155 #-}-happyIn156 :: (PExp L) -> (HappyAbsSyn )-happyIn156 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn156 #-}-happyOut156 :: (HappyAbsSyn ) -> (PExp L)-happyOut156 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut156 #-}-happyIn157 :: ([Pat L]) -> (HappyAbsSyn )-happyIn157 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn157 #-}-happyOut157 :: (HappyAbsSyn ) -> ([Pat L])-happyOut157 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut157 #-}-happyIn158 :: (Pat L) -> (HappyAbsSyn )-happyIn158 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn158 #-}-happyOut158 :: (HappyAbsSyn ) -> (Pat L)-happyOut158 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut158 #-}-happyIn159 :: (PExp L) -> (HappyAbsSyn )-happyIn159 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn159 #-}-happyOut159 :: (HappyAbsSyn ) -> (PExp L)-happyOut159 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut159 #-}-happyIn160 :: (PExp L) -> (HappyAbsSyn )-happyIn160 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn160 #-}-happyOut160 :: (HappyAbsSyn ) -> (PExp L)-happyOut160 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut160 #-}-happyIn161 :: (PExp L) -> (HappyAbsSyn )-happyIn161 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn161 #-}-happyOut161 :: (HappyAbsSyn ) -> (PExp L)-happyOut161 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut161 #-}-happyIn162 :: ([S]) -> (HappyAbsSyn )-happyIn162 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn162 #-}-happyOut162 :: (HappyAbsSyn ) -> ([S])-happyOut162 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut162 #-}-happyIn163 :: (PExp L) -> (HappyAbsSyn )-happyIn163 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn163 #-}-happyOut163 :: (HappyAbsSyn ) -> (PExp L)-happyOut163 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut163 #-}-happyIn164 :: (([Maybe (PExp L)],[S])) -> (HappyAbsSyn )-happyIn164 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn164 #-}-happyOut164 :: (HappyAbsSyn ) -> (([Maybe (PExp L)],[S]))-happyOut164 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut164 #-}-happyIn165 :: (([Maybe (PExp L)],[S])) -> (HappyAbsSyn )-happyIn165 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn165 #-}-happyOut165 :: (HappyAbsSyn ) -> (([Maybe (PExp L)],[S]))-happyOut165 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut165 #-}-happyIn166 :: (([PExp L],[S])) -> (HappyAbsSyn )-happyIn166 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn166 #-}-happyOut166 :: (HappyAbsSyn ) -> (([PExp L],[S]))-happyOut166 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut166 #-}-happyIn167 :: (PExp L) -> (HappyAbsSyn )-happyIn167 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn167 #-}-happyOut167 :: (HappyAbsSyn ) -> (PExp L)-happyOut167 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut167 #-}-happyIn168 :: (PExp L) -> (HappyAbsSyn )-happyIn168 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn168 #-}-happyOut168 :: (HappyAbsSyn ) -> (PExp L)-happyOut168 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut168 #-}-happyIn169 :: ([PExp L]) -> (HappyAbsSyn )-happyIn169 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn169 #-}-happyOut169 :: (HappyAbsSyn ) -> ([PExp L])-happyOut169 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut169 #-}-happyIn170 :: (PExp L) -> (HappyAbsSyn )-happyIn170 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn170 #-}-happyOut170 :: (HappyAbsSyn ) -> (PExp L)-happyOut170 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut170 #-}-happyIn171 :: (XName L) -> (HappyAbsSyn )-happyIn171 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn171 #-}-happyOut171 :: (HappyAbsSyn ) -> (XName L)-happyOut171 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut171 #-}-happyIn172 :: (Loc String) -> (HappyAbsSyn )-happyIn172 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn172 #-}-happyOut172 :: (HappyAbsSyn ) -> (Loc String)-happyOut172 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut172 #-}-happyIn173 :: (Loc String) -> (HappyAbsSyn )-happyIn173 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn173 #-}-happyOut173 :: (HappyAbsSyn ) -> (Loc String)-happyOut173 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut173 #-}-happyIn174 :: ([ParseXAttr L]) -> (HappyAbsSyn )-happyIn174 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn174 #-}-happyOut174 :: (HappyAbsSyn ) -> ([ParseXAttr L])-happyOut174 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut174 #-}-happyIn175 :: (ParseXAttr L) -> (HappyAbsSyn )-happyIn175 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn175 #-}-happyOut175 :: (HappyAbsSyn ) -> (ParseXAttr L)-happyOut175 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut175 #-}-happyIn176 :: (Maybe (PExp L)) -> (HappyAbsSyn )-happyIn176 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn176 #-}-happyOut176 :: (HappyAbsSyn ) -> (Maybe (PExp L))-happyOut176 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut176 #-}-happyIn177 :: (L -> PExp L) -> (HappyAbsSyn )-happyIn177 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn177 #-}-happyOut177 :: (HappyAbsSyn ) -> (L -> PExp L)-happyOut177 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut177 #-}-happyIn178 :: (([PExp L],[S])) -> (HappyAbsSyn )-happyIn178 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn178 #-}-happyOut178 :: (HappyAbsSyn ) -> (([PExp L],[S]))-happyOut178 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut178 #-}-happyIn179 :: (([[QualStmt L]],[S])) -> (HappyAbsSyn )-happyIn179 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn179 #-}-happyOut179 :: (HappyAbsSyn ) -> (([[QualStmt L]],[S]))-happyOut179 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut179 #-}-happyIn180 :: (([QualStmt L],[S])) -> (HappyAbsSyn )-happyIn180 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn180 #-}-happyOut180 :: (HappyAbsSyn ) -> (([QualStmt L],[S]))-happyOut180 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut180 #-}-happyIn181 :: (QualStmt L) -> (HappyAbsSyn )-happyIn181 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn181 #-}-happyOut181 :: (HappyAbsSyn ) -> (QualStmt L)-happyOut181 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut181 #-}-happyIn182 :: (QualStmt L) -> (HappyAbsSyn )-happyIn182 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn182 #-}-happyOut182 :: (HappyAbsSyn ) -> (QualStmt L)-happyOut182 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut182 #-}-happyIn183 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn183 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn183 #-}-happyOut183 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut183 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut183 #-}-happyIn184 :: (Stmt L) -> (HappyAbsSyn )-happyIn184 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn184 #-}-happyOut184 :: (HappyAbsSyn ) -> (Stmt L)-happyOut184 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut184 #-}-happyIn185 :: (([Alt L],L,[S])) -> (HappyAbsSyn )-happyIn185 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn185 #-}-happyOut185 :: (HappyAbsSyn ) -> (([Alt L],L,[S]))-happyOut185 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut185 #-}-happyIn186 :: (([Alt L],[S])) -> (HappyAbsSyn )-happyIn186 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn186 #-}-happyOut186 :: (HappyAbsSyn ) -> (([Alt L],[S]))-happyOut186 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut186 #-}-happyIn187 :: (([Alt L],[S])) -> (HappyAbsSyn )-happyIn187 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn187 #-}-happyOut187 :: (HappyAbsSyn ) -> (([Alt L],[S]))-happyOut187 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut187 #-}-happyIn188 :: (Alt L) -> (HappyAbsSyn )-happyIn188 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn188 #-}-happyOut188 :: (HappyAbsSyn ) -> (Alt L)-happyOut188 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut188 #-}-happyIn189 :: (GuardedAlts L) -> (HappyAbsSyn )-happyIn189 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn189 #-}-happyOut189 :: (HappyAbsSyn ) -> (GuardedAlts L)-happyOut189 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut189 #-}-happyIn190 :: (([GuardedAlt L],L)) -> (HappyAbsSyn )-happyIn190 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn190 #-}-happyOut190 :: (HappyAbsSyn ) -> (([GuardedAlt L],L))-happyOut190 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut190 #-}-happyIn191 :: (GuardedAlt L) -> (HappyAbsSyn )-happyIn191 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn191 #-}-happyOut191 :: (HappyAbsSyn ) -> (GuardedAlt L)-happyOut191 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut191 #-}-happyIn192 :: (Pat L) -> (HappyAbsSyn )-happyIn192 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn192 #-}-happyOut192 :: (HappyAbsSyn ) -> (Pat L)-happyOut192 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut192 #-}-happyIn193 :: (([IfAlt L], L, [S])) -> (HappyAbsSyn )-happyIn193 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn193 #-}-happyOut193 :: (HappyAbsSyn ) -> (([IfAlt L], L, [S]))-happyOut193 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut193 #-}-happyIn194 :: (([IfAlt L], [S])) -> (HappyAbsSyn )-happyIn194 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn194 #-}-happyOut194 :: (HappyAbsSyn ) -> (([IfAlt L], [S]))-happyOut194 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut194 #-}-happyIn195 :: (([IfAlt L], [S])) -> (HappyAbsSyn )-happyIn195 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn195 #-}-happyOut195 :: (HappyAbsSyn ) -> (([IfAlt L], [S]))-happyOut195 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut195 #-}-happyIn196 :: (IfAlt L) -> (HappyAbsSyn )-happyIn196 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn196 #-}-happyOut196 :: (HappyAbsSyn ) -> (IfAlt L)-happyOut196 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut196 #-}-happyIn197 :: (([Stmt L],L,[S])) -> (HappyAbsSyn )-happyIn197 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn197 #-}-happyOut197 :: (HappyAbsSyn ) -> (([Stmt L],L,[S]))-happyOut197 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut197 #-}-happyIn198 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn198 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn198 #-}-happyOut198 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut198 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut198 #-}-happyIn199 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn199 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn199 #-}-happyOut199 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut199 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut199 #-}-happyIn200 :: (Stmt L) -> (HappyAbsSyn )-happyIn200 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn200 #-}-happyOut200 :: (HappyAbsSyn ) -> (Stmt L)-happyOut200 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut200 #-}-happyIn201 :: (([PFieldUpdate L],[S])) -> (HappyAbsSyn )-happyIn201 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn201 #-}-happyOut201 :: (HappyAbsSyn ) -> (([PFieldUpdate L],[S]))-happyOut201 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut201 #-}-happyIn202 :: (PFieldUpdate L) -> (HappyAbsSyn )-happyIn202 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn202 #-}-happyOut202 :: (HappyAbsSyn ) -> (PFieldUpdate L)-happyOut202 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut202 #-}-happyIn203 :: (([IPBind L],[S])) -> (HappyAbsSyn )-happyIn203 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn203 #-}-happyOut203 :: (HappyAbsSyn ) -> (([IPBind L],[S]))-happyOut203 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut203 #-}-happyIn204 :: (([IPBind L],[S])) -> (HappyAbsSyn )-happyIn204 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn204 #-}-happyOut204 :: (HappyAbsSyn ) -> (([IPBind L],[S]))-happyOut204 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut204 #-}-happyIn205 :: (IPBind L) -> (HappyAbsSyn )-happyIn205 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn205 #-}-happyOut205 :: (HappyAbsSyn ) -> (IPBind L)-happyOut205 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut205 #-}-happyIn206 :: (PExp L) -> (HappyAbsSyn )-happyIn206 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn206 #-}-happyOut206 :: (HappyAbsSyn ) -> (PExp L)-happyOut206 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut206 #-}-happyIn207 :: (Name L) -> (HappyAbsSyn )-happyIn207 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn207 #-}-happyOut207 :: (HappyAbsSyn ) -> (Name L)-happyOut207 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut207 #-}-happyIn208 :: (Name L) -> (HappyAbsSyn )-happyIn208 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn208 #-}-happyOut208 :: (HappyAbsSyn ) -> (Name L)-happyOut208 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut208 #-}-happyIn209 :: (QName L) -> (HappyAbsSyn )-happyIn209 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn209 #-}-happyOut209 :: (HappyAbsSyn ) -> (QName L)-happyOut209 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut209 #-}-happyIn210 :: (IPName L) -> (HappyAbsSyn )-happyIn210 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn210 #-}-happyOut210 :: (HappyAbsSyn ) -> (IPName L)-happyOut210 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut210 #-}-happyIn211 :: (Name L) -> (HappyAbsSyn )-happyIn211 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn211 #-}-happyOut211 :: (HappyAbsSyn ) -> (Name L)-happyOut211 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut211 #-}-happyIn212 :: (QName L) -> (HappyAbsSyn )-happyIn212 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn212 #-}-happyOut212 :: (HappyAbsSyn ) -> (QName L)-happyOut212 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut212 #-}-happyIn213 :: (Name L) -> (HappyAbsSyn )-happyIn213 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn213 #-}-happyOut213 :: (HappyAbsSyn ) -> (Name L)-happyOut213 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut213 #-}-happyIn214 :: (QName L) -> (HappyAbsSyn )-happyIn214 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn214 #-}-happyOut214 :: (HappyAbsSyn ) -> (QName L)-happyOut214 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut214 #-}-happyIn215 :: (QName L) -> (HappyAbsSyn )-happyIn215 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn215 #-}-happyOut215 :: (HappyAbsSyn ) -> (QName L)-happyOut215 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut215 #-}-happyIn216 :: (Name L) -> (HappyAbsSyn )-happyIn216 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn216 #-}-happyOut216 :: (HappyAbsSyn ) -> (Name L)-happyOut216 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut216 #-}-happyIn217 :: (QName L) -> (HappyAbsSyn )-happyIn217 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn217 #-}-happyOut217 :: (HappyAbsSyn ) -> (QName L)-happyOut217 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut217 #-}-happyIn218 :: (Op L) -> (HappyAbsSyn )-happyIn218 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn218 #-}-happyOut218 :: (HappyAbsSyn ) -> (Op L)-happyOut218 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut218 #-}-happyIn219 :: (QOp L) -> (HappyAbsSyn )-happyIn219 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn219 #-}-happyOut219 :: (HappyAbsSyn ) -> (QOp L)-happyOut219 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut219 #-}-happyIn220 :: (QOp L) -> (HappyAbsSyn )-happyIn220 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn220 #-}-happyOut220 :: (HappyAbsSyn ) -> (QOp L)-happyOut220 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut220 #-}-happyIn221 :: (QName L) -> (HappyAbsSyn )-happyIn221 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn221 #-}-happyOut221 :: (HappyAbsSyn ) -> (QName L)-happyOut221 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut221 #-}-happyIn222 :: (QName L) -> (HappyAbsSyn )-happyIn222 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn222 #-}-happyOut222 :: (HappyAbsSyn ) -> (QName L)-happyOut222 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut222 #-}-happyIn223 :: (Name L) -> (HappyAbsSyn )-happyIn223 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn223 #-}-happyOut223 :: (HappyAbsSyn ) -> (Name L)-happyOut223 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut223 #-}-happyIn224 :: (Name L) -> (HappyAbsSyn )-happyIn224 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn224 #-}-happyOut224 :: (HappyAbsSyn ) -> (Name L)-happyOut224 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut224 #-}-happyIn225 :: (IPName L) -> (HappyAbsSyn )-happyIn225 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn225 #-}-happyOut225 :: (HappyAbsSyn ) -> (IPName L)-happyOut225 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut225 #-}-happyIn226 :: (QName L) -> (HappyAbsSyn )-happyIn226 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn226 #-}-happyOut226 :: (HappyAbsSyn ) -> (QName L)-happyOut226 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut226 #-}-happyIn227 :: (Name L) -> (HappyAbsSyn )-happyIn227 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn227 #-}-happyOut227 :: (HappyAbsSyn ) -> (Name L)-happyOut227 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut227 #-}-happyIn228 :: (QName L) -> (HappyAbsSyn )-happyIn228 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn228 #-}-happyOut228 :: (HappyAbsSyn ) -> (QName L)-happyOut228 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut228 #-}-happyIn229 :: (Name L) -> (HappyAbsSyn )-happyIn229 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn229 #-}-happyOut229 :: (HappyAbsSyn ) -> (Name L)-happyOut229 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut229 #-}-happyIn230 :: (QName L) -> (HappyAbsSyn )-happyIn230 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn230 #-}-happyOut230 :: (HappyAbsSyn ) -> (QName L)-happyOut230 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut230 #-}-happyIn231 :: (QName L) -> (HappyAbsSyn )-happyIn231 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn231 #-}-happyOut231 :: (HappyAbsSyn ) -> (QName L)-happyOut231 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut231 #-}-happyIn232 :: (Name L) -> (HappyAbsSyn )-happyIn232 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn232 #-}-happyOut232 :: (HappyAbsSyn ) -> (Name L)-happyOut232 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut232 #-}-happyIn233 :: (Name L) -> (HappyAbsSyn )-happyIn233 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn233 #-}-happyOut233 :: (HappyAbsSyn ) -> (Name L)-happyOut233 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut233 #-}-happyIn234 :: (QName L) -> (HappyAbsSyn )-happyIn234 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn234 #-}-happyOut234 :: (HappyAbsSyn ) -> (QName L)-happyOut234 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut234 #-}-happyIn235 :: (Literal L) -> (HappyAbsSyn )-happyIn235 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn235 #-}-happyOut235 :: (HappyAbsSyn ) -> (Literal L)-happyOut235 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut235 #-}-happyIn236 :: (S) -> (HappyAbsSyn )-happyIn236 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn236 #-}-happyOut236 :: (HappyAbsSyn ) -> (S)-happyOut236 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut236 #-}-happyIn237 :: (S) -> (HappyAbsSyn )-happyIn237 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn237 #-}-happyOut237 :: (HappyAbsSyn ) -> (S)-happyOut237 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut237 #-}-happyIn238 :: (ModuleName L) -> (HappyAbsSyn )-happyIn238 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn238 #-}-happyOut238 :: (HappyAbsSyn ) -> (ModuleName L)-happyOut238 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut238 #-}-happyIn239 :: (Name L) -> (HappyAbsSyn )-happyIn239 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn239 #-}-happyOut239 :: (HappyAbsSyn ) -> (Name L)-happyOut239 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut239 #-}-happyIn240 :: (QName L) -> (HappyAbsSyn )-happyIn240 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn240 #-}-happyOut240 :: (HappyAbsSyn ) -> (QName L)-happyOut240 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut240 #-}-happyIn241 :: (Name L) -> (HappyAbsSyn )-happyIn241 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn241 #-}-happyOut241 :: (HappyAbsSyn ) -> (Name L)-happyOut241 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut241 #-}-happyIn242 :: (Name L) -> (HappyAbsSyn )-happyIn242 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn242 #-}-happyOut242 :: (HappyAbsSyn ) -> (Name L)-happyOut242 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut242 #-}-happyIn243 :: (QName L) -> (HappyAbsSyn )-happyIn243 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn243 #-}-happyOut243 :: (HappyAbsSyn ) -> (QName L)-happyOut243 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut243 #-}-happyIn244 :: (Name L) -> (HappyAbsSyn )-happyIn244 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn244 #-}-happyOut244 :: (HappyAbsSyn ) -> (Name L)-happyOut244 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut244 #-}-happyInTok :: (Loc Token) -> (HappyAbsSyn )-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> (Loc Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x00\x00\xa1\x16\x28\x16\x67\x0b\x59\x1f\x52\x13\x00\x00\x00\x00\x00\x00\x82\x07\xa4\x04\xf0\x07\x5f\x07\x00\x00\xbe\x07\x00\x00\x00\x00\x21\x22\x00\x00\x00\x00\x00\x00\xf9\x1b\x00\x00\xcc\x07\x00\x00\x00\x00\xb8\x07\x56\x07\x00\x00\x4b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x0f\x6f\x0f\x73\x10\x00\x00\x41\x1b\xf9\x1b\xf9\x1b\xf9\x1b\xa1\x16\x00\x00\xa1\x16\xa1\x16\xa1\x16\x59\x1f\x00\x00\x1b\x22\xec\x20\x00\x00\x20\x1c\xa1\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x16\xc9\x07\x00\x00\x00\x00\x00\x00\xaf\x15\xc0\x07\xb9\x07\x9d\x1b\xb9\x07\x00\x00\xc8\x07\xc7\x07\xc6\x07\x00\x00\x00\x00\xfb\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x48\x07\x00\x00\x59\x1f\xad\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x1c\xdc\x1d\x4c\x1f\x1a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x07\x42\x07\x56\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x1c\xf9\x1b\x1e\x00\xf0\x1e\x6d\x07\xb5\x07\x53\x07\x00\x00\x00\x00\x00\x00\xf0\x1e\xac\x07\x00\x00\x00\x20\xa5\x07\xa5\x07\x29\x00\xa5\x07\xab\x07\x4d\x23\x4d\x23\xe8\x21\x00\x00\x32\x07\x32\x07\x00\x00\x32\x07\x04\x00\x00\x00\x00\x00\x93\x07\x20\x1c\x47\x07\x67\x06\xf9\x1b\x2f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x91\x02\xf9\x1b\xa2\x07\x36\x00\x00\x00\x97\x07\x84\x07\x33\x00\x2c\x00\x00\x00\x81\x07\x34\x23\x4f\x00\x34\x23\xf0\x1e\x34\x23\x34\x23\x76\x07\x53\x1d\xf3\x1f\x55\x21\x00\x00\x2d\x07\x00\x00\x00\x00\x1d\x07\xf0\x1e\xf0\x1e\xf0\x1e\x6b\x07\x23\x05\x23\x05\x8d\x05\x8d\x05\x00\x00\x00\x00\xa1\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x23\xec\x0c\x00\x00\x00\x00\xf0\x1e\x00\x00\x00\x00\x00\x00\x42\x06\xf0\x1e\x53\x03\x00\x00\x0f\x24\x00\x00\x00\x00\xd9\x0c\x63\x02\x70\x07\x68\x07\x00\x00\x6e\x07\x64\x07\xbb\x00\x00\x00\x99\x1c\x00\x00\x00\x00\xe0\x02\x89\x02\x00\x00\x00\x00\x99\x01\x6c\x07\x62\x07\x50\x02\x6a\x07\x69\x07\x00\x00\x67\x07\x55\x21\x00\x00\x00\x00\x55\x21\x00\x00\x55\x21\x00\x00\x00\x00\xbc\x1e\xf0\x1e\x55\x21\x00\x00\x6f\x07\xf6\x06\xf4\x06\x00\x00\x6e\x11\x6e\x11\x51\x07\x00\x00\xf9\x1b\x00\x00\x10\x07\x5e\x07\x00\x00\x00\x00\x00\x00\x00\x00\x02\x07\xe6\x03\x25\x07\x00\x00\x4b\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x17\x5f\x02\x4f\x07\x00\x00\x00\x00\x62\x11\x67\x0b\x2e\x07\x2a\x07\x70\x0c\x29\x07\x50\x07\x43\x07\x3f\x00\x00\x00\xf9\x1b\x00\x00\xe5\x1a\x00\x00\x4a\x07\x3f\x07\x91\x01\x41\x07\x3e\x07\x00\x00\x00\x00\xa1\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x0c\x00\x00\x00\x00\x00\x00\xed\x0e\x2e\x02\x00\x00\x73\x05\x6b\x0e\x4b\x02\x40\x07\x3c\x07\x3a\x07\x37\x07\x35\x07\x00\x00\x33\x07\xf9\x1b\x31\x07\x30\x07\xf9\x1b\xf9\x1b\xa1\x16\xc1\x21\x00\x00\xa1\x16\xf0\x1e\xa1\x16\xa1\x16\xa1\x16\xa1\x16\x62\x00\x2c\x07\x00\x00\x3d\x07\x7c\x21\x00\x00\x17\x00\x00\x00\xb6\x06\x00\x00\x1e\x07\x00\x00\x09\x00\xa4\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x02\x00\x00\x1c\x07\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\x0d\x00\x00\x00\x00\x0b\x02\x00\x00\x00\x00\xa1\x16\xa1\x16\x67\x0d\x00\x00\x00\x00\xe7\x01\x00\x00\x1b\x07\x18\x07\x00\x00\xf5\x10\x00\x00\xf5\x10\xa1\x16\xd9\x12\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x16\xa1\x16\x00\x00\x36\x15\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x21\x07\x20\x1c\xfd\x19\x00\x00\xf1\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x16\x19\x07\x52\x01\x17\x07\x62\x00\xbd\x06\x00\x00\xa1\x16\x00\x00\xa1\x16\x12\x07\x11\x07\x6e\x11\x62\x00\xa1\x16\xa1\x16\x0a\x07\xd2\x20\x00\x00\x08\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x1e\x00\x00\x00\x00\x76\x20\x00\x00\x00\x00\xf0\x1e\x00\x07\x63\x02\x00\x00\x00\x00\x00\x00\x47\x06\x6a\x01\x63\x02\xd1\x01\x00\x00\x00\x00\x00\x00\x69\x20\xf0\x1e\x09\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x23\x39\x06\xc4\x06\xae\x06\x76\x20\xbb\x06\x61\x05\xf3\x06\x64\x02\x00\x00\xaa\x06\xf5\x06\x00\x00\xa1\x16\x36\x15\xa8\x06\x36\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x07\x9e\x06\x00\x00\xec\x06\xf7\x06\x00\x00\xf0\x06\x00\x00\x00\x00\x00\x00\xee\x06\x91\x18\xeb\x06\xe7\x06\x62\x00\x62\x00\xd7\x06\x00\x00\xda\x06\x55\x21\xf0\x1e\x76\x06\x70\x06\x6e\x06\xcf\x06\xd5\x06\xe3\x06\xc5\x06\x8f\x06\xd8\x06\x00\x00\x18\x23\x00\x00\x18\x23\x00\x00\x00\x00\xf9\x1b\x00\x00\xd3\x06\xce\x06\x00\x00\x00\x00\xda\x05\x00\x00\x00\x00\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x06\x57\x0a\x62\x00\xfd\x19\x9c\x06\xcb\x06\xd0\x06\xcc\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x16\xab\x23\xf0\x1e\xb7\x06\x00\x00\xf0\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x55\x21\x00\x00\xf0\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x1d\x00\x00\x00\x00\xac\x06\x00\x00\x75\x06\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x22\xad\x06\x00\x00\x00\x00\xb1\x06\x00\x00\xa9\x06\x00\x00\x39\x05\xdc\x01\x55\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x06\x00\x00\xc3\x01\x00\x00\xa1\x06\xa7\x06\x00\x00\x00\x00\x00\x00\x92\x23\xf0\x1e\x00\x00\x9d\x06\x00\x00\x08\x0d\x00\x00\x00\x00\x00\x00\xd3\x1f\x00\x00\x00\x00\x00\x00\x80\x1d\x76\x20\x00\x00\x00\x00\x61\x06\xa5\x06\x00\x00\x30\x02\x5f\x06\x46\x06\x9b\x06\x9a\x06\x53\x03\x00\x00\x95\x06\x00\x00\x63\x02\x00\x00\x99\x06\x88\x00\x00\x00\xa0\x06\x96\x06\x00\x00\x00\x00\xa6\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x11\x00\x00\x00\x00\x00\x00\xa1\x16\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x16\x00\x00\x00\x00\x0d\x00\x64\x06\x00\x00\x84\x06\x00\x00\x01\x06\x3a\x05\x36\x05\x35\x05\x2f\x05\x1f\x05\x10\x05\x09\x05\xf7\x04\xdd\x04\xcf\x04\xc1\x04\xbc\x04\xa0\x04\x97\x04\x7f\x04\x34\x04\x2d\x04\x00\x00\x67\x0b\x8c\x06\x66\x06\x1a\x00\x00\x00\x00\x00\x60\x12\x87\x06\x62\x00\x7e\x06\x7a\x06\x00\x00\x00\x00\x00\x00\xbd\x14\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x00\x00\x00\x00\x00\x79\x06\x00\x00\x00\x00\x00\x00\xbe\x01\x00\x00\xa1\x16\x00\x00\x97\x22\x00\x00\x00\x00\x94\x06\xf9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x16\x3d\x06\xf8\xff\xe7\x11\xe7\x11\x00\x00\x00\x00\x00\x00\x00\x00\xea\x03\x44\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\x1b\x00\x00\x00\x00\x6b\x06\x52\x01\x7d\x06\x00\x00\x65\x06\x00\x00\x00\x00\x76\x20\x00\x00\x00\x00\x00\x00\x35\x06\x00\x00\x00\x00\x00\x00\xfa\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x06\x7c\x06\xd0\x1e\x7b\x06\x71\x06\x00\x00\x00\x00\x76\x20\xf2\x23\x00\x00\xeb\x0b\x08\x0d\x00\x00\x00\x00\xac\x0c\x57\x00\x73\x06\x55\x21\x06\x06\x26\x06\x00\x00\x00\x00\xdc\x01\x1f\x06\xa1\x16\xa1\x16\x00\x00\x00\x00\x6d\x06\x59\x06\x55\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x18\x5e\x06\x62\x00\xa1\x16\x2e\x06\x5c\x06\x76\x1a\x80\x19\x5c\x06\x00\x00\xec\x05\x54\x06\x00\x00\x00\x00\xea\x05\x4c\x06\x79\x23\x00\x00\xff\x05\x1a\x06\xdb\x05\xc8\x05\xd4\x05\x00\x00\xf9\x20\x00\x00\xe0\x05\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x05\x00\x00\xc5\x05\xb0\x05\xdf\x0a\x1b\x06\x00\x00\x00\x00\x1c\x06\x0d\x06\x00\x00\x00\x00\x14\x06\x00\x00\x18\x06\x00\x00\x00\x00\x00\x00\xa1\x16\xfd\x05\x00\x00\x00\x00\x00\x00\x76\x1e\x00\x00\x00\x00\x00\x00\xfa\x05\x00\x00\x00\x00\x00\x00\x76\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x1e\x00\x00\xdf\x20\x69\x20\x00\x00\x00\x00\x1a\x17\x03\x06\x62\x00\x00\x00\xdf\x20\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x05\x00\x00\x00\x00\x7b\x22\x80\x0c\x0f\x06\x00\x00\x00\x00\xdf\x20\x88\x05\x54\x0c\x00\x00\xdf\x20\xdf\x20\x70\x05\x00\x00\x00\x00\x76\x20\x00\x00\x00\x00\x00\x00\x76\x20\x35\x01\xf3\x05\x62\x00\xed\x05\xe6\x05\x00\x00\x00\x00\xd9\x05\xe2\x05\x99\x05\x00\x00\xa1\x16\x00\x00\xe6\x03\x00\x00\x6f\x05\xc1\x05\x00\x00\x44\x14\xa1\x16\xcb\x13\xc4\x05\xc0\x05\x00\x00\xa1\x16\xa1\x16\xa1\x16\x00\x00\x00\x00\x00\x00\x58\x05\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x97\x05\x00\x00\xa1\x16\xaf\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x05\x00\x00\xaa\x05\x98\x05\x00\x00\x5c\x20\x8f\x05\x00\x00\xdf\x20\x00\x00\x04\x01\xba\x02\x00\x00\x00\x00\xdf\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x1e\x79\x1f\x6c\x1d\x8e\x05\x76\x1e\x03\x19\x8a\x05\xd0\x05\x00\x00\x76\x1e\x00\x00\x00\x00\x62\x21\x89\x05\x2f\x20\x00\x00\x44\x04\x00\x00\x00\x00\x00\x00\x8c\x05\x00\x00\x05\x06\x00\x00\x20\x1c\x00\x00\x00\x00\x7e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x05\x6c\x05\x2b\x05\x05\x05\x00\x00\x00\x00\x76\x1e\x4b\x05\x44\x05\x40\x05\x40\x05\x97\x17\x49\x05\x00\x00\x00\x00\xf1\x22\xf8\x0b\xdf\x20\xdf\x20\x76\x1e\xed\x01\x49\x05\x47\x05\x00\x00\x20\x1c\xa1\x16\xa1\x16\x00\x00\x00\x00\xff\x04\xc7\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x20\xc3\x04\x00\x00\x00\x00\x00\x00\x00\x00\x76\x1e\x00\x00\xde\x04\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x22\xee\x04\xd8\x04\x12\x00\x05\x06\x00\x00\x00\x00\x00\x00\x00\x00\xf6\x04\x00\x00\xa1\x16\x00\x00\x00\x00\xdf\x20\x00\x00\x00\x00\x00\x00\x02\x05\x00\x00\x62\x22\x00\x00\xfb\x04\xef\x04\x00\x00\x00\x00\x00\x00\xf2\x04\xde\x1c\xc6\x04\xbe\x22\x00\x00\x00\x00\x00\x00\x77\x01\x00\x00\xbe\x04\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x02\x00\x86\x2a\x37\x2e\xc8\x01\xb3\x06\xb5\x26\x01\x00\xff\xff\xfe\xff\x51\x03\xef\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x19\x00\x00\x00\x00\x00\x00\x9a\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x2a\x4f\x2b\xf6\x2a\x00\x00\x01\x33\x84\x35\xeb\x32\x48\x35\xe5\x2d\x00\x00\x6e\x2a\x1c\x2a\xaf\x32\x9f\x06\xed\x03\xd7\x02\xf5\x03\x00\x00\xfc\x03\xf5\x31\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x31\x9a\xff\x00\x00\x00\x00\x00\x00\xcb\x26\x0c\x00\x8f\xff\x53\x33\x62\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x04\xae\x04\xd1\x03\x8c\xff\x00\x00\x00\x00\x00\x00\x65\x04\x00\x00\x8f\x04\x00\x00\x07\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x0c\x32\x35\x00\x00\xf3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x07\x0b\x00\x00\x00\x75\x08\x75\x04\x58\x04\x36\x04\x32\x04\xae\x05\x41\x05\x42\x04\xb8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x02\x00\x00\x00\x00\xfc\xff\xa0\x03\xd2\x05\x91\x03\xf6\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x02\xe0\x34\x7d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x04\x7a\x02\x00\x00\x52\x02\xc4\x07\x0f\x02\xa0\x01\x00\x00\xc5\x08\x5a\x08\xa6\x03\x00\x00\x00\x00\x37\x00\x2e\x00\xd5\x03\xb0\x07\xe2\xff\x9c\x07\xd9\x03\x07\x04\x04\x04\x00\x04\xf3\x03\x00\x00\x00\x00\x4e\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x9c\x04\x00\x00\x00\x00\x8b\x06\x00\x00\x00\x00\x00\x00\xf0\x00\x34\x06\x8e\x00\x00\x00\x5d\x00\x00\x00\x00\x00\x23\x01\x8c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x08\x00\x00\x00\x00\x32\x08\x00\x00\x27\x04\x00\x00\x00\x00\xde\x01\x49\x07\x18\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x26\xf6\x25\x00\x00\x00\x00\xa4\x34\x00\x00\x00\x00\xa2\x03\x00\x00\x21\x00\x07\x00\x00\x00\x00\x00\xb0\x01\x00\x00\x88\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x01\x7b\x03\x00\x00\x00\x00\x00\x00\x05\x04\x3b\x01\x00\x00\x00\x00\x17\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x34\x00\x00\x3d\x33\x00\x00\x7c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x04\x00\x00\x00\x00\x00\x00\xb4\x2c\x24\x02\x00\x00\x00\x00\x5b\x2c\x6b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x32\x00\x00\x00\x00\x52\x34\x3c\x34\x04\x2a\x28\x03\x00\x00\x4e\x09\xf1\x05\x8d\x31\x77\x31\x25\x31\x0f\x31\x40\x03\x00\x00\xcb\x05\x0f\x00\x41\x01\x00\x00\x29\x03\x00\x00\x00\x00\xb8\x05\x00\x00\x00\x00\x00\x00\xbe\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x2c\x00\x00\x00\x00\xe1\x02\x00\x00\x00\x00\xcf\x2d\xbd\x30\xe4\x2b\x00\x00\x00\x00\xfc\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x2b\x00\x00\x6d\x2b\xa7\x30\xe7\x23\x00\x00\x25\x00\x13\x00\x00\x00\x55\x30\x3f\x30\x00\x00\xcf\x25\x00\x00\x00\x00\x00\x00\x00\x00\x37\x03\xac\x05\x00\x00\x00\x00\x0e\x05\xae\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x2d\x71\xff\x20\x04\x00\x00\x25\x03\x00\x00\x00\x00\xed\x2f\x00\x00\xd7\x2f\x00\x00\x42\x03\x7d\x25\x03\x03\x85\x2f\x6f\x2f\x00\x00\x70\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x07\x00\x00\x00\x00\xea\x06\x00\x00\x00\x00\xf2\x06\x00\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x01\xe9\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x00\xde\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x02\xef\x00\x70\x03\x7c\x03\xd5\x05\xe3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x52\x03\x27\x03\x00\x00\xb2\x29\x56\x25\x3e\x03\x85\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xff\x39\x03\xf2\x00\x30\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x02\x16\x02\x00\x00\x00\x00\xb0\x02\xad\x02\x00\x00\x00\x00\x08\x03\x01\x09\xdd\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x03\x18\x03\x00\x00\xe3\x04\x00\x00\x6b\x01\x00\x00\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x03\x00\x00\x00\x00\x00\x00\x95\x02\x00\x00\xe5\x03\xde\x03\x00\x00\x69\x00\x5d\x02\x98\x33\x2b\x03\xe8\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x32\x2f\x00\x78\x03\x00\x00\x00\x00\x50\x03\x00\x00\x00\x00\x00\x00\x00\x00\x70\x09\x00\x00\xc9\x05\x00\x00\x00\x00\x00\x00\x00\x00\x92\x04\x00\x00\x54\x0b\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x32\x00\x00\x00\x00\x00\xc6\x00\x00\x00\x00\x00\x00\x00\x47\x02\x00\x00\x00\x00\x00\x00\x5a\x00\x3f\x02\xd6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe5\xff\x00\x00\x00\x00\x00\x00\xc9\xff\xb5\x05\x00\x00\x00\x00\x00\x00\xbe\x08\xc1\x02\x00\x00\x00\x00\xab\x0b\x00\x00\x00\x00\x00\x00\x35\x1a\x0b\x1a\x00\x00\x00\x00\xa3\x02\x28\x02\x00\x00\xa9\xff\x83\x02\x96\x02\x00\x00\x00\x00\x25\x02\x00\x00\x00\x00\x00\x00\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x25\x00\x00\x00\x00\x00\x00\x1d\x2f\x00\x00\x00\x00\xbf\x03\x00\x00\x9a\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x2d\x00\x00\xef\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x02\x00\x00\x07\x2f\x00\x00\xfd\x02\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x2e\x00\x00\x00\x00\x8b\x24\x39\x24\x00\x00\x00\x00\xbb\x03\x00\x00\x2e\x03\x63\x26\x00\x00\x00\x00\x00\x00\x12\x02\x00\x00\xea\x33\x00\x00\x00\x00\x00\x00\xdf\x01\x17\x02\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x03\x00\x00\x00\x00\x00\x00\x01\x02\x00\x00\x00\x00\x00\x00\x81\x04\x41\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x09\x5d\x00\x00\x00\x70\x09\xed\x08\x00\x00\x00\x00\x21\x09\x4b\x00\x00\x00\x69\x09\x00\x00\x61\x03\x00\x00\x00\x00\x83\x01\x00\x00\x30\x29\xde\x28\x00\x00\x00\x00\x00\x00\x00\x00\x95\x03\x5b\x00\x58\x00\xae\x01\x00\x00\x43\x03\xb6\x02\x00\x00\x98\x01\xc6\x28\xaf\x00\x00\x00\x99\x32\x8e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x93\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\xff\x00\x00\x00\x00\x00\x00\x3b\x03\x00\x00\x00\x00\x40\x02\x00\x00\x05\x02\x00\x00\x7f\x00\x00\x00\xb2\x01\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x01\x00\x00\x00\x00\x00\x00\x74\x28\x00\x00\x00\x00\x00\x00\x00\x00\x56\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x05\x00\x00\x13\x03\x00\x00\x00\x00\x00\x00\x54\x0b\x00\x00\x8c\x03\x73\x00\x00\x00\x00\x00\x3e\x02\x00\x00\xfd\x00\x00\x00\x34\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x00\x9a\x08\xe0\x00\x00\x00\x00\x00\x58\x09\x00\x00\x70\x09\x00\x00\x86\x08\x42\x09\x00\x00\x00\x00\x00\x00\x64\x09\x00\x00\x00\x00\x00\x00\xce\x04\xb1\xff\x00\x00\xf1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x28\x00\x00\x95\x01\x00\x00\x31\x01\xdc\x00\x00\x00\xdd\x24\x0a\x28\x5f\x2d\x00\x00\x00\x00\x00\x00\xf2\x27\xa0\x27\x88\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x09\x00\x00\x00\x00\x70\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x09\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x01\x00\x00\x00\x00\xca\x06\x74\x01\x00\x00\x00\x00\x84\x05\xde\x02\x00\x00\xd6\x00\x00\x00\x1b\x05\x00\x00\x00\x00\x53\x00\x00\x00\x11\x00\x00\x00\x49\x02\x00\x00\x00\x00\x00\x00\x72\x01\x00\x00\x99\x00\x00\x00\x17\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\xaa\x00\x00\x00\x00\x00\xea\x04\x00\x00\x00\x00\x8c\x00\x63\x00\x66\x02\x00\x00\x00\x00\x00\x00\xbe\x00\xeb\x03\x2c\x09\xf5\x08\xd6\x04\xc2\xff\x00\x00\x00\x00\x00\x00\xa2\x02\x36\x27\x1e\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x04\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\xff\x00\x00\x7a\x00\xac\x02\x77\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x2e\x00\x00\x00\x00\x22\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xff\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x7a\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\xfd\x7a\xfd\x00\x00\xe5\xff\xed\xff\x00\x00\x00\x00\xdb\xfd\xa9\xfe\xa7\xfe\xa1\xfe\xa0\xfe\x9e\xfe\x9c\xfe\x96\xfe\x8c\xfe\x87\xfe\x7f\xfe\x7c\xfe\x6a\xfe\x00\x00\x00\x00\x79\xfe\x7a\xfe\x7b\xfe\xcb\xfd\xc6\xfd\xa0\xfd\xad\xfd\xc4\xfd\xc1\xfd\x98\xfd\x78\xfe\xab\xfd\xac\xfd\x9a\xfd\x99\xfd\x96\xfd\x97\xfd\x84\xfd\x82\xfd\x83\xfd\x81\xfd\x80\xfd\x7f\xfd\x7e\xfd\x7d\xfd\x7c\xfd\x7b\xfd\x00\x00\x00\x00\x00\x00\x6e\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x7a\xfd\x00\x00\x00\x00\x5f\xfe\x00\x00\x00\x00\x4a\xfe\xa7\xfd\x9f\xfd\x9e\xfd\x9d\xfd\xa6\xfd\xa5\xfd\xa4\xfd\xa3\xfd\xa2\xfd\xa1\xfd\xaa\xfd\x00\x00\x7a\xfd\x9b\xfd\x9c\xfd\xa8\xfd\x7a\xfd\x7a\xfd\x7a\xfd\x00\x00\x7a\xfd\xa9\xfd\x00\x00\x00\x00\x00\x00\x41\xff\x1a\xff\x48\xff\x3e\xff\x35\xff\x3c\xff\x28\xff\x00\x00\x1d\xff\x00\x00\x00\x00\x72\xfd\x21\xff\x3b\xff\x73\xfd\x2f\xff\x2e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x71\xfd\x70\xfd\x6f\xfd\x13\xff\x85\xff\xad\xff\x00\x00\x00\x00\x90\xff\x86\xff\x7f\xff\x84\xff\x97\xff\xa0\xfe\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x00\x00\xab\xff\xaa\xff\xa9\xff\x00\x00\x7a\xfd\x8e\xff\x00\x00\x5e\xff\x5e\xff\x5e\xff\x5e\xff\x60\xff\x52\xff\x52\xff\x00\x00\xec\xfd\x00\x00\x00\x00\xa9\xfe\x00\x00\xe5\xff\xf4\xff\xf2\xff\x7a\xfd\x00\x00\xe5\xff\x00\x00\x00\x00\x00\x00\x4d\xff\x4e\xff\xca\xfd\xc3\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x53\xff\x00\x00\x50\xff\x00\x00\x00\x00\x61\xff\x5e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\xff\x00\x00\x00\x00\x76\xff\x00\x00\xd9\xff\xd9\xff\xbf\xfe\x00\x00\x8b\xff\x00\x00\x0d\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb3\xfd\xb2\xfd\x00\x00\xb7\xfd\xae\xfd\x95\xfd\xbd\xfd\x92\xfd\x91\xfd\x8e\xfd\x93\xfd\x85\xfd\x94\xfd\x00\x00\x00\x00\x8b\xfd\xaf\xfd\x00\x00\x8d\xfd\x8c\xfd\x8a\xfd\xcf\xfe\x00\x00\x00\x00\xac\xff\x00\x00\x74\xfd\x30\xff\x00\x00\x00\x00\x00\x00\x35\xff\x2a\xff\x00\x00\x00\x00\x21\xff\x2c\xff\x00\x00\x25\xff\x16\xff\x00\x00\x00\x00\x23\xff\x5d\xfe\x16\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\xff\x00\x00\x00\x00\x1b\xff\x3f\xff\x00\x00\x1e\xff\x00\x00\x6d\xfd\x6c\xfd\x00\x00\x00\x00\x00\x00\x19\xff\x00\x00\x00\x00\x00\x00\xda\xfd\xe0\xfd\xe0\xfd\x00\x00\x84\xfe\x00\x00\x8d\xfe\xdd\xfd\x94\xfe\x98\xfe\xd9\xff\xd9\xff\x8e\xfe\x00\x00\x92\xfe\x00\x00\x14\xfe\x45\xfe\x41\xfe\x44\xfe\x43\xfe\x42\xfe\x3d\xfe\x3c\xfe\x3b\xfe\x3a\xfe\x39\xfe\x38\xfe\x37\xfe\x36\xfe\x35\xfe\x34\xfe\x33\xfe\x32\xfe\x31\xfe\x30\xfe\x3f\xfe\x3e\xfe\x2f\xfe\x2e\xfe\x2d\xfe\x2c\xfe\x2b\xfe\x2a\xfe\x29\xfe\x28\xfe\x27\xfe\x26\xfe\x25\xfe\x24\xfe\x23\xfe\x22\xfe\x21\xfe\x20\xfe\x1f\xfe\x1e\xfe\x1d\xfe\x1c\xfe\x1b\xfe\x1a\xfe\x19\xfe\x40\xfe\x18\xfe\x17\xfe\x16\xfe\x60\xfe\x61\xfe\x00\x00\x00\x00\x00\x00\x63\xfe\x62\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xa0\xfe\x00\x00\x00\x00\x52\xfe\x00\x00\xeb\xfd\x8f\xfe\x80\xfe\x00\x00\x85\xfe\x7a\xfd\x5c\xfe\x10\xfe\x00\x00\x0f\xfe\xb1\xfd\xb0\xfd\x00\x00\xbb\xfd\x90\xfd\x8f\xfd\x89\xfd\xcf\xfd\x00\x00\x87\xfd\x88\xfd\x86\xfd\x00\x00\x00\x00\xcd\xfd\x5c\xfe\x00\x00\x00\x00\x00\x00\xb7\xfd\x00\x00\x8f\xfd\x89\xfd\xd0\xfd\x87\xfd\x8d\xfd\x88\xfd\x86\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x88\xfe\xa6\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x00\x00\xf7\xff\xe5\xff\xf6\xff\x00\x00\xd9\xff\xe8\xff\xda\xff\x00\x00\xed\xff\xef\xff\x78\xfd\x79\xfd\xa2\xfe\xa3\xfe\xa4\xfe\xa5\xfe\xa8\xfe\x9f\xfe\x9d\xfe\x00\x00\xd8\xfd\xd6\xfd\x00\x00\x7e\xfe\xd5\xfd\xdc\xfd\x81\xfe\x82\xfe\xc5\xfd\xc0\xfd\x6d\xfe\x00\x00\x76\xfe\x77\xfe\x00\x00\xce\xfd\x5e\xfe\x00\x00\x00\x00\x00\x00\x73\xfe\x72\xfe\x00\x00\xcc\xfd\x00\x00\x00\x00\x5b\xfe\x00\x00\x6f\xfe\x00\x00\x0e\xfe\x00\x00\x90\xfe\xd9\xff\xd9\xff\x86\xfe\x00\x00\x00\x00\x6c\xfe\x00\x00\x68\xfe\x67\xfe\x66\xfe\x65\xfe\x00\x00\xd9\xff\xa4\xff\x00\x00\x00\x00\x11\xfe\x4d\xfe\x00\x00\x47\xfe\x4b\xfe\x93\xfe\x49\xfe\x00\x00\x7a\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x95\xfe\x00\x00\x83\xfe\x00\x00\x00\x00\xde\xfd\xe0\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\x45\xff\x00\x00\x46\xff\x47\xff\x42\xff\x26\xff\x1f\xff\x20\xff\x24\xff\x00\x00\x3a\xff\x37\xff\x00\x00\x22\xff\x39\xff\x00\x00\x00\x00\x00\x00\x33\xff\x38\xff\x2d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x31\xff\x14\xff\x12\xff\x00\x00\x00\x00\xae\xff\xb5\xfd\xb4\xfd\xa7\xff\xb9\xfd\xbf\xfd\x00\x00\xcf\xfe\xe5\xfe\x06\xff\x00\x00\xfb\xfe\x81\xff\x00\x00\x00\x00\x72\xff\xb1\xfe\xad\xfe\xab\xfe\x00\x00\x00\x00\xb1\xfe\x66\xff\x71\xff\x70\xff\x6f\xff\x6e\xff\x6d\xff\x6c\xff\x6b\xff\x00\x00\xcb\xfe\x0f\xff\xcf\xfe\x00\x00\x8c\xff\x43\xff\x8d\xff\x99\xff\x9a\xff\x7a\xfd\x89\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\xff\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\xff\x62\xff\x94\xff\x54\xff\x93\xff\x00\x00\x51\xff\x92\xff\x00\x00\x4b\xff\x00\x00\x00\x00\x91\xff\x4a\xff\xe2\xff\x77\xfd\x76\xfd\x00\x00\x14\xfe\xe7\xff\xd9\xff\xd9\xff\x00\x00\xdc\xff\x00\x00\x11\xfe\x00\x00\xd7\xff\x00\x00\x00\x00\xc9\xfd\xc2\xfd\x4c\xff\x4f\xff\x55\xff\x63\xff\x00\x00\x00\x00\x00\x00\x00\x00\x5d\xff\x00\x00\x7a\xff\x7d\xff\x7e\xff\xa3\xff\x44\xff\xa2\xff\x00\x00\x74\xff\x82\xff\x75\xff\x83\xff\xd9\xff\x87\xff\xaf\xfe\xd9\xff\xd2\xfd\x7b\xfe\xdb\xff\x00\x00\xd9\xff\xd9\xff\x98\xff\x9e\xff\x00\x00\x0c\xff\x0a\xff\x9b\xff\x7a\xfd\x95\xff\x00\x00\xc8\xfd\x00\x00\x00\x00\x00\x00\x6a\xff\x69\xff\x68\xff\x67\xff\xb3\xfe\x7a\xfd\xf9\xfd\x00\x00\xfb\xfd\x00\x00\x7a\xfd\xae\xfe\xac\xfe\xb4\xfe\x00\x00\x00\x00\xbc\xfd\x01\xff\xff\xfe\x00\x00\x13\xff\xce\xfe\xdf\xfe\xde\xfe\xd8\xfe\xd7\xfe\xd6\xfe\x00\x00\x00\x00\xda\xfe\xdb\xfe\xe5\xfe\x7a\xfd\xa0\xff\x00\x00\xe5\xfe\x06\xff\x00\x00\x00\x00\x00\x00\x1c\xff\x00\x00\x32\xff\x00\x00\x34\xff\x2b\xff\x20\xff\x15\xff\x00\x00\x17\xff\x6e\xfd\x18\xff\x00\x00\x8a\xfe\x8b\xfe\xe3\xfd\xe1\xfd\xe2\xfd\xe0\xfd\xe4\xfd\x97\xfe\x9a\xfe\x00\x00\xe9\xfd\xea\xfd\xd9\xff\xe6\xfd\x00\x00\x91\xfe\x52\xfe\x00\x00\x00\x00\x12\xfe\x00\x00\x15\xfe\x00\x00\xab\xfd\x96\xfd\xa7\xfd\x9f\xfd\x9e\xfd\x9d\xfd\xa6\xfd\xa5\xfd\xa4\xfd\xa3\xfd\xa2\xfd\xa1\xfd\xaa\xfd\x9b\xfd\x9c\xfd\xa8\xfd\xa9\xfd\x46\xfe\xda\xff\xa6\xff\x00\x00\x00\x00\x53\xfe\x9b\xfe\x00\x00\x00\x00\x00\x00\x0a\xfe\x06\xfe\x04\xfe\x03\xfe\x02\xfe\x00\x00\x0c\xfe\x5c\xfe\x08\xfe\x09\xfe\xb6\xfd\xba\xfd\x70\xfe\x71\xfe\x00\x00\x54\xfe\x5a\xfe\x50\xfe\x51\xfe\x74\xfe\x75\xfe\x00\x00\x57\xfe\x00\x00\x7d\xfe\x00\x00\xee\xff\xeb\xff\x00\x00\x00\x00\xea\xff\xec\xff\xe9\xff\xd9\xfd\xd7\xfd\x59\xfe\x58\xfe\x56\xfe\x55\xfe\x0d\xfe\x01\xfe\x00\x00\x00\x00\x00\x00\xf6\xfd\xf7\xfd\xd9\xff\xf3\xfd\x00\x00\x00\x00\x6b\xfe\x64\xfe\xa5\xff\x4a\xfe\x4e\xfe\x00\x00\x4c\xfe\x48\xfe\x00\x00\xe8\xfd\x94\xfe\xdf\xfd\x00\x00\x36\xff\x29\xff\x00\x00\xa8\xff\xb8\xfd\xbe\xfd\xe5\xfe\x9d\xff\xe4\xfe\xe0\xfe\x00\x00\xd9\xff\xd9\xff\x9f\xff\xd1\xfe\x00\x00\x00\x00\xde\xfe\x00\x00\x00\x00\xd5\xfe\xdd\xfe\x00\x00\x00\x00\xee\xfe\xf6\xfe\x00\x00\xfd\xfe\xfa\xfe\xf5\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xfe\x80\xff\x73\xff\x00\x00\xf8\xfd\x00\x00\x00\x00\xb2\xfe\x96\xff\x00\x00\x00\x00\x00\x00\xd9\xff\xd9\xff\x0f\xff\x10\xff\x0f\xff\xbd\xfe\x00\x00\x00\x00\x00\x00\xda\xff\xd4\xfd\x00\x00\xda\xff\x8a\xff\xa1\xff\x00\x00\x79\xff\x77\xff\x5c\xff\x00\x00\x00\x00\x59\xff\x57\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\xff\xd3\xff\xf3\xff\x00\x00\xe0\xff\xd9\xff\xc9\xff\xde\xff\xc6\xff\xe1\xff\xc4\xff\x00\x00\xda\xff\xdd\xff\x4a\xfe\xf0\xff\x00\x00\xd3\xff\xd1\xff\xd0\xff\xcf\xff\xd4\xff\x00\x00\xe6\xff\xe4\xff\xe3\xff\x00\x00\x00\x00\x58\xff\x5a\xff\x7b\xff\x00\x00\x7c\xff\x88\xff\xd3\xfd\x00\x00\xd1\xfd\xc0\xfe\xc1\xfe\x00\x00\xb8\xfe\xd9\xff\xbb\xfe\xb9\xfe\xba\xfe\xaf\xfe\x8f\xff\x00\x00\x00\x00\x09\xff\x0b\xff\xc9\xfe\x00\x00\x00\x00\x64\xff\x00\x00\xc7\xfd\xaa\xfe\xfa\xfd\x00\xff\x00\x00\xed\xfe\x3d\xff\x00\x00\x00\x00\x00\x00\xf1\xfe\xf2\xfe\x00\x00\x00\x00\xf6\xfe\xfe\xfe\x00\x00\x00\x00\x00\x00\xfc\xfe\xdc\xfe\x00\x00\xd4\xfe\xd9\xfe\xd3\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe1\xfe\x00\x00\xe3\xfe\x9c\xff\x00\x00\x00\x00\x00\x00\xe7\xfd\x00\x00\x13\xfe\x92\xfe\xfc\xfd\xb1\xfe\xf0\xfd\xee\xfd\x00\x00\x00\x00\xda\xff\xf5\xfd\x07\xfe\x05\xfe\x00\x00\x00\x00\x00\x00\x0b\xfe\x00\xfe\xfe\xfd\xff\xfd\xf4\xfd\xf1\xfd\x00\x00\xef\xfd\xf2\xfd\x00\x00\xe5\xfd\x00\x00\x00\x00\x11\xff\xe2\xfe\x07\xff\x08\xff\xd9\xff\x03\xff\x00\x00\xd0\xfe\xd2\xfe\x00\x00\xf4\xfe\x00\x00\x00\x00\xf0\xfe\x40\xff\xf9\xfe\x00\x00\x00\x00\xea\xfe\xf8\xfe\x00\x00\x65\xff\xcc\xfe\xcd\xfe\xc6\xfe\xd9\xff\xc7\xfe\xc5\xfe\x00\x00\x00\x00\x0e\xff\x00\x00\x00\x00\xda\xff\xbe\xfe\xcf\xfe\x78\xff\x00\x00\x5f\xff\xcb\xff\x00\x00\x00\x00\xd4\xff\xd5\xff\x00\x00\xca\xff\xdf\xff\xc7\xff\xc2\xff\xc5\xff\x00\x00\xc3\xff\x00\x00\xd2\xff\xd6\xff\x00\x00\xb1\xff\xb0\xff\xaf\xff\xcd\xff\x00\x00\x00\x00\xe5\xfe\x06\xff\xbc\xfe\xb0\xfe\x00\x00\x00\x00\x41\xff\xcf\xfe\xcf\xfe\xda\xff\xca\xfe\xec\xfe\xf7\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\xff\x05\xff\x00\x00\x99\xfe\x00\x00\x00\x00\x00\x00\xfd\xfd\xed\xfd\x00\x00\x00\x00\x04\xff\x02\xff\xf3\xfe\xef\xfe\xe8\xfe\xe9\xfe\x00\x00\x00\x00\xeb\xfe\xc8\xfe\xc2\xfe\xc4\xfe\x00\x00\xb7\xfe\xe5\xfe\xb6\xfe\x56\xff\xce\xff\xcc\xff\x00\x00\x00\x00\xc0\xff\xbe\xff\x00\x00\xf1\xff\xb2\xff\xb5\xfe\xc3\xfe\x00\x00\xe7\xfe\x00\x00\x4f\xfe\x89\xfe\x00\x00\xc1\xff\xc8\xff\xbf\xff\x00\x00\xbb\xff\xd3\xff\xe6\xfe\x00\x00\xd3\xff\xb8\xff\xb7\xff\x75\xfd\xb6\xff\x00\x00\x00\x00\xd4\xff\xbc\xff\xb9\xff\xbd\xff\x00\x00\xb4\xff\x00\x00\xb5\xff\xb3\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x00\x00\x04\x00\x04\x00\x02\x00\x04\x00\x04\x00\x0b\x00\x11\x00\x12\x00\x13\x00\x29\x00\x36\x00\x07\x00\x11\x00\x20\x00\x5f\x00\x60\x00\x2d\x00\x1a\x00\x0d\x00\x0e\x00\x07\x00\x32\x00\x6f\x00\x2d\x00\x1d\x00\x1e\x00\xba\x00\x36\x00\x32\x00\xae\x00\x0d\x00\x0e\x00\x60\x00\x1a\x00\x13\x00\x43\x00\x44\x00\x45\x00\x16\x00\x47\x00\xae\x00\x49\x00\x4a\x00\x20\x00\x0d\x00\x0e\x00\x4e\x00\x4f\x00\x0d\x00\x0e\x00\x52\x00\x53\x00\x54\x00\x55\x00\x2d\x00\x2d\x00\x20\x00\x0d\x00\x0e\x00\x32\x00\x32\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\xe1\x00\x0d\x00\x0e\x00\x1a\x00\x1e\x00\x44\x00\xba\x00\x46\x00\x0d\x00\x0e\x00\x1a\x00\x0d\x00\x0e\x00\x1a\x00\x37\x00\xe1\x00\x5b\x00\xba\x00\xc9\x00\x3b\x00\x3c\x00\x2a\x00\x4c\x00\xe3\x00\x0c\x00\x08\x00\xe1\x00\x0a\x00\x20\x00\x09\x00\x2a\x00\x00\x00\xd7\x00\xd8\x00\x0d\x00\x0e\x00\x1e\x00\x0d\x00\x0e\x00\x3b\x00\x3c\x00\x4e\x00\x1f\x00\x20\x00\x77\x00\xe1\x00\xe5\x00\x1f\x00\x20\x00\x70\x00\x11\x00\x37\x00\x23\x00\x66\x00\x22\x00\xc9\x00\xe1\x00\x2d\x00\x14\x00\x15\x00\x1d\x00\xd7\x00\xd8\x00\x89\x00\x2f\x00\x30\x00\x31\x00\x68\x00\x70\x00\xd7\x00\xd8\x00\x21\x00\xc9\x00\x23\x00\xc4\x00\x25\x00\x26\x00\x27\x00\x28\x00\x89\x00\x19\x00\x15\x00\x2c\x00\x6d\x00\x2e\x00\x2f\x00\xd7\x00\xd8\x00\xc5\x00\x5e\x00\xd4\x00\xd5\x00\x5e\x00\x21\x00\x8a\x00\x23\x00\x1b\x00\x25\x00\x26\x00\x27\x00\x28\x00\x20\x00\xc7\x00\xd4\x00\x2c\x00\xc5\x00\x2e\x00\x2f\x00\x7d\x00\x6d\x00\x7d\x00\x24\x00\xc4\x00\x57\x00\x89\x00\xd4\x00\xc8\x00\xd6\x00\xd7\x00\xd8\x00\xd4\x00\x89\x00\xc6\x00\xb7\x00\x89\x00\xc9\x00\xc4\x00\xaf\x00\xd4\x00\xd5\x00\xc8\x00\xe1\x00\xd8\x00\xe6\x00\xe7\x00\xd3\x00\xd4\x00\xd5\x00\xe1\x00\xd7\x00\xd8\x00\x78\x00\xd4\x00\xd5\x00\x78\x00\xaf\x00\xd8\x00\x1b\x00\xc6\x00\xb7\x00\x76\x00\xc9\x00\x20\x00\xe5\x00\xe1\x00\xd8\x00\xe1\x00\xe1\x00\xe4\x00\xe1\x00\xe1\x00\xd3\x00\xd4\x00\xd5\x00\xd8\x00\xd7\x00\xd8\x00\x81\x00\x33\x00\xe1\x00\xe1\x00\xc0\x00\xd4\x00\xd5\x00\x33\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xe5\x00\xc0\x00\x8f\x00\x90\x00\x91\x00\x4a\x00\x4b\x00\x94\x00\x95\x00\x96\x00\x81\x00\x33\x00\x76\x00\xd4\x00\xd5\x00\x19\x00\x9d\x00\x5d\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x20\x00\xc4\x00\x8f\x00\x90\x00\x91\x00\xc8\x00\xc4\x00\x94\x00\x95\x00\x96\x00\xc8\x00\xc4\x00\xcd\x00\x4a\x00\x4b\x00\xc8\x00\x9d\x00\xd4\x00\xd5\x00\xc5\x00\x6d\x00\xd8\x00\xd4\x00\xd5\x00\x20\x00\xda\x00\xd8\x00\xd4\x00\xd5\x00\x6b\x00\x26\x00\xd8\x00\xc3\x00\xe4\x00\xd4\x00\xc6\x00\xc7\x00\xd4\x00\xc9\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x61\x00\x6a\x00\x6b\x00\x05\x00\x06\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xe6\x00\xe7\x00\xc6\x00\xc7\x00\xd4\x00\xc9\x00\xe0\x00\x58\x00\x16\x00\x76\x00\x5b\x00\x5c\x00\x1a\x00\x61\x00\x61\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xca\x00\xe6\x00\xe7\x00\xcd\x00\x21\x00\xcf\x00\x23\x00\xe0\x00\x25\x00\x26\x00\x27\x00\x28\x00\x20\x00\x76\x00\x76\x00\x2c\x00\xda\x00\x2e\x00\x2f\x00\xdd\x00\x1a\x00\x4a\x00\x4b\x00\x2b\x00\x4d\x00\xc2\x00\x21\x00\x09\x00\x23\x00\x0b\x00\xc7\x00\x2c\x00\x27\x00\x28\x00\xc9\x00\x29\x00\xe3\x00\x2c\x00\xc6\x00\x2e\x00\x2f\x00\x40\x00\x41\x00\x38\x00\xc6\x00\xd6\x00\x30\x00\x31\x00\xd7\x00\xd8\x00\x18\x00\xd3\x00\xd4\x00\xd5\x00\x17\x00\x25\x00\xb4\x00\xd3\x00\xd4\x00\xd5\x00\xc6\x00\x17\x00\xe5\x00\x20\x00\xc9\x00\x43\x00\xd4\x00\x45\x00\xd4\x00\x47\x00\x20\x00\x49\x00\x4a\x00\xd3\x00\xd4\x00\xd5\x00\x4e\x00\x4f\x00\xd7\x00\xd8\x00\x52\x00\x53\x00\x3f\x00\x40\x00\xe6\x00\xe7\x00\xe6\x00\xe7\x00\x17\x00\x20\x00\xc9\x00\x82\x00\xe5\x00\x24\x00\x42\x00\x43\x00\xd8\x00\x45\x00\x29\x00\x47\x00\x81\x00\x49\x00\x4a\x00\x26\x00\xd7\x00\xd8\x00\x4e\x00\x4f\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x0d\x00\x0e\x00\x8f\x00\x90\x00\x91\x00\x24\x00\xe5\x00\x94\x00\x95\x00\x96\x00\x81\x00\xe2\x00\x2b\x00\x17\x00\x4a\x00\x4b\x00\x9d\x00\x4d\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x20\x00\xe2\x00\x8f\x00\x90\x00\x91\x00\x20\x00\x08\x00\x94\x00\x95\x00\x96\x00\x17\x00\x21\x00\x27\x00\x23\x00\xc9\x00\xe3\x00\x9d\x00\x27\x00\x28\x00\x20\x00\x05\x00\x06\x00\x2c\x00\xd2\x00\x2e\x00\x2f\x00\x40\x00\x41\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xc3\x00\x23\x00\x19\x00\xc6\x00\xc7\x00\x16\x00\xc9\x00\xc4\x00\x58\x00\x20\x00\xe5\x00\xc8\x00\x5c\x00\x2f\x00\x30\x00\x31\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xd4\x00\xd5\x00\xc6\x00\xc7\x00\xd8\x00\xc9\x00\xe0\x00\x17\x00\xc7\x00\x97\x00\x05\x00\x06\x00\x9a\x00\x17\x00\x8e\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd4\x00\x20\x00\xd6\x00\xd7\x00\xd8\x00\xc4\x00\x16\x00\xe0\x00\x9d\x00\xc8\x00\x9f\x00\x05\x00\x06\x00\x21\x00\x1e\x00\x23\x00\x11\x00\xc7\x00\xe6\x00\xe7\x00\x8e\x00\xd4\x00\xd5\x00\x2b\x00\x2c\x00\xd8\x00\x2e\x00\x2f\x00\x16\x00\x19\x00\xd4\x00\x81\x00\xd6\x00\xd7\x00\xd8\x00\x9d\x00\x20\x00\x9f\x00\x9e\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xc9\x00\x16\x00\x8f\x00\x90\x00\x91\x00\xe6\x00\xe7\x00\x94\x00\x95\x00\x96\x00\x21\x00\xdd\x00\x23\x00\x17\x00\xd7\x00\xd8\x00\x9d\x00\xc6\x00\x17\x00\x05\x00\x06\x00\x2c\x00\x20\x00\x2e\x00\x2f\x00\x6d\x00\x0c\x00\x20\x00\xe5\x00\x0f\x00\xd3\x00\xd4\x00\xd5\x00\x42\x00\x43\x00\x19\x00\x16\x00\xe2\x00\x47\x00\xc4\x00\x49\x00\x4a\x00\x20\x00\xc8\x00\x1e\x00\x4e\x00\x4f\x00\x20\x00\x0d\x00\x0e\x00\x21\x00\x97\x00\x23\x00\x26\x00\xc3\x00\xd4\x00\xd5\x00\xc6\x00\xc7\x00\xd8\x00\xc9\x00\x2c\x00\x97\x00\x2e\x00\x2f\x00\x9a\x00\x81\x00\xb9\x00\x08\x00\x09\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x8b\x00\x19\x00\x40\x00\x8d\x00\x8f\x00\xd2\x00\x91\x00\xe0\x00\x20\x00\x94\x00\x95\x00\x96\x00\xd9\x00\xda\x00\x21\x00\x9e\x00\x23\x00\xd4\x00\x9d\x00\x23\x00\xd7\x00\xd8\x00\x79\x00\x7a\x00\x7b\x00\x2c\x00\x97\x00\x2e\x00\x2f\x00\x9a\x00\x81\x00\x2f\x00\x30\x00\x31\x00\xd2\x00\xe6\x00\xe7\x00\x1a\x00\x1b\x00\x1c\x00\x8b\x00\xd9\x00\xda\x00\xdb\x00\x8f\x00\xdd\x00\x91\x00\xdf\x00\xe2\x00\x94\x00\x95\x00\x96\x00\xc6\x00\x1c\x00\xc1\x00\xc2\x00\xc3\x00\x20\x00\x9d\x00\xc6\x00\xc7\x00\x28\x00\xc9\x00\x7a\x00\x7b\x00\xd3\x00\xd4\x00\xd5\x00\x2f\x00\x9d\x00\x81\x00\x9f\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xca\x00\x6d\x00\x8b\x00\xcd\x00\x5d\x00\xcf\x00\x8f\x00\xe0\x00\x91\x00\x03\x00\x19\x00\x94\x00\x95\x00\x96\x00\x08\x00\x09\x00\xda\x00\x20\x00\xc3\x00\xdd\x00\x9d\x00\xc6\x00\xc7\x00\x28\x00\xc9\x00\xd4\x00\xe1\x00\x1c\x00\xd7\x00\xd8\x00\x2f\x00\x20\x00\x81\x00\x6d\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x56\x00\xc6\x00\x8b\x00\xe6\x00\xe7\x00\xdd\x00\x8f\x00\xe0\x00\x91\x00\x0d\x00\x0e\x00\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\xe1\x00\xc3\x00\x01\x00\x9d\x00\xc6\x00\xc7\x00\x03\x00\xc9\x00\xda\x00\x08\x00\x09\x00\xdd\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\xa3\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xe2\x00\xc6\x00\x8b\x00\xa0\x00\xa1\x00\xa2\x00\x8f\x00\xe0\x00\x91\x00\x0d\x00\x0e\x00\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\x38\x00\xc3\x00\x01\x00\x9d\x00\xc6\x00\xc7\x00\x97\x00\xc9\x00\x99\x00\x08\x00\x09\x00\x08\x00\x09\x00\x7f\x00\x80\x00\x81\x00\x0a\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd4\x00\xd5\x00\x8b\x00\x48\x00\x49\x00\x4a\x00\x8f\x00\xe0\x00\x91\x00\x4e\x00\x4f\x00\x94\x00\x95\x00\x96\x00\x22\x00\x23\x00\x3a\x00\x97\x00\xc3\x00\x99\x00\x9d\x00\xc6\x00\xc7\x00\x76\x00\xc9\x00\x30\x00\x31\x00\x2f\x00\x30\x00\x31\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xe2\x00\xd4\x00\xd5\x00\xe2\x00\x43\x00\xd8\x00\x45\x00\xe0\x00\x47\x00\xe1\x00\x49\x00\x4a\x00\x58\x00\x59\x00\xc6\x00\x4e\x00\x4f\x00\xc9\x00\xc3\x00\x52\x00\x53\x00\xc6\x00\xc7\x00\x76\x00\xc9\x00\x30\x00\x31\x00\xd3\x00\xd4\x00\xd5\x00\x86\x00\xd7\x00\xd8\x00\x77\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xa0\x00\xa1\x00\xa2\x00\x35\x00\x43\x00\xbf\x00\x45\x00\xe0\x00\x47\x00\x82\x00\x49\x00\x4a\x00\xc6\x00\x63\x00\x64\x00\x4e\x00\x4f\x00\x0d\x00\x0e\x00\x52\x00\x53\x00\x0d\x00\x0e\x00\x42\x00\x43\x00\xd3\x00\xd4\x00\xd5\x00\x47\x00\x82\x00\x49\x00\x4a\x00\x42\x00\x43\x00\x5d\x00\x4e\x00\x4f\x00\x47\x00\x6d\x00\x49\x00\x4a\x00\xb2\x00\xb3\x00\xb4\x00\x4e\x00\x4f\x00\xe2\x00\xbe\x00\xbf\x00\x42\x00\x43\x00\x0c\x00\x0d\x00\x0e\x00\x47\x00\xc6\x00\x49\x00\x4a\x00\x0c\x00\x0d\x00\x0e\x00\x4e\x00\x4f\x00\xd4\x00\x0f\x00\x10\x00\xd7\x00\xd8\x00\xd3\x00\xd4\x00\xd5\x00\xbc\x00\x43\x00\x1a\x00\x45\x00\x97\x00\x47\x00\x99\x00\x49\x00\x4a\x00\xe2\x00\xe6\x00\xe7\x00\x4e\x00\x4f\x00\x0d\x00\x0e\x00\x52\x00\x53\x00\x54\x00\x55\x00\x97\x00\x29\x00\x43\x00\x2b\x00\x45\x00\xc7\x00\x47\x00\xe2\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xdb\x00\xe2\x00\xdd\x00\xd4\x00\xdf\x00\xd6\x00\xd7\x00\xd8\x00\x43\x00\x44\x00\xa3\x00\x46\x00\x47\x00\x43\x00\x8d\x00\x45\x00\x4b\x00\x47\x00\x5a\x00\x49\x00\x4a\x00\xe6\x00\xe7\x00\x34\x00\x4e\x00\x4f\x00\x34\x00\x51\x00\x52\x00\x53\x00\xc7\x00\xa0\x00\xa1\x00\xa2\x00\x4e\x00\x4f\x00\x62\x00\x63\x00\x64\x00\x70\x00\x71\x00\x72\x00\x73\x00\xd4\x00\x39\x00\xd6\x00\xd7\x00\xd8\x00\x7c\x00\x25\x00\x97\x00\x27\x00\xd8\x00\x43\x00\x6c\x00\x45\x00\x25\x00\x47\x00\x27\x00\x49\x00\x4a\x00\xe6\x00\xe7\x00\xd4\x00\x4e\x00\x4f\x00\xd7\x00\xd8\x00\x52\x00\x53\x00\x54\x00\x55\x00\xd4\x00\x43\x00\x39\x00\xd7\x00\xd8\x00\x47\x00\x39\x00\x49\x00\x4a\x00\xe6\x00\xe7\x00\xe3\x00\x4e\x00\x4f\x00\x84\x00\x85\x00\x86\x00\xd4\x00\xe6\x00\xe7\x00\xd7\x00\xd8\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xc7\x00\x84\x00\x85\x00\x86\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\xe6\x00\xe7\x00\xd2\x00\x4b\x00\xd4\x00\x39\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xc7\x00\xdd\x00\xc9\x00\xdf\x00\xa0\x00\xa1\x00\xa2\x00\x0d\x00\x0e\x00\xc9\x00\xe6\x00\xe7\x00\x25\x00\xd4\x00\x27\x00\xd6\x00\xd7\x00\xd8\x00\x97\x00\xd3\x00\xd4\x00\xd5\x00\x39\x00\xd7\x00\xd8\x00\x22\x00\xc7\x00\x48\x00\x49\x00\x4a\x00\xe5\x00\xe6\x00\xe7\x00\x4e\x00\x4f\x00\x56\x00\x25\x00\xe5\x00\x27\x00\xd4\x00\x9e\x00\xd6\x00\xd7\x00\xd8\x00\x43\x00\x25\x00\x45\x00\x27\x00\x47\x00\xd4\x00\x49\x00\x4a\x00\xd7\x00\xd8\x00\xe1\x00\x4e\x00\x4f\x00\xe6\x00\xe7\x00\x52\x00\x53\x00\x17\x00\x55\x00\xd2\x00\xb8\x00\xb9\x00\xc7\x00\xe6\x00\xe7\x00\x17\x00\xd9\x00\xda\x00\xdb\x00\x25\x00\xdd\x00\x27\x00\xdf\x00\xd2\x00\x25\x00\xd4\x00\x27\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\x6e\x00\xdd\x00\x43\x00\xdf\x00\x45\x00\x25\x00\x47\x00\x27\x00\x49\x00\x4a\x00\xe6\x00\xe7\x00\xd4\x00\x4e\x00\x4f\x00\xd7\x00\xd8\x00\x52\x00\x53\x00\x25\x00\x55\x00\x27\x00\x43\x00\xc4\x00\x45\x00\x16\x00\x47\x00\xc8\x00\x49\x00\x4a\x00\xe6\x00\xe7\x00\x20\x00\x4e\x00\x4f\x00\x17\x00\x51\x00\x52\x00\x53\x00\xd4\x00\xd5\x00\x16\x00\x43\x00\xd8\x00\x45\x00\x25\x00\x47\x00\x27\x00\x49\x00\x4a\x00\x3e\x00\x3f\x00\x40\x00\x4e\x00\x4f\x00\x30\x00\x51\x00\x52\x00\x53\x00\x86\x00\x87\x00\x88\x00\x43\x00\x25\x00\x45\x00\x27\x00\x47\x00\x5a\x00\x49\x00\x4a\x00\x25\x00\x48\x00\x27\x00\x4e\x00\x4f\x00\x01\x00\x51\x00\x52\x00\x53\x00\x60\x00\xd4\x00\x72\x00\x73\x00\xd7\x00\xd8\x00\x25\x00\x97\x00\x27\x00\x48\x00\xc7\x00\xd3\x00\xd4\x00\xd5\x00\x89\x00\xd7\x00\xd8\x00\x16\x00\x89\x00\xe6\x00\xe7\x00\x0c\x00\x25\x00\xd4\x00\x27\x00\xd6\x00\xd7\x00\xd8\x00\x25\x00\x25\x00\x27\x00\x27\x00\x43\x00\x25\x00\x45\x00\x27\x00\x47\x00\x1a\x00\x49\x00\x4a\x00\x26\x00\xe6\x00\xe7\x00\x4e\x00\x4f\x00\x27\x00\x51\x00\x52\x00\x53\x00\xd3\x00\xd4\x00\xd5\x00\x27\x00\xd7\x00\xd8\x00\xc7\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x78\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xd4\x00\x17\x00\xd6\x00\xd7\x00\xd8\x00\x4e\x00\x27\x00\xc7\x00\x29\x00\x60\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x17\x00\x5a\x00\xe6\x00\xe7\x00\xd4\x00\xc9\x00\xd6\x00\xd7\x00\xd8\x00\x0f\x00\x29\x00\xc7\x00\x2b\x00\x66\x00\x17\x00\xd3\x00\xd4\x00\xd5\x00\x1a\x00\xd7\x00\xd8\x00\xc4\x00\xe6\x00\xe7\x00\xd4\x00\xc8\x00\xd6\x00\xd7\x00\xd8\x00\xa1\x00\xa2\x00\xc7\x00\x79\x00\xe5\x00\x27\x00\x27\x00\x29\x00\xd4\x00\xd5\x00\x0d\x00\x0e\x00\xd8\x00\xe6\x00\xe7\x00\xd4\x00\x30\x00\xd6\x00\xd7\x00\xd8\x00\x05\x00\x06\x00\x0d\x00\x0e\x00\x43\x00\x30\x00\x45\x00\x20\x00\x47\x00\x26\x00\x49\x00\x4a\x00\x77\x00\xe6\x00\xe7\x00\x4e\x00\x4f\x00\x25\x00\x51\x00\x52\x00\x53\x00\x0d\x00\x0e\x00\x08\x00\x09\x00\x45\x00\x43\x00\x1a\x00\x45\x00\x20\x00\x47\x00\xc7\x00\x49\x00\x4a\x00\x37\x00\x38\x00\x78\x00\x4e\x00\x4f\x00\x29\x00\x51\x00\x52\x00\x53\x00\x0c\x00\xd4\x00\x17\x00\xd6\x00\xd7\x00\xd8\x00\x05\x00\x06\x00\x26\x00\x27\x00\x43\x00\x89\x00\x45\x00\x62\x00\x47\x00\x17\x00\x49\x00\x4a\x00\x01\x00\xe6\x00\xe7\x00\x4e\x00\x4f\x00\xc4\x00\x51\x00\x52\x00\x53\x00\xc8\x00\x05\x00\x06\x00\x43\x00\x20\x00\x45\x00\x1c\x00\x47\x00\x89\x00\x49\x00\x4a\x00\x05\x00\xd4\x00\xd5\x00\x4e\x00\x4f\x00\xd8\x00\x51\x00\x52\x00\x53\x00\x05\x00\x06\x00\x1c\x00\x43\x00\x27\x00\x45\x00\x26\x00\x47\x00\x30\x00\x49\x00\x4a\x00\x48\x00\x49\x00\x16\x00\x4e\x00\x4f\x00\x20\x00\x51\x00\x52\x00\x53\x00\x03\x00\x04\x00\x17\x00\x43\x00\x1a\x00\x45\x00\x7e\x00\x47\x00\x89\x00\x49\x00\x4a\x00\x1f\x00\x20\x00\x79\x00\x4e\x00\x4f\x00\x27\x00\x51\x00\x52\x00\x53\x00\x70\x00\x71\x00\x72\x00\x73\x00\x48\x00\x49\x00\xc7\x00\x78\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x89\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xd4\x00\x5a\x00\xd6\x00\xd7\x00\xd8\x00\x83\x00\x84\x00\x26\x00\x27\x00\xc7\x00\x63\x00\x64\x00\x89\x00\x66\x00\x1f\x00\x20\x00\x26\x00\x27\x00\xe6\x00\xe7\x00\x05\x00\x06\x00\xd4\x00\x23\x00\xd6\x00\xd7\x00\xd8\x00\x89\x00\x20\x00\x89\x00\x1a\x00\x43\x00\x79\x00\x45\x00\x1c\x00\x47\x00\xc7\x00\x49\x00\x4a\x00\x26\x00\xe6\x00\xe7\x00\x4e\x00\x4f\x00\x17\x00\x51\x00\x52\x00\x53\x00\x69\x00\xd4\x00\x64\x00\xd6\x00\xd7\x00\xd8\x00\x1b\x00\x89\x00\xc7\x00\x20\x00\x17\x00\x17\x00\x2f\x00\x60\x00\x2b\x00\x1a\x00\x5b\x00\x05\x00\x20\x00\xe6\x00\xe7\x00\xd4\x00\xc9\x00\xd6\x00\xd7\x00\xd8\x00\x29\x00\x1c\x00\xc7\x00\x3f\x00\x1a\x00\x29\x00\xd3\x00\xd4\x00\xd5\x00\x27\x00\xd7\x00\xd8\x00\x4a\x00\xe6\x00\xe7\x00\xd4\x00\x0c\x00\xd6\x00\xd7\x00\xd8\x00\x20\x00\x17\x00\xc7\x00\x20\x00\xe5\x00\x26\x00\x22\x00\x22\x00\x78\x00\x60\x00\x1b\x00\x60\x00\x1b\x00\xe6\x00\xe7\x00\xd4\x00\x29\x00\xd6\x00\xd7\x00\xd8\x00\x1b\x00\x2a\x00\x1b\x00\x20\x00\x43\x00\x26\x00\x45\x00\x5c\x00\x47\x00\x27\x00\x49\x00\x4a\x00\x1f\x00\xe6\x00\xe7\x00\x4e\x00\x4f\x00\x0f\x00\x51\x00\x52\x00\x53\x00\x0f\x00\x44\x00\x16\x00\x43\x00\x1c\x00\x45\x00\x17\x00\x47\x00\x0f\x00\x49\x00\x4a\x00\x17\x00\x26\x00\x4a\x00\x4e\x00\x4f\x00\x0c\x00\x51\x00\x52\x00\x53\x00\x64\x00\x1f\x00\x26\x00\x43\x00\x89\x00\x45\x00\x89\x00\x47\x00\xc7\x00\x49\x00\x4a\x00\x27\x00\x89\x00\x26\x00\x4e\x00\x4f\x00\x1c\x00\x51\x00\x52\x00\x53\x00\x1c\x00\xd4\x00\x1b\x00\xd6\x00\xd7\x00\xd8\x00\x43\x00\x17\x00\x45\x00\x20\x00\x47\x00\x26\x00\x49\x00\x4a\x00\x22\x00\x78\x00\x17\x00\x4e\x00\x4f\x00\xe6\x00\xe7\x00\x52\x00\x53\x00\x29\x00\x64\x00\x78\x00\x43\x00\x78\x00\x45\x00\x60\x00\x47\x00\x78\x00\x49\x00\x4a\x00\x20\x00\x22\x00\x1a\x00\x4e\x00\x4f\x00\x1c\x00\x25\x00\x52\x00\x53\x00\x75\x00\x1c\x00\x1b\x00\x43\x00\x45\x00\x45\x00\x17\x00\x47\x00\x22\x00\x49\x00\x4a\x00\x22\x00\x20\x00\x89\x00\x4e\x00\x4f\x00\x05\x00\x27\x00\x52\x00\x53\x00\x1a\x00\x17\x00\x17\x00\x43\x00\x17\x00\x45\x00\x17\x00\x47\x00\x17\x00\x49\x00\x4a\x00\x17\x00\xc7\x00\x17\x00\x4e\x00\x4f\x00\x01\x00\x17\x00\x52\x00\x53\x00\x70\x00\x71\x00\x72\x00\x73\x00\x20\x00\xd4\x00\x1f\x00\xd6\x00\xd7\x00\xd8\x00\x0f\x00\x1b\x00\xc7\x00\x17\x00\x3f\x00\x3f\x00\x2b\x00\x16\x00\x29\x00\x3f\x00\x1f\x00\x4a\x00\x25\x00\xe6\x00\xe7\x00\xd4\x00\x72\x00\xd6\x00\xd7\x00\xd8\x00\x1a\x00\x69\x00\xc7\x00\x0c\x00\x2b\x00\x89\x00\x17\x00\x89\x00\x17\x00\x17\x00\x20\x00\x17\x00\x20\x00\xe6\x00\xe7\x00\xd4\x00\x20\x00\xd6\x00\xd7\x00\xd8\x00\x43\x00\x1f\x00\x45\x00\x1f\x00\x47\x00\xc7\x00\x49\x00\x4a\x00\x29\x00\x78\x00\x69\x00\x4e\x00\x4f\x00\xe6\x00\xe7\x00\x52\x00\x53\x00\x27\x00\xd4\x00\x1e\x00\xd6\x00\xd7\x00\xd8\x00\x4e\x00\x20\x00\xc7\x00\x0f\x00\x05\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x1b\x00\x5a\x00\xe6\x00\xe7\x00\xd4\x00\xc9\x00\xd6\x00\xd7\x00\xd8\x00\x70\x00\x89\x00\xc7\x00\x0f\x00\x66\x00\x8a\x00\xd3\x00\xd4\x00\xd5\x00\x6d\x00\xd7\x00\xd8\x00\x1e\x00\xe6\x00\xe7\x00\xd4\x00\x1b\x00\xd6\x00\xd7\x00\xd8\x00\x16\x00\x8a\x00\xc7\x00\x79\x00\xe5\x00\x63\x00\x0c\x00\x8a\x00\x26\x00\x1b\x00\x0f\x00\x0f\x00\x0f\x00\xe6\x00\xe7\x00\xd4\x00\x1b\x00\xd6\x00\xd7\x00\xd8\x00\x43\x00\x8a\x00\x45\x00\x2a\x00\x47\x00\x1b\x00\x49\x00\x4a\x00\x1b\x00\x2a\x00\x8a\x00\x4e\x00\x4f\x00\xe6\x00\xe7\x00\x52\x00\x53\x00\x00\x00\xff\xff\x70\x00\x43\x00\xff\xff\x45\x00\xff\xff\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\x52\x00\x53\x00\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xc7\x00\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\x52\x00\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xd7\x00\xd8\x00\x43\x00\xff\xff\x45\x00\xff\xff\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xe6\x00\xe7\x00\x52\x00\x53\x00\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\x52\x00\x53\x00\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\x52\x00\x53\x00\xff\xff\xff\xff\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\x47\x00\xc7\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\x52\x00\x53\x00\xff\xff\xd4\x00\xff\xff\xd6\x00\xd7\x00\xd8\x00\x43\x00\xff\xff\xc7\x00\xff\xff\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xe6\x00\xe7\x00\xd4\x00\xff\xff\xd6\x00\xd7\x00\xd8\x00\x43\x00\xff\xff\xc7\x00\xff\xff\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xe6\x00\xe7\x00\xd4\x00\xff\xff\xd6\x00\xd7\x00\xd8\x00\x43\x00\xff\xff\x45\x00\xff\xff\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xc7\x00\xff\xff\x4e\x00\x4f\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xd7\x00\xd8\x00\x43\x00\xff\xff\xc7\x00\xff\xff\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xe6\x00\xe7\x00\xd4\x00\xff\xff\xd6\x00\xd7\x00\xd8\x00\xff\xff\x47\x00\xc7\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xe6\x00\xe7\x00\xd4\x00\xff\xff\xd6\x00\xd7\x00\xd8\x00\x46\x00\x47\x00\xc7\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xe6\x00\xe7\x00\xd4\x00\xff\xff\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe6\x00\xe7\x00\x69\x00\x46\x00\x47\x00\xd4\x00\x49\x00\x4a\x00\xd7\x00\xd8\x00\xff\xff\x4e\x00\x4f\x00\x49\x00\x4a\x00\xff\xff\x53\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xd4\x00\xff\xff\xff\xff\xd7\x00\xd8\x00\xff\xff\xff\xff\xc7\x00\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe6\x00\xe7\x00\xd4\x00\xff\xff\xd6\x00\xd7\x00\xd8\x00\x46\x00\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x48\x00\x49\x00\x4a\x00\xe6\x00\xe7\x00\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x47\x00\xd4\x00\x49\x00\x4a\x00\xd7\x00\xd8\x00\xff\xff\x4e\x00\x4f\x00\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xd4\x00\xe6\x00\xe7\x00\xd7\x00\xd8\x00\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\x48\x00\x49\x00\x4a\x00\xe6\x00\xe7\x00\xd4\x00\x4e\x00\x4f\x00\xd7\x00\xd8\x00\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\x48\x00\x49\x00\x4a\x00\xe6\x00\xe7\x00\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\xc9\x00\xff\xff\x68\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xd4\x00\xce\x00\xff\xff\xd7\x00\xd8\x00\xd2\x00\xff\xff\xd4\x00\xff\xff\xff\xff\xd7\x00\xd8\x00\xd9\x00\xda\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xe6\x00\xe7\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xc9\x00\x4e\x00\x4f\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\xd4\x00\xff\xff\xff\xff\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xd4\x00\xff\xff\xff\xff\xd7\x00\xd8\x00\xff\xff\x71\x00\x72\x00\x73\x00\xff\xff\xe6\x00\xe7\x00\xd4\x00\x72\x00\x73\x00\xd7\x00\xd8\x00\x8c\x00\xe6\x00\xe7\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xff\xff\xff\xff\x9d\x00\xd4\x00\xff\xff\xff\xff\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xd4\x00\xff\xff\xff\xff\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe6\x00\xe7\x00\xd4\x00\xff\xff\xff\xff\xd7\x00\xd8\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xd4\x00\xff\xff\xff\xff\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xc3\x00\xe6\x00\xe7\x00\xc6\x00\xc7\x00\xd4\x00\xc9\x00\xff\xff\xd7\x00\xd8\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc9\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\xd4\x00\xc9\x00\xe0\x00\xd7\x00\xd8\x00\xd3\x00\xd4\x00\xd5\x00\xff\xff\xd7\x00\xd8\x00\xd3\x00\xd4\x00\xd5\x00\xff\xff\xd7\x00\xd8\x00\xd4\x00\xe6\x00\xe7\x00\xd7\x00\xd8\x00\xff\xff\xe5\x00\xd4\x00\xff\xff\xff\xff\xd7\x00\xd8\x00\xe5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe6\x00\xe7\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe6\x00\xe7\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\x68\x00\xff\xff\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\xff\xff\xff\xff\x88\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\x68\x00\xff\xff\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xff\xff\xff\xff\xff\xff\x88\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x01\x00\xff\xff\xff\xff\x88\x00\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\x0c\x00\xff\xff\x01\x00\x0f\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\x22\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x71\x00\x72\x00\x73\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xff\xff\xd0\x00\xff\xff\xd2\x00\xff\xff\x30\x00\xff\xff\xff\xff\x40\x00\xff\xff\xd9\x00\xda\x00\xdb\x00\xff\xff\xdd\x00\xff\xff\xdf\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x66\x00\x5a\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x64\x00\x09\x00\x66\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x85\x00\x79\x00\x1e\x00\xff\xff\xc9\x00\xff\xff\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\x85\x00\xd3\x00\xd4\x00\xd5\x00\x01\x00\xd7\x00\xd8\x00\x30\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xe5\x00\xff\xff\x22\x00\x23\x00\x40\x00\x25\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x2f\x00\x30\x00\x31\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x01\x00\x5a\x00\xff\xff\x30\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\x66\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x79\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x85\x00\x5a\x00\xff\xff\x30\x00\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\x0c\x00\x66\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x40\x00\x01\x00\x02\x00\x16\x00\x17\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x79\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x25\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x85\x00\x5a\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x40\x00\xcb\x00\xff\xff\xff\xff\xce\x00\x16\x00\xd0\x00\x18\x00\xd2\x00\xff\xff\xff\xff\xff\xff\x79\x00\x1e\x00\xff\xff\xd9\x00\xda\x00\xdb\x00\xff\xff\xdd\x00\xff\xff\xdf\x00\xff\xff\xff\xff\x85\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x66\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x19\x00\x79\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x25\x00\x85\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x23\x00\x18\x00\x25\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\x75\x00\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\x75\x00\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x17\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\xff\xff\x61\x00\x20\x00\x63\x00\x64\x00\x23\x00\x66\x00\x25\x00\xff\xff\xff\xff\x6a\x00\x6b\x00\x6c\x00\x2b\x00\xff\xff\x6f\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6f\x00\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6f\x00\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xcb\x00\x63\x00\x64\x00\xce\x00\x66\x00\xd0\x00\xff\xff\xd2\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\x6f\x00\xd9\x00\xda\x00\xdb\x00\xff\xff\xdd\x00\xff\xff\xdf\x00\xff\xff\xff\xff\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xcb\x00\x21\x00\xff\xff\xce\x00\xff\xff\xd0\x00\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xd9\x00\xda\x00\xdb\x00\xff\xff\xdd\x00\xff\xff\xdf\x00\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x72\x00\x73\x00\xff\xff\x75\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\xc9\x00\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xd3\x00\xd4\x00\xd5\x00\xff\xff\xd7\x00\xd8\x00\xff\xff\x6f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x79\x00\xe5\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x21\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xff\xff\xd7\x00\xd8\x00\xd9\x00\xda\x00\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe5\x00\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x1e\x00\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x2d\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x79\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x2f\x00\x30\x00\x31\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x64\x00\xff\xff\x66\x00\x05\x00\x06\x00\x24\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x79\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\x2e\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x01\x00\x5a\x00\xff\xff\x79\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\xff\xff\x66\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x79\x00\x22\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x25\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x66\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x63\x00\x64\x00\x79\x00\x66\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\x16\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x79\x00\x1e\x00\x01\x00\x20\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x0c\x00\x22\x00\x23\x00\x0f\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\x2f\x00\x30\x00\x31\x00\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x22\x00\x23\x00\x40\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x79\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x64\x00\xff\xff\x66\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x1e\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x6d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x79\x00\x5a\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x79\x00\x20\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x1e\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x66\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x63\x00\x64\x00\x79\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x79\x00\x5a\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x64\x00\xff\xff\x66\x00\xff\xff\x0c\x00\xff\xff\x01\x00\x0f\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x79\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x40\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x66\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x79\x00\x5a\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x79\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x0c\x00\xff\xff\x01\x00\x0f\x00\x30\x00\x31\x00\x05\x00\x06\x00\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x40\x00\x05\x00\x06\x00\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x16\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x79\x00\x5a\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x66\x00\x5a\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x63\x00\xff\xff\xff\xff\x66\x00\xff\xff\x0c\x00\xff\xff\x01\x00\x0f\x00\x79\x00\x6d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x01\x00\x02\x00\x79\x00\x1e\x00\x05\x00\x06\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x2e\x00\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x1e\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x79\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x66\x00\x5a\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x66\x00\x5a\x00\xff\xff\xff\xff\x01\x00\xff\xff\x79\x00\xff\xff\x05\x00\x06\x00\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\x0c\x00\xff\xff\x01\x00\x0f\x00\x79\x00\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\x0c\x00\xff\xff\x01\x00\x0f\x00\x79\x00\x1e\x00\x05\x00\x06\x00\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x1e\x00\x05\x00\x06\x00\x2e\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x66\x00\x5a\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x66\x00\x5a\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x79\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x66\x00\x5a\x00\xff\xff\xff\xff\x01\x00\xff\xff\x79\x00\xff\xff\x05\x00\x06\x00\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\x0c\x00\xff\xff\x01\x00\x0f\x00\x79\x00\xff\xff\x05\x00\xff\xff\x70\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x66\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x79\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x16\x00\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x1c\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x70\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x79\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x22\x00\x23\x00\xff\xff\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x01\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x16\x00\x2b\x00\xff\xff\xff\xff\x01\x00\x02\x00\x63\x00\x64\x00\xff\xff\x66\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x1c\x00\x01\x00\x02\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x66\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x24\x00\x5a\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x63\x00\x64\x00\x79\x00\x66\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x16\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x01\x00\x02\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x79\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x16\x00\x5a\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x79\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x16\x00\xff\xff\x79\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x16\x00\xff\xff\xff\xff\xff\xff\x01\x00\x79\x00\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x63\x00\x64\x00\x05\x00\x66\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x01\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x66\x00\xff\xff\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x16\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x23\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x79\x00\xff\xff\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\x66\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xb5\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\x9d\x00\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xbb\x00\xff\xff\xbd\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xb5\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\x9d\x00\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xbb\x00\xff\xff\xbd\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xb5\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\x9d\x00\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xbb\x00\xff\xff\xbd\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xbb\x00\xff\xff\xbd\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xad\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xe0\x00\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbd\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xb6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xe0\x00\xe1\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xe0\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xe0\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xe0\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xe0\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xe0\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xe0\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xe0\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xe0\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xe0\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xa6\x00\xa7\x00\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xcc\x00\xff\xff\xce\x00\xff\xff\xff\xff\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xcc\x00\xff\xff\xce\x00\xff\xff\xff\xff\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xcc\x00\xff\xff\xce\x00\xff\xff\xff\xff\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xcc\x00\xff\xff\xce\x00\xff\xff\xff\xff\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xcc\x00\xff\xff\xce\x00\xff\xff\xff\xff\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xcc\x00\xff\xff\xce\x00\xff\xff\xff\xff\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xcc\x00\xff\xff\xce\x00\xff\xff\xff\xff\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xcc\x00\xff\xff\xce\x00\xff\xff\xff\xff\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xcc\x00\xff\xff\xce\x00\xff\xff\xff\xff\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb0\x00\xb1\x00\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xb1\x00\x94\x00\x95\x00\x96\x00\xb5\x00\xff\xff\xff\xff\xff\xff\x9b\x00\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9b\x00\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\x8f\x00\xff\xff\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x9d\x00\xff\xff\x89\x00\x8a\x00\x8b\x00\x8c\x00\xff\xff\xe0\x00\x8f\x00\x90\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\xff\xff\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\x93\x00\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\x93\x00\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\x9d\x00\xff\xff\xff\xff\xa0\x00\xa1\x00\xa2\x00\xff\xff\xa4\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xa0\x00\xa1\x00\xa2\x00\xff\xff\xa4\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xc3\x00\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x0c\x00\x09\x00\x0b\x00\xa1\x00\x09\x00\xa2\x00\x64\x02\x9d\x03\x9e\x03\x9f\x03\x39\x02\x6d\x03\x24\x03\x8b\x04\x7b\x04\x0b\x04\x0c\x04\xc4\x00\x8d\x02\xa1\x01\xe9\x01\x9f\x01\x69\x03\x4b\x03\xc4\x00\x8c\x04\x8d\x04\x14\x01\x97\x02\x6c\x03\xe1\x02\xa1\x01\x01\x03\x62\x04\x8d\x02\x3c\x04\x65\x00\x3a\x02\x3b\x02\xba\xff\x67\x00\xcf\x01\x68\x00\x69\x00\xd5\x01\xa1\x01\xe9\x01\x6a\x00\x6b\x00\xa1\x01\x01\x03\xf8\x00\x6e\x00\x3c\x02\xff\x00\xc4\x00\xc4\x00\x36\x03\xa1\x01\x40\x02\xc5\x00\x1b\x01\xa1\x01\x76\x03\xa1\x01\x76\x03\x15\x01\xa1\x01\x40\x02\x53\x02\xbc\x00\xa7\x00\x1a\x01\xa8\x00\xa1\x01\xdf\x03\x55\x02\xa1\x01\xdf\x03\x55\x02\x37\x03\xd0\x01\xf8\x03\x20\x01\xeb\x00\xa9\x03\x86\x03\x41\x02\x3e\x03\x84\x04\x4f\x02\xdb\x00\xd0\x01\xdd\x00\xd5\x01\xdc\x00\x43\x02\xa6\x01\x24\x00\x25\x00\xa1\x01\xc0\x03\x95\x04\xa1\x01\xc0\x03\x85\x03\x86\x03\xce\x00\x97\x04\x3f\x04\xf9\x03\x15\x01\xec\x00\x3e\x04\x3f\x04\xa9\x00\x92\x04\xd6\x01\xe1\x00\x89\x04\xcf\x03\x0d\x04\x15\x01\x50\x02\x92\x03\x93\x03\xa7\x01\x4c\x03\x25\x00\x24\x03\xe4\x00\xe5\x00\xe6\x00\xcf\x00\xa9\x00\x24\x00\x25\x00\x7e\x00\x0d\x04\x7f\x00\x67\x03\x94\x03\xdc\x01\xdd\x01\x81\x00\x20\x03\x78\x04\x34\x04\x82\x00\xbe\x00\x83\x00\x84\x00\x24\x00\x25\x00\x98\x02\xe0\x03\x21\x00\xad\x00\xe1\x03\x7e\x00\xf5\xff\x7f\x00\xc0\xfd\x35\x04\xdc\x01\xdd\x01\x81\x00\xc0\xfd\x6f\x00\x99\x02\x82\x00\x98\x02\x83\x00\x84\x00\x77\x03\x7c\x04\x78\x03\x17\x02\x40\x04\x13\x02\x54\x02\x70\x00\x41\x04\x23\x00\x71\x00\x25\x00\x99\x02\x56\x02\xa0\x03\xea\x01\x59\x02\xeb\x00\x8e\x04\x02\x03\x21\x00\xad\x00\x8f\x04\xc6\x00\xae\x00\x72\x00\x73\x00\x20\x00\x21\x00\x22\x00\xc6\x00\x24\x00\x25\x00\xc1\x03\x21\x00\xad\x00\xc2\x03\x03\x03\xae\x00\xc1\xfd\xa0\x03\xeb\x01\x6c\x04\xeb\x00\xc1\xfd\xa1\x03\x65\x02\xa0\x01\x0a\x00\x0a\x00\x90\x04\x0a\x00\x0a\x00\x20\x00\x21\x00\x22\x00\xa0\x01\x24\x00\x25\x00\x85\x00\x25\x02\xc6\x00\xc6\x00\x42\x02\x21\x00\x87\x03\x17\x04\x86\x00\x10\x00\x87\x00\x12\x00\xa1\x03\x44\x02\x13\x00\x14\x00\x15\x00\x0d\x02\x44\x03\x16\x00\x17\x00\x18\x00\x85\x00\x17\x04\x6d\x04\x21\x00\x87\x03\x2b\x03\x19\x00\x70\x04\x86\x00\x10\x00\x87\x00\x12\x00\xfd\x00\x8e\x04\x13\x00\x14\x00\x15\x00\x8f\x04\x40\x04\x16\x00\x17\x00\x18\x00\x41\x04\x40\x04\xcd\x03\x0d\x02\xca\x02\x41\x04\x19\x00\x21\x00\xad\x00\x6f\x03\x71\x04\xae\x00\x21\x00\xad\x00\xac\x02\x1b\x02\xae\x00\x21\x00\xad\x00\x6a\x04\x54\x04\xae\x00\x1c\x00\x90\x04\x99\x02\x1d\x00\x1e\x00\x70\x00\x1f\x00\x0d\x02\xf1\x00\xf2\x00\xf3\x00\x45\x04\x18\x04\x19\x04\x2c\x00\x2d\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x14\x02\x73\x00\x1d\x00\x1e\x00\x70\x00\x1f\x00\x26\x00\x92\x02\x10\x02\x46\x04\x93\x02\x94\x02\x8d\x02\xc0\x02\x1f\x02\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x18\x02\x25\x04\x73\x00\x19\x02\x7e\x00\x1a\x02\x7f\x00\x26\x00\xdb\x01\xdc\x01\xdd\x01\x81\x00\x36\x03\xc1\x02\x20\x02\x82\x00\x1b\x02\x83\x00\x84\x00\x1c\x02\x8d\x02\x0d\x02\xf1\x00\x5d\x04\x11\x02\xaf\x03\x7e\x00\xdc\x00\x7f\x00\xde\x00\xb0\x03\x8c\x01\x38\x03\x81\x00\xeb\x00\xe1\x02\x77\x04\x82\x00\x26\x02\x83\x00\x84\x00\xa9\x00\x9e\x01\x8d\x01\x26\x02\x23\x00\x2b\x04\x81\x03\x24\x00\x25\x00\x39\x04\x20\x00\x21\x00\x22\x00\x9c\x04\xe2\x00\x01\x04\x20\x00\x21\x00\x22\x00\x26\x02\x75\x04\xf5\x00\x76\x04\xeb\x00\x65\x00\x70\x00\x66\x00\x70\x00\x67\x00\x76\x04\x68\x00\x69\x00\x20\x00\x21\x00\x22\x00\x6a\x00\x6b\x00\x24\x00\x25\x00\x82\x03\x6e\x00\x72\x02\xb5\x00\x74\x03\x73\x00\xc6\x02\x73\x00\x05\x02\xcd\x01\xeb\x00\x02\x04\xf5\x00\xce\x01\x4a\x04\x4b\x04\xc3\x02\x4c\x04\xcf\x01\xc1\x00\x85\x00\x68\x00\x69\x00\x06\x02\x24\x00\x25\x00\x6a\x00\x6b\x00\x86\x00\x10\x00\x87\x00\x12\x00\x4e\x04\x4f\x04\x13\x00\x14\x00\x15\x00\x2c\x03\xf5\x00\x16\x00\x17\x00\x18\x00\x85\x00\x09\x04\xc2\x01\x29\x03\x0d\x02\xf1\x00\x19\x00\x0e\x02\x86\x00\x10\x00\x87\x00\x12\x00\xfd\x00\x1d\x04\x13\x00\x14\x00\x15\x00\x36\x03\xdb\x00\x16\x00\x17\x00\x18\x00\xc8\x02\x7e\x00\x6c\x03\x7f\x00\xeb\x00\x2e\x04\x19\x00\x80\x00\x81\x00\xc9\x02\x2c\x00\x2d\x00\x82\x00\xde\x01\x83\x00\x84\x00\xa9\x00\xaa\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\x1c\x00\xe1\x00\x12\x03\x1d\x00\x1e\x00\x10\x02\x1f\x00\xab\x00\x92\x02\xfd\x00\xf5\x00\xac\x00\xbf\x03\xe4\x00\xe5\x00\xe6\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x21\x00\xad\x00\x1d\x00\x1e\x00\xae\x00\x1f\x00\x26\x00\x37\x04\x6f\x00\xc2\x01\x2c\x00\x2d\x00\x29\x03\x19\x03\x03\x04\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x70\x00\xfd\x00\x23\x00\x71\x00\x25\x00\xab\x00\xee\x00\x26\x00\xe3\x01\xac\x00\xe4\x01\x2c\x00\x2d\x00\x7e\x00\xef\x00\x7f\x00\x30\x04\x6f\x00\x72\x00\x73\x00\xe2\x01\x21\x00\xad\x00\x86\x02\x87\x02\xae\x00\x83\x00\x84\x00\x4e\x03\xc5\x01\x70\x00\x85\x00\x23\x00\x71\x00\x25\x00\xe3\x01\xfd\x00\xe4\x01\x33\x04\x86\x00\x10\x00\x87\x00\x12\x00\xeb\x00\x97\x03\x13\x00\x14\x00\x15\x00\x72\x00\x73\x00\x16\x00\x17\x00\x18\x00\x7e\x00\x5c\x02\x7f\x00\xbd\x01\x24\x00\x25\x00\x19\x00\x4a\x02\x02\x02\x2c\x00\x2d\x00\x1f\x04\xfd\x00\x83\x00\x84\x00\xe5\x03\x75\x00\xc0\x01\xf5\x00\x76\x00\x20\x00\x21\x00\x22\x00\x1c\x04\x46\x02\xfc\x00\x10\x02\xb2\x03\xc1\x00\xab\x00\x68\x00\x69\x00\xfd\x00\xac\x00\x11\x02\x6a\x00\x6b\x00\xac\x02\x57\x04\x58\x04\x7e\x00\x00\x01\x7f\x00\xad\x02\x1c\x00\x21\x00\xad\x00\x1d\x00\x1e\x00\xae\x00\x1f\x00\x1f\x04\xc2\x01\x83\x00\x84\x00\x10\x03\x85\x00\xe9\x03\xdb\x00\xdc\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x88\x02\x07\x02\x7a\x00\xe8\x03\x13\x00\xde\x01\x15\x00\x26\x00\xc0\x01\x16\x00\x17\x00\x18\x00\xd5\x00\xd6\x00\x7e\x00\xec\x03\x7f\x00\x70\x00\x19\x00\xe1\x00\xc8\x01\x25\x00\x20\x04\x21\x04\x22\x04\xae\x03\xc2\x01\x83\x00\x84\x00\xc3\x01\x85\x00\xe4\x00\xe5\x00\xe6\x00\x01\x01\xfa\x01\x73\x00\x85\x04\x86\x04\x87\x04\x88\x02\xd5\x00\xd6\x00\x02\x01\x13\x00\xd8\x00\x15\x00\xd9\x00\x30\x03\x16\x00\x17\x00\x18\x00\x4b\x02\x52\x04\x89\x02\x8a\x02\x1c\x00\x53\x04\x19\x00\x1d\x00\x8b\x02\xb4\x03\x1f\x00\x6b\x04\x22\x04\x20\x00\x21\x00\x22\x00\xb5\x03\xe3\x01\x85\x00\xe4\x01\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x18\x02\x4a\x03\x88\x02\x19\x02\x49\x03\x46\x03\x13\x00\x26\x00\x15\x00\xa3\x00\x08\x02\x16\x00\x17\x00\x18\x00\xa4\x00\xa5\x00\x1b\x02\x09\x02\x1c\x00\x1c\x02\x19\x00\x1d\x00\x1e\x00\xb4\x03\x1f\x00\x70\x00\x4e\x03\x1d\x03\x71\x00\x25\x00\xb5\x03\x1e\x03\x85\x00\x50\x03\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x5a\x03\x4d\x02\x88\x02\x72\x00\x73\x00\x6e\x03\x13\x00\x26\x00\x15\x00\x28\x04\x29\x04\x16\x00\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x71\x03\x1c\x00\x9d\x01\x19\x00\x1d\x00\x1e\x00\x8f\x03\x1f\x00\x5b\x02\x9c\x01\xa5\x00\x5c\x02\xb6\x03\xb7\x03\xb8\x03\xb9\x03\x6a\x02\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x91\x03\x50\x02\xba\x03\x60\x04\x25\x01\x26\x01\x13\x00\x26\x00\x15\x00\x99\x03\x9a\x03\x16\x00\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x74\x02\x1c\x00\x9b\x01\x19\x00\x1d\x00\x1e\x00\xba\x01\x1f\x00\x27\x03\x9c\x01\xa5\x00\xdb\x00\xdc\x00\x47\x04\xb8\x03\xb9\x03\x6c\x02\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x21\x00\xa8\x03\xba\x03\x8a\x04\xcb\x03\x69\x00\x13\x00\x26\x00\x15\x00\x6a\x00\x6b\x00\x16\x00\x17\x00\x18\x00\x1e\x02\xe1\x00\x75\x02\xba\x01\x1c\x00\x17\x03\x19\x00\x1d\x00\x1e\x00\x80\x02\x1f\x00\x80\x03\x81\x03\xe4\x00\xe5\x00\xe6\x00\x9e\x02\x9f\x02\xa0\x02\xa1\x02\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x82\x02\x21\x00\xc2\x02\x83\x02\x65\x00\xc3\x02\x66\x00\x26\x00\x67\x00\x8e\x02\x68\x00\x69\x00\xbd\x03\xbe\x03\x5a\x01\x6a\x00\x6b\x00\x5b\x01\x1c\x00\x82\x03\x6e\x00\x1d\x00\x1e\x00\x91\x02\x1f\x00\x84\x03\x81\x03\x20\x00\x21\x00\x22\x00\xa9\x02\x24\x00\x25\x00\x95\x02\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x76\x04\x25\x01\x26\x01\x9c\x02\x65\x00\x25\x03\x66\x00\x26\x00\x67\x00\xa1\x02\x68\x00\x69\x00\xb0\x01\xc8\x03\xb0\x02\x6a\x00\x6b\x00\xf3\x03\xf4\x03\x82\x03\x6e\x00\xa1\x01\x3f\x03\x26\x04\x46\x02\x20\x00\x21\x00\x22\x00\xc1\x00\xaa\x02\x68\x00\x69\x00\xc3\x03\x46\x02\xbc\x02\x6a\x00\x6b\x00\xc1\x00\xbe\x02\x68\x00\x69\x00\xee\x03\xef\x03\xf0\x03\x6a\x00\x6b\x00\xd4\x02\xae\x01\xaf\x01\x45\x02\x46\x02\x67\x02\xa1\x01\x68\x02\xc1\x00\xb0\x01\x68\x00\x69\x00\x69\x02\xa1\x01\x68\x02\x6a\x00\x6b\x00\x70\x00\x8c\x03\x8d\x03\x71\x00\x25\x00\x20\x00\x21\x00\x22\x00\xd6\x02\x65\x00\xe6\x01\x66\x00\xba\x01\x67\x00\xbb\x01\x68\x00\x69\x00\xdc\x02\x72\x00\x73\x00\x6a\x00\x6b\x00\x7a\x03\x7b\x03\xfd\x00\x6e\x00\xfe\x00\xff\x00\xfa\x00\xf2\x03\x65\x00\xf3\x03\xef\x00\x6f\x00\xc1\x00\xfd\x02\x68\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\x6a\x00\x6b\x00\x83\x01\xa4\x01\xd8\x00\x70\x00\xd9\x00\x23\x00\x71\x00\x25\x00\xe7\x01\x4a\x00\xe0\x01\x4b\x00\x4c\x00\x65\x00\xec\x01\x66\x00\xe8\x01\x67\x00\x36\x02\x68\x00\x69\x00\x72\x00\x73\x00\x2d\x02\x6a\x00\x6b\x00\x35\x02\x66\x04\x6d\x00\x6e\x00\x6f\x00\x63\x02\x25\x01\x26\x01\x55\x01\x6b\x00\xae\x02\xaf\x02\xb0\x02\xe6\x03\xb3\x02\xb4\x02\xb5\x02\x70\x00\x51\x02\x23\x00\x71\x00\x25\x00\x3e\x02\x16\xfe\x00\x01\x16\xfe\x59\x02\x65\x00\x67\x04\x66\x00\x28\xfe\x67\x00\x28\xfe\x68\x00\x69\x00\x72\x00\x73\x00\x70\x00\x6a\x00\x6b\x00\x71\x00\x25\x00\xfd\x00\x6e\x00\xfe\x00\xff\x00\x70\x00\xfb\x01\xba\x00\x71\x00\x25\x00\xc1\x00\xbc\x00\x68\x00\x69\x00\x72\x00\x73\x00\x5f\x02\x6a\x00\x6b\x00\x27\x02\x28\x02\x29\x02\x70\x00\x72\x00\x73\x00\x71\x00\x25\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\x6f\x00\x2c\x02\x28\x02\x29\x02\xe7\x01\x4a\x00\x3c\x04\x4b\x00\x4c\x00\x72\x00\x73\x00\x09\x02\xe8\x01\x70\x00\xbe\x00\x23\x00\x71\x00\x25\x00\xd5\x00\xd6\x00\x02\x01\x6f\x00\xd8\x00\xeb\x00\xd9\x00\x24\x01\x25\x01\x26\x01\x7d\x03\x7e\x03\xeb\x00\x72\x00\x73\x00\x2a\xfe\x70\x00\x2a\xfe\x23\x00\xf4\x00\x25\x00\x00\x01\xb6\x02\x21\x00\x22\x00\xbf\x00\x24\x00\x25\x00\xe8\x00\x6f\x00\x7f\x04\xcb\x03\x69\x00\xf5\x00\x72\x00\x73\x00\x6a\x00\x6b\x00\xea\x00\x2b\xfe\xb7\x02\x2b\xfe\x70\x00\x22\x01\x23\x00\x71\x00\x25\x00\x65\x00\x32\xfe\x66\x00\x32\xfe\x67\x00\x70\x00\x68\x00\x69\x00\x71\x00\x25\x00\x5d\x01\x6a\x00\x6b\x00\x72\x00\x73\x00\xf8\x00\x6e\x00\x9b\x04\xe2\x03\xde\x01\xde\x02\xdf\x02\x6f\x00\x56\x01\x73\x00\x97\x04\xd5\x00\xd6\x00\x83\x01\x33\xfe\xd8\x00\x33\xfe\xd9\x00\x01\x01\x34\xfe\x70\x00\x34\xfe\x23\x00\x71\x00\x25\x00\xd5\x00\xd6\x00\x02\x01\xe3\x03\xd8\x00\x65\x00\xd9\x00\x66\x00\x35\xfe\x67\x00\x35\xfe\x68\x00\x69\x00\x72\x00\x73\x00\x70\x00\x6a\x00\x6b\x00\x71\x00\x25\x00\xf8\x00\x6e\x00\x36\xfe\xf9\x00\x36\xfe\x65\x00\xab\x00\x66\x00\x92\x04\x67\x00\xac\x00\x68\x00\x69\x00\x72\x00\x73\x00\x94\x04\x6a\x00\x6b\x00\x95\x04\x7d\x04\x6d\x00\x6e\x00\x21\x00\xad\x00\x8a\x04\x65\x00\xae\x00\x66\x00\x37\xfe\x67\x00\x37\xfe\x68\x00\x69\x00\x73\x02\xb4\x00\xb5\x00\x6a\x00\x6b\x00\x84\x04\x63\x04\x6d\x00\x6e\x00\x99\x01\x9a\x01\x9b\x01\x65\x00\x38\xfe\x66\x00\x38\xfe\x67\x00\x7a\x04\x68\x00\x69\x00\x39\xfe\x7b\x04\x39\xfe\x6a\x00\x6b\x00\x28\x00\x6f\x04\x6d\x00\x6e\x00\xc0\x02\x70\x00\x0e\x04\xb5\x02\x71\x00\x25\x00\x3a\xfe\xfa\x00\x3a\xfe\x82\x04\x6f\x00\xc7\x01\x21\x00\x22\x00\x7f\x04\xc8\x01\x25\x00\x9c\x02\x81\x04\x72\x00\x73\x00\x62\x04\x3b\xfe\x70\x00\x3b\xfe\x23\x00\x71\x00\x25\x00\x3c\xfe\x43\xfe\x3c\xfe\x43\xfe\x65\x00\x44\xfe\x66\x00\x44\xfe\x67\x00\x8d\x02\x68\x00\x69\x00\x22\x02\x72\x00\x73\x00\x6a\x00\x6b\x00\x49\xff\x44\x04\x6d\x00\x6e\x00\x24\x02\x21\x00\x22\x00\x6f\x04\xc8\x01\x25\x00\x6f\x00\x2f\x02\x30\x02\x31\x02\x32\x02\x33\x02\x34\x02\x35\x02\xbe\x02\xb6\x00\xb3\x00\xb4\x00\xb5\x00\x70\x00\x73\x04\x23\x00\x71\x00\x25\x00\x4d\x00\xb0\xfe\x6f\x00\xb0\xfe\xc0\x02\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x74\x04\x57\x00\x72\x00\x73\x00\x70\x00\xeb\x00\x23\x00\x71\x00\x25\x00\x3b\x04\xc1\x01\x6f\x00\xc2\x01\x5c\x00\x3e\x04\xb6\x02\x21\x00\x22\x00\x8d\x02\x24\x00\x25\x00\xab\x00\x72\x00\x73\x00\x70\x00\xac\x00\x23\x00\x71\x00\x25\x00\xfa\x02\x26\x01\x6f\x00\x62\x00\xb7\x02\x2b\x02\x4a\x04\x2c\x02\x21\x00\xad\x00\xfb\x02\xfc\x02\xae\x00\x72\x00\x73\x00\x70\x00\x55\x04\x23\x00\x71\x00\x25\x00\x1e\x03\x97\x01\xa1\x01\x21\x03\x65\x00\x56\x04\x66\x00\xd0\xfe\x67\x00\x57\x04\x68\x00\x69\x00\x5e\x04\x72\x00\x73\x00\x6a\x00\x6b\x00\x5a\x04\x48\x04\x6d\x00\x6e\x00\xa1\x01\xa2\x01\x62\x02\xa5\x00\x5c\x04\x65\x00\x8d\x02\x66\x00\x2f\x03\x67\x00\x6f\x00\x68\x00\x69\x00\xb7\x00\xb8\x00\xa3\x02\x6a\x00\x6b\x00\xf2\x03\x2a\x04\x6d\x00\x6e\x00\x07\x04\x70\x00\x08\x04\x23\x00\x71\x00\x25\x00\x96\x01\x97\x01\x22\x02\x23\x02\x65\x00\x11\x04\x66\x00\x06\x04\x67\x00\x09\x04\x68\x00\x69\x00\x28\x00\x72\x00\x73\x00\x6a\x00\x6b\x00\xab\x00\x66\x03\x6d\x00\x6e\x00\xac\x00\x61\x02\x62\x02\x65\x00\x09\x02\x66\x00\x0b\x04\x67\x00\x14\x04\x68\x00\x69\x00\x2c\x00\x21\x00\xad\x00\x6a\x00\x6b\x00\xae\x00\x7f\x03\x6d\x00\x6e\x00\x61\x02\x62\x02\x1f\x04\x65\x00\x7a\x03\x66\x00\x2d\x04\x67\x00\x1c\x04\x68\x00\x69\x00\x9c\x03\x9d\x03\x30\x04\x6a\x00\x6b\x00\x32\x04\x7e\x02\x6d\x00\x6e\x00\x2a\x00\x2b\x00\x33\x04\x65\x00\x8d\x02\x66\x00\x99\x03\x67\x00\x37\x04\x68\x00\x69\x00\xde\x03\xdf\x03\x39\x04\x6a\x00\x6b\x00\xa8\x03\xab\x01\x6d\x00\x6e\x00\xb2\x02\xb3\x02\xb4\x02\xb5\x02\x3a\x03\x3b\x03\x6f\x00\xa5\x03\x4d\x00\x4e\x00\x4f\x00\x50\x00\xa6\x03\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x70\x00\x57\x00\x23\x00\x71\x00\x25\x00\x6e\x02\x6f\x02\x22\x02\x23\x02\x6f\x00\x5a\x00\x5b\x00\xa7\x03\x5c\x00\xca\x02\xc9\x02\x22\x02\x23\x02\x72\x00\x73\x00\x61\x02\x62\x02\x70\x00\xab\x03\x23\x00\x71\x00\x25\x00\xac\x03\xad\x03\xae\x03\x8d\x02\x65\x00\x62\x00\x66\x00\xb4\x03\x67\x00\x6f\x00\x68\x00\x69\x00\xc5\x03\x72\x00\x73\x00\x6a\x00\x6b\x00\xc6\x03\x1e\x02\x6d\x00\x6e\x00\xef\x01\x70\x00\xb2\x02\x23\x00\x71\x00\x25\x00\xcd\x03\xca\x03\x6f\x00\xdb\x03\xdc\x03\xdd\x03\xe8\x03\xc0\x02\xeb\x03\xee\x01\xfa\x03\x2c\x00\x2f\x03\x72\x00\x73\x00\x70\x00\xeb\x00\x23\x00\x71\x00\x25\x00\xc1\x01\x32\x03\x6f\x00\x38\x03\x8d\x02\x30\x03\xb6\x02\x21\x00\x22\x00\x3c\x03\x24\x00\x25\x00\x3d\x03\x72\x00\x73\x00\x70\x00\x43\x03\x23\x00\x71\x00\x25\x00\x15\xff\x44\x03\x6f\x00\x29\xff\xb7\x02\x46\x03\x48\x03\x49\x03\xbe\x02\xc0\x02\x50\x03\xc0\x02\xc8\x00\x72\x00\x73\x00\x70\x00\x66\x03\x23\x00\x71\x00\x25\x00\xc8\x00\x6b\x03\x73\x03\x74\x03\x65\x00\x71\x03\x66\x00\x6b\x01\x67\x00\x7a\x03\x68\x00\x69\x00\x84\x03\x72\x00\x73\x00\x6a\x00\x6b\x00\x8b\x03\x23\x02\x6d\x00\x6e\x00\x8c\x03\xa7\x00\x8f\x03\x65\x00\x97\x03\x66\x00\x70\x02\x67\x00\xba\x00\x68\x00\x69\x00\x71\x02\x78\x02\x6c\x02\x6a\x00\x6b\x00\x79\x02\x5e\x01\x6d\x00\x6e\x00\x77\x02\x7a\x02\x7b\x02\x65\x00\x7c\x02\x66\x00\x7d\x02\x67\x00\x6f\x00\x68\x00\x69\x00\x82\x02\x7e\x02\x22\x02\x6a\x00\x6b\x00\x85\x02\x6c\x00\x6d\x00\x6e\x00\x86\x02\x70\x00\x90\x02\x23\x00\x71\x00\x25\x00\x65\x00\x91\x02\x66\x00\x1a\xff\x67\x00\x22\x02\x68\x00\x69\x00\xae\x02\x97\x02\xcc\x02\x6a\x00\x6b\x00\x72\x00\x73\x00\x4d\x04\x6e\x00\x2c\x02\xb2\x02\xa3\x02\x65\x00\xa3\x02\x66\x00\xc0\x02\x67\x00\xbe\x02\x68\x00\x69\x00\xc5\x02\xd0\x02\xd8\x02\x6a\x00\x6b\x00\xd9\x02\xd2\x02\xc5\x02\x6e\x00\xdc\x02\xde\x02\xd2\x01\x65\x00\xe5\x02\x66\x00\xb9\x01\x67\x00\x0f\x03\x68\x00\x69\x00\x10\x03\x21\x03\x23\x03\x6a\x00\x6b\x00\x2c\x00\x1c\x03\xcc\x02\x6e\x00\xa4\x01\x8a\xfd\x8c\xfd\x65\x00\x8b\xfd\x66\x00\x8e\xfd\x67\x00\x91\xfd\x68\x00\x69\x00\xb8\x01\x6f\x00\xb9\x01\x6a\x00\x6b\x00\x28\x00\xba\x01\xce\x02\x6e\x00\xcd\x02\xb3\x02\xb4\x02\xb5\x02\xcb\x01\x70\x00\xcc\x01\x23\x00\x71\x00\x25\x00\x9b\x02\xd2\x01\x6f\x00\xd8\x01\xd9\x01\xda\x01\xc2\x01\x9c\x02\xd7\x01\xdb\x01\xf8\x00\xe2\x01\xe0\x01\x72\x00\x73\x00\x70\x00\xe9\x01\x23\x00\x71\x00\x25\x00\xee\x01\xef\x01\x6f\x00\xf8\x01\xf1\x01\xf6\x01\xff\x01\xf7\x01\x00\x02\x01\x02\x03\x02\x04\x02\x0b\x02\x72\x00\x73\x00\x70\x00\x2d\xff\x23\x00\x71\x00\x25\x00\x65\x00\x0c\x02\x66\x00\x0d\x02\x67\x00\x6f\x00\x68\x00\x69\x00\x38\x02\x40\x02\xef\x01\x6a\x00\x6b\x00\x72\x00\x73\x00\xf9\x01\x6e\x00\x4a\x02\x70\x00\xbc\x00\x23\x00\x71\x00\x25\x00\x4d\x00\x57\x02\x6f\x00\x58\x02\x2c\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x67\x02\x57\x00\x72\x00\x73\x00\x70\x00\xeb\x00\x23\x00\x71\x00\x25\x00\xa9\x00\x5e\x02\x6f\x00\xba\x00\x5c\x00\xff\xff\xb6\x02\x21\x00\x22\x00\xca\x00\x24\x00\x25\x00\xbc\x00\x72\x00\x73\x00\x70\x00\xc8\x00\x23\x00\x71\x00\x25\x00\xcb\x00\xff\xff\x6f\x00\x62\x00\xb7\x02\xcc\x00\xea\x00\xff\xff\x06\x01\x17\x01\x12\x01\x13\x01\x14\x01\x72\x00\x73\x00\x70\x00\xc8\x00\x23\x00\x71\x00\x25\x00\x65\x00\xff\xff\x66\x00\x8e\x01\x67\x00\x17\x01\x68\x00\x69\x00\x8f\x01\xec\xfd\xff\xff\x6a\x00\x6b\x00\x72\x00\x73\x00\x38\x02\x6e\x00\xff\xff\x00\x00\xa9\x00\x65\x00\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x3d\x02\x6e\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6f\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x4c\x02\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x23\x00\x71\x00\x25\x00\x65\x00\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x72\x00\x73\x00\xc8\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\xcc\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\xe6\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x66\x00\x00\x00\x67\x00\x6f\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x06\x01\x6e\x00\x00\x00\x70\x00\x00\x00\x23\x00\x71\x00\x25\x00\xfc\x01\x00\x00\x6f\x00\x00\x00\xc1\x00\x00\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x72\x00\x73\x00\x70\x00\x00\x00\x23\x00\x71\x00\x25\x00\xfd\x01\x00\x00\x6f\x00\x00\x00\xc1\x00\x00\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x72\x00\x73\x00\x70\x00\x00\x00\x23\x00\x71\x00\x25\x00\x65\x00\x00\x00\x47\x02\x00\x00\xc1\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6f\x00\x00\x00\x6a\x00\x6b\x00\x72\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x23\x00\x71\x00\x25\x00\xc0\x00\x00\x00\x6f\x00\x00\x00\xc1\x00\x00\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x72\x00\x73\x00\x70\x00\x00\x00\x23\x00\x71\x00\x25\x00\x00\x00\x12\x04\x6f\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x72\x00\x73\x00\x70\x00\x00\x00\x23\x00\x71\x00\x25\x00\x5b\x03\x15\x04\x6f\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x72\x00\x73\x00\x70\x00\x00\x00\x23\x00\x71\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x73\x00\x16\x04\x5b\x03\x5c\x03\x70\x00\x68\x00\x69\x00\x71\x00\x25\x00\x00\x00\x6a\x00\x6b\x00\x07\x01\x69\x00\x00\x00\x5d\x03\x00\x00\x6a\x00\x6b\x00\x08\x01\x00\x00\x00\x00\x72\x00\x73\x00\x70\x00\x00\x00\x00\x00\x71\x00\x25\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x5e\x03\x5f\x03\x60\x03\x00\x00\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x73\x00\x70\x00\x00\x00\x23\x00\x71\x00\x25\x00\x5b\x03\xd3\x03\x00\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x64\x04\xcb\x03\x69\x00\x72\x00\x73\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x7f\x02\x70\x00\x68\x00\x69\x00\x71\x00\x25\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\xd4\x03\x5f\x03\x60\x03\x00\x00\x61\x03\x00\x00\x00\x00\x00\x00\x70\x00\x72\x00\x73\x00\x71\x00\x25\x00\xf8\x01\x00\x00\x68\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\xcf\x03\xcb\x03\x69\x00\x72\x00\x73\x00\x70\x00\x6a\x00\x6b\x00\x71\x00\x25\x00\x00\x00\x65\x04\xcb\x03\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x50\x04\xcb\x03\x69\x00\x72\x00\x73\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x62\x03\x00\x00\xd0\x03\x11\x04\xcb\x03\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x70\x00\x09\x01\x00\x00\xf4\x00\x25\x00\xd4\x00\x00\x00\x70\x00\x00\x00\x00\x00\x71\x00\x25\x00\xd5\x00\xd6\x00\x14\x04\xcb\x03\x69\x00\x00\x00\x72\x00\x73\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x72\x00\x73\x00\x0a\x01\x0b\x01\x00\x00\x00\x00\xca\x03\xcb\x03\x69\x00\x00\x00\x00\x00\x62\x03\x6a\x00\x6b\x00\x07\x01\x69\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x70\x00\x00\x00\x00\x00\xf4\x00\x25\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x71\x00\x25\x00\x00\x00\xd9\x03\xb4\x02\xb5\x02\x00\x00\x72\x00\x73\x00\x70\x00\x0f\x04\xb5\x02\x71\x00\x25\x00\xac\x01\x72\x00\x73\x00\xad\x01\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x72\x00\x73\x00\x00\x00\x00\x00\x19\x00\x70\x00\x00\x00\x00\x00\x71\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x71\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x73\x00\x70\x00\x00\x00\x00\x00\x71\x00\x25\x00\x00\x00\x00\x00\x72\x00\x73\x00\x70\x00\x00\x00\x00\x00\x71\x00\x25\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x72\x00\x73\x00\x1d\x00\x1e\x00\x70\x00\x1f\x00\x00\x00\x71\x00\x25\x00\x72\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xeb\x00\x72\x00\x73\x00\x00\x00\x00\x00\x70\x00\xeb\x00\x26\x00\x71\x00\x25\x00\xb6\x02\x21\x00\x22\x00\x00\x00\x24\x00\x25\x00\xb6\x02\x21\x00\x22\x00\x00\x00\x24\x00\x25\x00\x70\x00\x72\x00\x73\x00\x71\x00\x25\x00\x00\x00\xb7\x02\x70\x00\x00\x00\x00\x00\x71\x00\x25\x00\xb7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x73\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x8d\x02\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x96\x03\x00\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x5f\x00\x00\x00\x94\x00\x00\x00\x60\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x62\x00\x96\x00\x97\x00\x98\x00\x99\x00\x00\x00\x9a\x00\x63\x00\x64\x00\x65\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x96\x03\x00\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x5f\x00\x00\x00\x94\x00\x00\x00\x60\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x62\x00\x96\x00\x97\x00\x98\x00\x99\x00\x00\x00\x9a\x00\x63\x00\x64\x00\x65\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x5f\x00\xd0\x00\x94\x00\x00\x00\x60\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x62\x00\x96\x00\x97\x00\x98\x00\x99\x00\x00\x00\x9a\x00\x63\x00\x64\x00\x65\x00\x9b\x00\x9c\x00\x28\x00\x00\x00\x00\x00\x9d\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x40\xff\x00\x00\x00\x00\x75\x00\x00\x00\x28\x00\x76\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x75\x00\x00\x00\x00\x00\x76\x00\x00\x00\x79\x00\x00\x00\x00\x00\x00\x00\x40\xff\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\xd6\x03\x11\x01\x00\x00\xd7\x03\x58\x03\xb4\x02\xb5\x02\xd1\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x7c\x03\x00\x00\xd4\x00\x00\x00\x69\x04\x00\x00\x00\x00\x7a\x00\x00\x00\xd5\x00\xd6\x00\xd7\x00\x00\x00\xd8\x00\x00\x00\xd9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x5c\x00\x57\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x7e\x00\x40\xff\x5c\x00\x00\x00\x75\x00\x00\x00\x00\x00\x76\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\xd8\x03\x62\x00\x79\x00\x00\x00\xeb\x00\x00\x00\x40\xff\x00\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\x00\x00\x6a\x04\xb6\x02\x21\x00\x22\x00\x28\x00\x24\x00\x25\x00\xd7\x03\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x76\x00\xb7\x02\x00\x00\xe0\x00\xe1\x00\x7a\x00\xe2\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\xe4\x00\xe5\x00\xe6\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x28\x00\x57\x00\x00\x00\x64\x03\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x5c\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x00\x00\x62\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\xd0\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xd8\x03\x57\x00\x00\x00\xd2\x03\x00\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\xdc\x00\x00\x00\xde\x00\x75\x00\x5c\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x28\x00\x29\x00\x10\x02\x13\x02\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x02\x00\x00\x62\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\xe2\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x65\x03\x57\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x75\x00\x00\x00\x00\x00\x76\x00\x00\x00\x7a\x00\xd1\x00\x00\x00\x00\x00\xd2\x00\xf7\x00\xd3\x00\x78\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x62\x00\x79\x00\x00\x00\xd5\x00\xd6\x00\xd7\x00\x00\x00\xd8\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xd3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x03\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x5c\x00\x76\x01\xdc\x00\xdd\x00\xde\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x14\x03\x62\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\xc0\x01\x3b\x00\x78\x01\x79\x01\x00\x00\xe2\x00\x65\x03\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x7a\x01\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x76\x01\xdc\x00\xdd\x00\xde\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x1b\x03\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\xc0\x01\x3b\x00\x78\x01\x79\x01\x00\x00\xe2\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x7a\x01\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x76\x01\xdc\x00\xdd\x00\xde\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xbf\x01\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\xc0\x01\x3b\x00\x78\x01\x79\x01\x00\x00\xe2\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x7a\x01\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x76\x01\xdc\x00\xdd\x00\xde\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\xc7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\xc0\x01\x3b\x00\x78\x01\x79\x01\x00\x00\xe2\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x7a\x01\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x76\x01\xdc\x00\xdd\x00\xde\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x7e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\xfd\x00\x3b\x00\x78\x01\x79\x01\x00\x00\xe2\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x7a\x01\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x86\x01\xdc\x00\xdd\x00\xde\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x87\x01\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\xfd\x00\x3b\x00\x78\x01\x88\x01\x00\x00\xe2\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x89\x01\x8a\x01\x8b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x76\x01\xdc\x00\xdd\x00\xde\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x77\x01\x00\x00\x3b\x00\x78\x01\x79\x01\x00\x00\xe2\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x7a\x01\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x76\x01\xdc\x00\xdd\x00\xde\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x78\x01\x79\x01\x00\x00\xe2\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x7a\x01\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xe1\x00\x39\x00\xe2\x00\xf4\x01\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\xe4\x00\xe5\x00\xe6\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x0a\x03\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x8d\x02\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x0a\x03\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x2e\x03\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x8d\x02\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x04\x01\x57\x00\x00\x00\x58\x00\x00\x00\x24\x04\x00\x00\x00\x00\x59\x00\xfd\x00\x5a\x00\x5b\x00\xe1\x00\x5c\x00\xe2\x00\x00\x00\x00\x00\x8f\x00\x90\x00\x91\x00\x05\x01\x00\x00\x5f\x00\x00\x00\xe4\x00\xe5\x00\xe6\x00\x00\x00\x00\x00\x25\x04\x00\x00\x00\x00\x62\x00\x96\x00\x97\x00\x98\x00\x99\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x24\x04\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x04\x00\x00\x00\x00\x62\x00\x96\x00\x97\x00\x98\x00\x99\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x8d\x02\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\xbc\x03\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x03\x00\x00\x00\x00\x62\x00\x96\x00\x97\x00\x98\x00\x99\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x8d\x02\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x62\x00\x96\x00\x97\x00\x98\x00\x99\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\xbc\x03\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x03\x00\x00\x00\x00\x62\x00\x96\x00\x97\x00\x98\x00\x99\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\xd1\x00\x5a\x00\x5b\x00\xd2\x00\x5c\x00\xd3\x00\x00\x00\xd4\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x00\x00\x5f\x00\xd5\x00\xd6\x00\xd7\x00\x00\x00\xd8\x00\x00\x00\xd9\x00\x00\x00\x00\x00\x62\x00\x96\x00\x97\x00\x98\x00\x99\x00\xea\x02\x29\x00\x2a\x00\x2b\x00\xeb\x02\x2d\x00\x2a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\xd1\x00\x3b\x00\x00\x00\xd2\x00\x00\x00\x90\x01\x00\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\xd5\x00\xd6\x00\xd7\x00\x00\x00\xd8\x00\x00\x00\xd9\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x01\xec\x02\xed\x02\xee\x02\xef\x02\x00\x00\xf0\x02\xf1\x02\xf2\x02\xf3\x02\xf4\x02\xf5\x02\x00\x00\xf6\x02\x37\x01\x38\x01\x39\x01\x3a\x01\x3b\x01\x3c\x01\x3d\x01\x3e\x01\xf7\x02\xf8\x02\x41\x01\xf9\x02\x43\x01\x44\x01\x45\x01\x46\x01\x47\x01\x48\x01\x49\x01\x4a\x01\x4b\x01\x4c\x01\x4d\x01\x4e\x01\x4f\x01\x50\x01\x51\x01\x52\x01\x53\x01\x54\x01\xfa\x02\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x51\x03\xb5\x02\x00\x00\x52\x03\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x53\x03\x54\x03\xb5\x02\x55\x03\x56\x03\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\xb6\x02\x21\x00\x22\x00\x00\x00\x24\x00\x25\x00\x00\x00\x5f\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x62\x00\xb7\x02\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\xde\x01\xb6\x02\x21\x00\x22\x00\x00\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\xd4\x01\x00\x00\x3d\x00\x00\x00\x00\x00\x1a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x02\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x6b\x01\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x01\x00\x00\x00\x00\x00\x00\x29\x01\x3d\x00\x2a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x01\x2c\x01\x2d\x01\x2e\x01\x2f\x01\x62\x00\x30\x01\x31\x01\x32\x01\x33\x01\x34\x01\x35\x01\x00\x00\x36\x01\x37\x01\x38\x01\x39\x01\x3a\x01\x3b\x01\x3c\x01\x3d\x01\x3e\x01\x3f\x01\x40\x01\x41\x01\x42\x01\x43\x01\x44\x01\x45\x01\x46\x01\x47\x01\x48\x01\x49\x01\x4a\x01\x4b\x01\x4c\x01\x4d\x01\x4e\x01\x4f\x01\x50\x01\x51\x01\x52\x01\x53\x01\x54\x01\x55\x01\x28\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\x75\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x04\x01\x78\x00\x00\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\x79\x00\x00\x00\xfd\x00\x00\x00\x00\x00\xe1\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x01\x00\x00\x00\x00\x00\x00\xe4\x00\xe5\x00\xe6\x00\xdf\x00\x00\x00\xe0\x00\xe1\x00\x00\x00\xe2\x00\xe3\x00\xaf\xfe\x00\x00\xaf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\xe4\x00\xe5\x00\xe6\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\xb0\x00\x99\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x7e\x00\x00\x00\x5c\x00\x2c\x00\x2d\x00\x9a\x04\x0d\x01\xdc\x00\x00\x00\xde\x00\x75\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x62\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x11\x01\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x28\x00\x57\x00\x00\x00\x62\x00\x2c\x00\x2d\x00\x00\x00\x0d\x01\xdc\x00\x00\x00\xde\x00\x75\x00\x00\x00\x5c\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x10\xff\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x00\x00\x62\x00\x0e\x01\x00\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x49\x02\x28\x00\x29\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\xdc\x00\x00\x00\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\xb9\x02\x58\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x02\x00\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\xe2\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\xbb\x02\xbc\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x10\xff\x10\xff\x10\xff\x10\xff\x00\x00\x10\xff\x10\xff\x10\xff\x10\xff\x10\xff\x10\xff\x00\x00\x10\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x10\xff\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x28\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x5a\x00\x5b\x00\x10\xff\x5c\x00\x00\x00\x75\x00\x00\x00\x00\x00\x76\x00\x00\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\x00\x00\x77\x00\x00\x00\x78\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x62\x00\x79\x00\x28\x00\xfd\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x00\x75\x00\xe0\x00\xe1\x00\x76\x00\xe2\x00\xe3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\xe5\x03\x78\x00\x00\x00\xe4\x00\xe5\x00\xe6\x00\x00\x00\x79\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\xe0\x00\xe1\x00\x7a\x00\xe2\x00\x28\x04\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x5c\x00\x00\x00\x00\x00\xe4\x00\xe5\x00\xe6\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x62\x00\x00\x00\x28\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x7e\x00\x00\x00\x5c\x00\x00\x00\x75\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x79\x00\x00\x00\x00\x00\x28\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x5c\x00\x28\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\xe8\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x62\x00\x57\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x02\x62\x00\xd1\xfe\x28\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x03\x75\x00\x00\x00\x00\x00\x76\x00\xbb\x02\xbc\x02\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x79\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x5c\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x62\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x62\x00\x57\x00\x00\x00\x00\x00\x28\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x7e\x00\x00\x00\x5c\x00\x00\x00\x75\x00\x00\x00\x28\x00\x76\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\xf7\x00\x00\x00\x78\x00\x75\x00\x00\x00\x00\x00\x76\x00\x62\x00\x79\x00\xf8\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x00\x00\x28\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x7a\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x5c\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x62\x00\x57\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x02\x62\x00\x00\x00\x28\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x03\x75\x00\x00\x00\x28\x00\x76\x00\xbb\x02\xbc\x02\x2c\x00\x2d\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x75\x00\x00\x00\x00\x00\x76\x00\x00\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x28\x00\x29\x00\x00\x00\x7a\x00\x2c\x00\x2d\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x5d\x01\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x62\x00\x57\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x5c\x00\x57\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\xc3\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x75\x00\x00\x00\x28\x00\x76\x00\x62\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x28\x00\x29\x00\x62\x00\x79\x00\x2c\x00\x2d\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\xd1\x02\x00\x00\xb9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\xba\x02\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\xa4\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x02\xbc\x02\x62\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x5c\x00\x57\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x5c\x00\x57\x00\x00\x00\x00\x00\x28\x00\x00\x00\x62\x00\x00\x00\x2c\x00\x2d\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x75\x00\x00\x00\x28\x00\x76\x00\x62\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x75\x00\x00\x00\x28\x00\x76\x00\x62\x00\x79\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x28\x00\x29\x00\x00\x00\x79\x00\x2c\x00\x2d\x00\xd1\x02\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x01\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x5c\x00\x57\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x5c\x00\x57\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x62\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x5c\x00\x57\x00\x00\x00\x00\x00\x28\x00\x00\x00\x62\x00\x00\x00\x2c\x00\x2d\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x75\x00\x00\x00\x28\x00\x76\x00\x62\x00\x00\x00\x2c\x00\x00\x00\xa4\x03\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x43\x04\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x5c\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x29\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x62\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\xb2\x01\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\xb3\x01\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\xb4\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\xb1\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x62\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\xe0\x00\xe1\x00\x00\x00\xe2\x00\x92\x01\x00\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x28\x00\xe4\x00\xe5\x00\xe6\x00\x93\x01\x94\x01\x95\x01\x96\x01\x00\x00\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\x00\x00\x00\x00\x62\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\xb0\x00\x76\x03\x00\x00\x00\x00\x28\x00\x29\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\xa3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x01\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x1b\x04\x28\x00\x29\x00\x00\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x01\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x5c\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xb4\x01\x57\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x5a\x00\x5b\x00\x62\x00\x5c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xb0\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x28\x00\x29\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x62\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x28\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x29\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xb2\x01\x57\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x62\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x89\x03\x00\x00\x62\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x69\x03\x00\x00\x00\x00\x00\x00\x28\x00\x62\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x03\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x5a\x00\x5b\x00\x2c\x00\x5c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x28\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x16\x02\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x28\x00\x5c\x00\x00\x00\x00\x00\x00\x00\xd9\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x16\x02\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x17\x02\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x00\x00\x62\x00\x00\x00\x00\x00\xa3\x02\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x5c\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x03\x05\x03\x06\x03\x07\x03\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xa3\x02\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x03\x06\x03\x07\x03\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xa3\x02\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\x03\x07\x03\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xa3\x02\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\xa5\x02\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\xa6\x02\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x19\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x41\x03\x00\x00\xf2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xa3\x02\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x02\xa5\x02\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\xa6\x02\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x19\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\xd5\x02\x00\x00\xf2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xa3\x02\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x02\xa5\x02\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\xa6\x02\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x19\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\xf1\x01\x00\x00\xf2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x02\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\xf4\x01\x00\x00\xf2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\xed\x03\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x26\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1c\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x5e\x04\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x26\x00\x1e\x01\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x5f\x04\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x26\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xfb\x03\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xfc\x03\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x26\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xfd\x03\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xff\x03\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x26\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x04\x04\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x2d\x04\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x26\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xb1\x03\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xc6\x03\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x26\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xc7\x03\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x2c\x03\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x26\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x3e\x03\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xa8\x02\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x26\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xb4\x01\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x61\x01\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x26\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x62\x01\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x9f\x00\xa0\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x26\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x7e\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x7f\x01\x80\x01\x00\x00\x00\x00\x00\x00\x81\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x6c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x6d\x01\x6e\x01\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x6f\x01\x00\x00\x70\x01\x00\x00\x00\x00\x71\x01\x82\x01\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\x83\x01\x72\x01\xd8\x00\x73\x01\x84\x01\x26\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x6f\x01\x00\x00\x70\x01\x00\x00\x00\x00\x71\x01\xd4\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\x00\x00\x72\x01\x00\x00\x73\x01\x74\x01\x26\x00\x6b\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x7b\x01\x7c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x03\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x6f\x01\x00\x00\x70\x01\x00\x00\x00\x00\x71\x01\xd4\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\x00\x00\x72\x01\x00\x00\x73\x01\x74\x01\x26\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x6f\x01\x00\x00\x70\x01\x00\x00\x00\x00\x71\x01\xd4\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\x00\x00\x72\x01\x00\x00\x73\x01\x74\x01\x26\x00\x6b\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x0d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x12\x03\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x6f\x01\x00\x00\x70\x01\x00\x00\x00\x00\x71\x01\xd4\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\x00\x00\x72\x01\x00\x00\x73\x01\x74\x01\x26\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x6f\x01\x00\x00\x70\x01\x00\x00\x00\x00\x71\x01\xd4\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\x00\x00\x72\x01\x00\x00\x73\x01\x74\x01\x26\x00\x6b\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x19\x03\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x6f\x01\x00\x00\x70\x01\x00\x00\x00\x00\x71\x01\xd4\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\x00\x00\x72\x01\x00\x00\x73\x01\x74\x01\x26\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x6f\x01\x00\x00\x70\x01\x00\x00\x00\x00\x71\x01\xd4\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\x00\x00\x72\x01\x00\x00\x73\x01\x74\x01\x26\x00\x6b\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\xc5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x6f\x01\x00\x00\x70\x01\x00\x00\x00\x00\x71\x01\xd4\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xd5\x00\xd6\x00\x00\x00\x72\x01\x00\x00\x73\x01\x74\x01\x26\x00\x9d\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x03\x33\x03\x00\x00\x00\x00\x00\x00\x34\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x9d\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x02\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\xfe\x03\x16\x00\x17\x00\x18\x00\x34\x03\x00\x00\x00\x00\x00\x00\xe3\x02\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x15\x03\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x03\x19\x00\x63\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x01\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x9d\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x82\x04\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x5a\x04\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\xfa\x03\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x26\x03\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x40\x03\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\xd2\x02\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\xd3\x02\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\xd9\x02\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\xda\x02\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\xff\x02\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x03\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x0a\x03\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x14\x03\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\xa7\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\xa8\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\xa9\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\xaa\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x21\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x23\x01\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x89\x03\x10\x00\x60\x01\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xc9\x01\x10\x00\x60\x01\x12\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\xad\x01\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x19\x00\x00\x00\x5f\x01\x10\x00\x60\x01\x12\x00\x00\x00\x26\x00\x13\x00\x14\x00\x15\x00\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x66\x01\x00\x00\x00\x00\x16\x00\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x68\x01\x69\x01\x18\x01\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x01\x18\x01\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x01\x18\x01\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xe5\x02\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x19\x00\x00\x00\x00\x00\xe6\x02\x25\x01\x26\x01\x00\x00\xe7\x02\x90\x03\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x02\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\xe6\x02\x25\x01\x26\x01\x00\x00\xe7\x02\xe8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x03\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x02\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x01\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x01\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x01\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x01\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x02\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x02\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\x00\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x01\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\x17\x00\x18\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x01\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (8, 659) [- (8 , happyReduce_8),- (9 , happyReduce_9),- (10 , happyReduce_10),- (11 , happyReduce_11),- (12 , happyReduce_12),- (13 , happyReduce_13),- (14 , happyReduce_14),- (15 , happyReduce_15),- (16 , happyReduce_16),- (17 , happyReduce_17),- (18 , happyReduce_18),- (19 , happyReduce_19),- (20 , happyReduce_20),- (21 , happyReduce_21),- (22 , happyReduce_22),- (23 , happyReduce_23),- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87),- (88 , happyReduce_88),- (89 , happyReduce_89),- (90 , happyReduce_90),- (91 , happyReduce_91),- (92 , happyReduce_92),- (93 , happyReduce_93),- (94 , happyReduce_94),- (95 , happyReduce_95),- (96 , happyReduce_96),- (97 , happyReduce_97),- (98 , happyReduce_98),- (99 , happyReduce_99),- (100 , happyReduce_100),- (101 , happyReduce_101),- (102 , happyReduce_102),- (103 , happyReduce_103),- (104 , happyReduce_104),- (105 , happyReduce_105),- (106 , happyReduce_106),- (107 , happyReduce_107),- (108 , happyReduce_108),- (109 , happyReduce_109),- (110 , happyReduce_110),- (111 , happyReduce_111),- (112 , happyReduce_112),- (113 , happyReduce_113),- (114 , happyReduce_114),- (115 , happyReduce_115),- (116 , happyReduce_116),- (117 , happyReduce_117),- (118 , happyReduce_118),- (119 , happyReduce_119),- (120 , happyReduce_120),- (121 , happyReduce_121),- (122 , happyReduce_122),- (123 , happyReduce_123),- (124 , happyReduce_124),- (125 , happyReduce_125),- (126 , happyReduce_126),- (127 , happyReduce_127),- (128 , happyReduce_128),- (129 , happyReduce_129),- (130 , happyReduce_130),- (131 , happyReduce_131),- (132 , happyReduce_132),- (133 , happyReduce_133),- (134 , happyReduce_134),- (135 , happyReduce_135),- (136 , happyReduce_136),- (137 , happyReduce_137),- (138 , happyReduce_138),- (139 , happyReduce_139),- (140 , happyReduce_140),- (141 , happyReduce_141),- (142 , happyReduce_142),- (143 , happyReduce_143),- (144 , happyReduce_144),- (145 , happyReduce_145),- (146 , happyReduce_146),- (147 , happyReduce_147),- (148 , happyReduce_148),- (149 , happyReduce_149),- (150 , happyReduce_150),- (151 , happyReduce_151),- (152 , happyReduce_152),- (153 , happyReduce_153),- (154 , happyReduce_154),- (155 , happyReduce_155),- (156 , happyReduce_156),- (157 , happyReduce_157),- (158 , happyReduce_158),- (159 , happyReduce_159),- (160 , happyReduce_160),- (161 , happyReduce_161),- (162 , happyReduce_162),- (163 , happyReduce_163),- (164 , happyReduce_164),- (165 , happyReduce_165),- (166 , happyReduce_166),- (167 , happyReduce_167),- (168 , happyReduce_168),- (169 , happyReduce_169),- (170 , happyReduce_170),- (171 , happyReduce_171),- (172 , happyReduce_172),- (173 , happyReduce_173),- (174 , happyReduce_174),- (175 , happyReduce_175),- (176 , happyReduce_176),- (177 , happyReduce_177),- (178 , happyReduce_178),- (179 , happyReduce_179),- (180 , happyReduce_180),- (181 , happyReduce_181),- (182 , happyReduce_182),- (183 , happyReduce_183),- (184 , happyReduce_184),- (185 , happyReduce_185),- (186 , happyReduce_186),- (187 , happyReduce_187),- (188 , happyReduce_188),- (189 , happyReduce_189),- (190 , happyReduce_190),- (191 , happyReduce_191),- (192 , happyReduce_192),- (193 , happyReduce_193),- (194 , happyReduce_194),- (195 , happyReduce_195),- (196 , happyReduce_196),- (197 , happyReduce_197),- (198 , happyReduce_198),- (199 , happyReduce_199),- (200 , happyReduce_200),- (201 , happyReduce_201),- (202 , happyReduce_202),- (203 , happyReduce_203),- (204 , happyReduce_204),- (205 , happyReduce_205),- (206 , happyReduce_206),- (207 , happyReduce_207),- (208 , happyReduce_208),- (209 , happyReduce_209),- (210 , happyReduce_210),- (211 , happyReduce_211),- (212 , happyReduce_212),- (213 , happyReduce_213),- (214 , happyReduce_214),- (215 , happyReduce_215),- (216 , happyReduce_216),- (217 , happyReduce_217),- (218 , happyReduce_218),- (219 , happyReduce_219),- (220 , happyReduce_220),- (221 , happyReduce_221),- (222 , happyReduce_222),- (223 , happyReduce_223),- (224 , happyReduce_224),- (225 , happyReduce_225),- (226 , happyReduce_226),- (227 , happyReduce_227),- (228 , happyReduce_228),- (229 , happyReduce_229),- (230 , happyReduce_230),- (231 , happyReduce_231),- (232 , happyReduce_232),- (233 , happyReduce_233),- (234 , happyReduce_234),- (235 , happyReduce_235),- (236 , happyReduce_236),- (237 , happyReduce_237),- (238 , happyReduce_238),- (239 , happyReduce_239),- (240 , happyReduce_240),- (241 , happyReduce_241),- (242 , happyReduce_242),- (243 , happyReduce_243),- (244 , happyReduce_244),- (245 , happyReduce_245),- (246 , happyReduce_246),- (247 , happyReduce_247),- (248 , happyReduce_248),- (249 , happyReduce_249),- (250 , happyReduce_250),- (251 , happyReduce_251),- (252 , happyReduce_252),- (253 , happyReduce_253),- (254 , happyReduce_254),- (255 , happyReduce_255),- (256 , happyReduce_256),- (257 , happyReduce_257),- (258 , happyReduce_258),- (259 , happyReduce_259),- (260 , happyReduce_260),- (261 , happyReduce_261),- (262 , happyReduce_262),- (263 , happyReduce_263),- (264 , happyReduce_264),- (265 , happyReduce_265),- (266 , happyReduce_266),- (267 , happyReduce_267),- (268 , happyReduce_268),- (269 , happyReduce_269),- (270 , happyReduce_270),- (271 , happyReduce_271),- (272 , happyReduce_272),- (273 , happyReduce_273),- (274 , happyReduce_274),- (275 , happyReduce_275),- (276 , happyReduce_276),- (277 , happyReduce_277),- (278 , happyReduce_278),- (279 , happyReduce_279),- (280 , happyReduce_280),- (281 , happyReduce_281),- (282 , happyReduce_282),- (283 , happyReduce_283),- (284 , happyReduce_284),- (285 , happyReduce_285),- (286 , happyReduce_286),- (287 , happyReduce_287),- (288 , happyReduce_288),- (289 , happyReduce_289),- (290 , happyReduce_290),- (291 , happyReduce_291),- (292 , happyReduce_292),- (293 , happyReduce_293),- (294 , happyReduce_294),- (295 , happyReduce_295),- (296 , happyReduce_296),- (297 , happyReduce_297),- (298 , happyReduce_298),- (299 , happyReduce_299),- (300 , happyReduce_300),- (301 , happyReduce_301),- (302 , happyReduce_302),- (303 , happyReduce_303),- (304 , happyReduce_304),- (305 , happyReduce_305),- (306 , happyReduce_306),- (307 , happyReduce_307),- (308 , happyReduce_308),- (309 , happyReduce_309),- (310 , happyReduce_310),- (311 , happyReduce_311),- (312 , happyReduce_312),- (313 , happyReduce_313),- (314 , happyReduce_314),- (315 , happyReduce_315),- (316 , happyReduce_316),- (317 , happyReduce_317),- (318 , happyReduce_318),- (319 , happyReduce_319),- (320 , happyReduce_320),- (321 , happyReduce_321),- (322 , happyReduce_322),- (323 , happyReduce_323),- (324 , happyReduce_324),- (325 , happyReduce_325),- (326 , happyReduce_326),- (327 , happyReduce_327),- (328 , happyReduce_328),- (329 , happyReduce_329),- (330 , happyReduce_330),- (331 , happyReduce_331),- (332 , happyReduce_332),- (333 , happyReduce_333),- (334 , happyReduce_334),- (335 , happyReduce_335),- (336 , happyReduce_336),- (337 , happyReduce_337),- (338 , happyReduce_338),- (339 , happyReduce_339),- (340 , happyReduce_340),- (341 , happyReduce_341),- (342 , happyReduce_342),- (343 , happyReduce_343),- (344 , happyReduce_344),- (345 , happyReduce_345),- (346 , happyReduce_346),- (347 , happyReduce_347),- (348 , happyReduce_348),- (349 , happyReduce_349),- (350 , happyReduce_350),- (351 , happyReduce_351),- (352 , happyReduce_352),- (353 , happyReduce_353),- (354 , happyReduce_354),- (355 , happyReduce_355),- (356 , happyReduce_356),- (357 , happyReduce_357),- (358 , happyReduce_358),- (359 , happyReduce_359),- (360 , happyReduce_360),- (361 , happyReduce_361),- (362 , happyReduce_362),- (363 , happyReduce_363),- (364 , happyReduce_364),- (365 , happyReduce_365),- (366 , happyReduce_366),- (367 , happyReduce_367),- (368 , happyReduce_368),- (369 , happyReduce_369),- (370 , happyReduce_370),- (371 , happyReduce_371),- (372 , happyReduce_372),- (373 , happyReduce_373),- (374 , happyReduce_374),- (375 , happyReduce_375),- (376 , happyReduce_376),- (377 , happyReduce_377),- (378 , happyReduce_378),- (379 , happyReduce_379),- (380 , happyReduce_380),- (381 , happyReduce_381),- (382 , happyReduce_382),- (383 , happyReduce_383),- (384 , happyReduce_384),- (385 , happyReduce_385),- (386 , happyReduce_386),- (387 , happyReduce_387),- (388 , happyReduce_388),- (389 , happyReduce_389),- (390 , happyReduce_390),- (391 , happyReduce_391),- (392 , happyReduce_392),- (393 , happyReduce_393),- (394 , happyReduce_394),- (395 , happyReduce_395),- (396 , happyReduce_396),- (397 , happyReduce_397),- (398 , happyReduce_398),- (399 , happyReduce_399),- (400 , happyReduce_400),- (401 , happyReduce_401),- (402 , happyReduce_402),- (403 , happyReduce_403),- (404 , happyReduce_404),- (405 , happyReduce_405),- (406 , happyReduce_406),- (407 , happyReduce_407),- (408 , happyReduce_408),- (409 , happyReduce_409),- (410 , happyReduce_410),- (411 , happyReduce_411),- (412 , happyReduce_412),- (413 , happyReduce_413),- (414 , happyReduce_414),- (415 , happyReduce_415),- (416 , happyReduce_416),- (417 , happyReduce_417),- (418 , happyReduce_418),- (419 , happyReduce_419),- (420 , happyReduce_420),- (421 , happyReduce_421),- (422 , happyReduce_422),- (423 , happyReduce_423),- (424 , happyReduce_424),- (425 , happyReduce_425),- (426 , happyReduce_426),- (427 , happyReduce_427),- (428 , happyReduce_428),- (429 , happyReduce_429),- (430 , happyReduce_430),- (431 , happyReduce_431),- (432 , happyReduce_432),- (433 , happyReduce_433),- (434 , happyReduce_434),- (435 , happyReduce_435),- (436 , happyReduce_436),- (437 , happyReduce_437),- (438 , happyReduce_438),- (439 , happyReduce_439),- (440 , happyReduce_440),- (441 , happyReduce_441),- (442 , happyReduce_442),- (443 , happyReduce_443),- (444 , happyReduce_444),- (445 , happyReduce_445),- (446 , happyReduce_446),- (447 , happyReduce_447),- (448 , happyReduce_448),- (449 , happyReduce_449),- (450 , happyReduce_450),- (451 , happyReduce_451),- (452 , happyReduce_452),- (453 , happyReduce_453),- (454 , happyReduce_454),- (455 , happyReduce_455),- (456 , happyReduce_456),- (457 , happyReduce_457),- (458 , happyReduce_458),- (459 , happyReduce_459),- (460 , happyReduce_460),- (461 , happyReduce_461),- (462 , happyReduce_462),- (463 , happyReduce_463),- (464 , happyReduce_464),- (465 , happyReduce_465),- (466 , happyReduce_466),- (467 , happyReduce_467),- (468 , happyReduce_468),- (469 , happyReduce_469),- (470 , happyReduce_470),- (471 , happyReduce_471),- (472 , happyReduce_472),- (473 , happyReduce_473),- (474 , happyReduce_474),- (475 , happyReduce_475),- (476 , happyReduce_476),- (477 , happyReduce_477),- (478 , happyReduce_478),- (479 , happyReduce_479),- (480 , happyReduce_480),- (481 , happyReduce_481),- (482 , happyReduce_482),- (483 , happyReduce_483),- (484 , happyReduce_484),- (485 , happyReduce_485),- (486 , happyReduce_486),- (487 , happyReduce_487),- (488 , happyReduce_488),- (489 , happyReduce_489),- (490 , happyReduce_490),- (491 , happyReduce_491),- (492 , happyReduce_492),- (493 , happyReduce_493),- (494 , happyReduce_494),- (495 , happyReduce_495),- (496 , happyReduce_496),- (497 , happyReduce_497),- (498 , happyReduce_498),- (499 , happyReduce_499),- (500 , happyReduce_500),- (501 , happyReduce_501),- (502 , happyReduce_502),- (503 , happyReduce_503),- (504 , happyReduce_504),- (505 , happyReduce_505),- (506 , happyReduce_506),- (507 , happyReduce_507),- (508 , happyReduce_508),- (509 , happyReduce_509),- (510 , happyReduce_510),- (511 , happyReduce_511),- (512 , happyReduce_512),- (513 , happyReduce_513),- (514 , happyReduce_514),- (515 , happyReduce_515),- (516 , happyReduce_516),- (517 , happyReduce_517),- (518 , happyReduce_518),- (519 , happyReduce_519),- (520 , happyReduce_520),- (521 , happyReduce_521),- (522 , happyReduce_522),- (523 , happyReduce_523),- (524 , happyReduce_524),- (525 , happyReduce_525),- (526 , happyReduce_526),- (527 , happyReduce_527),- (528 , happyReduce_528),- (529 , happyReduce_529),- (530 , happyReduce_530),- (531 , happyReduce_531),- (532 , happyReduce_532),- (533 , happyReduce_533),- (534 , happyReduce_534),- (535 , happyReduce_535),- (536 , happyReduce_536),- (537 , happyReduce_537),- (538 , happyReduce_538),- (539 , happyReduce_539),- (540 , happyReduce_540),- (541 , happyReduce_541),- (542 , happyReduce_542),- (543 , happyReduce_543),- (544 , happyReduce_544),- (545 , happyReduce_545),- (546 , happyReduce_546),- (547 , happyReduce_547),- (548 , happyReduce_548),- (549 , happyReduce_549),- (550 , happyReduce_550),- (551 , happyReduce_551),- (552 , happyReduce_552),- (553 , happyReduce_553),- (554 , happyReduce_554),- (555 , happyReduce_555),- (556 , happyReduce_556),- (557 , happyReduce_557),- (558 , happyReduce_558),- (559 , happyReduce_559),- (560 , happyReduce_560),- (561 , happyReduce_561),- (562 , happyReduce_562),- (563 , happyReduce_563),- (564 , happyReduce_564),- (565 , happyReduce_565),- (566 , happyReduce_566),- (567 , happyReduce_567),- (568 , happyReduce_568),- (569 , happyReduce_569),- (570 , happyReduce_570),- (571 , happyReduce_571),- (572 , happyReduce_572),- (573 , happyReduce_573),- (574 , happyReduce_574),- (575 , happyReduce_575),- (576 , happyReduce_576),- (577 , happyReduce_577),- (578 , happyReduce_578),- (579 , happyReduce_579),- (580 , happyReduce_580),- (581 , happyReduce_581),- (582 , happyReduce_582),- (583 , happyReduce_583),- (584 , happyReduce_584),- (585 , happyReduce_585),- (586 , happyReduce_586),- (587 , happyReduce_587),- (588 , happyReduce_588),- (589 , happyReduce_589),- (590 , happyReduce_590),- (591 , happyReduce_591),- (592 , happyReduce_592),- (593 , happyReduce_593),- (594 , happyReduce_594),- (595 , happyReduce_595),- (596 , happyReduce_596),- (597 , happyReduce_597),- (598 , happyReduce_598),- (599 , happyReduce_599),- (600 , happyReduce_600),- (601 , happyReduce_601),- (602 , happyReduce_602),- (603 , happyReduce_603),- (604 , happyReduce_604),- (605 , happyReduce_605),- (606 , happyReduce_606),- (607 , happyReduce_607),- (608 , happyReduce_608),- (609 , happyReduce_609),- (610 , happyReduce_610),- (611 , happyReduce_611),- (612 , happyReduce_612),- (613 , happyReduce_613),- (614 , happyReduce_614),- (615 , happyReduce_615),- (616 , happyReduce_616),- (617 , happyReduce_617),- (618 , happyReduce_618),- (619 , happyReduce_619),- (620 , happyReduce_620),- (621 , happyReduce_621),- (622 , happyReduce_622),- (623 , happyReduce_623),- (624 , happyReduce_624),- (625 , happyReduce_625),- (626 , happyReduce_626),- (627 , happyReduce_627),- (628 , happyReduce_628),- (629 , happyReduce_629),- (630 , happyReduce_630),- (631 , happyReduce_631),- (632 , happyReduce_632),- (633 , happyReduce_633),- (634 , happyReduce_634),- (635 , happyReduce_635),- (636 , happyReduce_636),- (637 , happyReduce_637),- (638 , happyReduce_638),- (639 , happyReduce_639),- (640 , happyReduce_640),- (641 , happyReduce_641),- (642 , happyReduce_642),- (643 , happyReduce_643),- (644 , happyReduce_644),- (645 , happyReduce_645),- (646 , happyReduce_646),- (647 , happyReduce_647),- (648 , happyReduce_648),- (649 , happyReduce_649),- (650 , happyReduce_650),- (651 , happyReduce_651),- (652 , happyReduce_652),- (653 , happyReduce_653),- (654 , happyReduce_654),- (655 , happyReduce_655),- (656 , happyReduce_656),- (657 , happyReduce_657),- (658 , happyReduce_658),- (659 , happyReduce_659)- ]--happy_n_terms = 139 :: Int-happy_n_nonterms = 234 :: Int--happyReduce_8 = happySpecReduce_2 0# happyReduction_8-happyReduction_8 happy_x_2- happy_x_1- = case happyOut15 happy_x_1 of { happy_var_1 -> - case happyOut12 happy_x_2 of { happy_var_2 -> - happyIn11- (let (os,ss,l) = happy_var_1 in map (\x -> x os ss l) happy_var_2- )}}--happyReduce_9 = happySpecReduce_2 1# happyReduction_9-happyReduction_9 happy_x_2- happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut12 happy_x_2 of { happy_var_2 -> - happyIn12- (happy_var_1 : happy_var_2- )}}--happyReduce_10 = happySpecReduce_1 1# happyReduction_10-happyReduction_10 happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - happyIn12- ([happy_var_1]- )}--happyReduce_11 = happyMonadReduce 2# 2# happyReduction_11-happyReduction_11 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut15 happy_x_1 of { happy_var_1 -> - case happyOut14 happy_x_2 of { happy_var_2 -> - ( checkPageModule happy_var_2 happy_var_1)}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_12 = happyMonadReduce 5# 2# happyReduction_12-happyReduction_12 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut15 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 XCodeTagOpen) -> - case happyOut19 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 XCodeTagClose) -> - case happyOut14 happy_x_5 of { happy_var_5 -> - ( let (os,ss,l) = happy_var_1 in checkHybridModule happy_var_5 (happy_var_3 os ss l) happy_var_2 happy_var_4)}}}}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_13 = happySpecReduce_2 2# happyReduction_13-happyReduction_13 happy_x_2- happy_x_1- = case happyOut15 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_2 of { happy_var_2 -> - happyIn13- (let (os,ss,l) = happy_var_1 in happy_var_2 os ss l- )}}--happyReduce_14 = happyMonadReduce 9# 3# happyReduction_14-happyReduction_14 (happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut171 happy_x_2 of { happy_var_2 -> - case happyOut174 happy_x_3 of { happy_var_3 -> - case happyOut176 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> - case happyOut169 happy_x_6 of { happy_var_6 -> - case happyOutTok happy_x_7 of { (Loc happy_var_7 XCloseTagOpen) -> - case happyOut171 happy_x_8 of { happy_var_8 -> - case happyOutTok happy_x_9 of { (Loc happy_var_9 XStdTagClose) -> - ( do { n <- checkEqNames happy_var_2 happy_var_8;- let { cn = reverse happy_var_6;- as = reverse happy_var_3; };- return $ XTag (happy_var_1 <^^> happy_var_9 <** [happy_var_1,happy_var_5,happy_var_7,happy_var_9]) n as happy_var_4 cn })}}}}}}}}}- ) (\r -> happyReturn (happyIn14 r))--happyReduce_15 = happyReduce 5# 3# happyReduction_15-happyReduction_15 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut171 happy_x_2 of { happy_var_2 -> - case happyOut174 happy_x_3 of { happy_var_3 -> - case happyOut176 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XEmptyTagClose) -> - happyIn14- (XETag (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 (reverse happy_var_3) happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_16 = happySpecReduce_3 4# happyReduction_16-happyReduction_16 happy_x_3- happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - case happyOut16 happy_x_2 of { happy_var_2 -> - case happyOut237 happy_x_3 of { happy_var_3 -> - happyIn15- (let (os,ss,ml) = happy_var_2 in (os,happy_var_1:ss++[happy_var_3],happy_var_1 <^^> happy_var_3)- )}}}--happyReduce_17 = happySpecReduce_3 5# happyReduction_17-happyReduction_17 happy_x_3- happy_x_2- happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> - case happyOut16 happy_x_3 of { happy_var_3 -> - happyIn16- (let (os,ss,ml) = happy_var_3 in (happy_var_1 : os, happy_var_2 : ss, Just $ ann happy_var_1 <++> nIS happy_var_2 <+?> ml)- )}}}--happyReduce_18 = happySpecReduce_0 5# happyReduction_18-happyReduction_18 = happyIn16- (([],[],Nothing)- )--happyReduce_19 = happyReduce 4# 6# happyReduction_19-happyReduction_19 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LANGUAGE) -> - case happyOut18 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - happyIn17- (LanguagePragma (happy_var_1 <^^> happy_var_4 <** (happy_var_1:snd happy_var_2 ++ reverse happy_var_3 ++ [happy_var_4])) (fst happy_var_2)- ) `HappyStk` happyRest}}}}--happyReduce_20 = happySpecReduce_3 6# happyReduction_20-happyReduction_20 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn17- (let Loc l (OPTIONS (mc, s)) = happy_var_1- in OptionsPragma (l <^^> happy_var_3 <** (l:reverse happy_var_2 ++ [happy_var_3])) (readTool mc) s- )}}}--happyReduce_21 = happySpecReduce_3 6# happyReduction_21-happyReduction_21 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 ANN) -> - case happyOut76 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn17- (AnnModulePragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_22 = happySpecReduce_3 7# happyReduction_22-happyReduction_22 happy_x_3- happy_x_2- happy_x_1- = case happyOut227 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut18 happy_x_3 of { happy_var_3 -> - happyIn18- ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)- )}}}--happyReduce_23 = happySpecReduce_1 7# happyReduction_23-happyReduction_23 happy_x_1- = case happyOut227 happy_x_1 of { happy_var_1 -> - happyIn18- (([happy_var_1],[])- )}--happyReduce_24 = happySpecReduce_2 8# happyReduction_24-happyReduction_24 happy_x_2- happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - case happyOut22 happy_x_2 of { happy_var_2 -> - happyIn19- (let (is,ds,ss1,inf) = happy_var_2- in \os ss l -> Module (l <++> inf <** (ss ++ ss1)) happy_var_1 os is ds- )}}--happyReduce_25 = happyReduce 5# 9# happyReduction_25-happyReduction_25 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - case happyOut238 happy_x_2 of { happy_var_2 -> - case happyOut21 happy_x_3 of { happy_var_3 -> - case happyOut26 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 KW_Where) -> - happyIn20- (Just $ ModuleHead (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 happy_var_3 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_26 = happySpecReduce_0 9# happyReduction_26-happyReduction_26 = happyIn20- (Nothing- )--happyReduce_27 = happySpecReduce_3 10# happyReduction_27-happyReduction_27 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DEPRECATED) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn21- (let Loc l (StringTok (s,_)) = happy_var_2 in Just $ DeprText (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) s- )}}}--happyReduce_28 = happySpecReduce_3 10# happyReduction_28-happyReduction_28 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 WARNING) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn21- (let Loc l (StringTok (s,_)) = happy_var_2 in Just $ WarnText (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) s- )}}}--happyReduce_29 = happySpecReduce_0 10# happyReduction_29-happyReduction_29 = happyIn21- (Nothing- )--happyReduce_30 = happySpecReduce_3 11# happyReduction_30-happyReduction_30 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut23 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn22- (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)- )}}}--happyReduce_31 = happySpecReduce_3 11# happyReduction_31-happyReduction_31 happy_x_3- happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - case happyOut237 happy_x_3 of { happy_var_3 -> - happyIn22- (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)- )}}}--happyReduce_32 = happyReduce 4# 12# happyReduction_32-happyReduction_32 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut24 happy_x_3 of { happy_var_3 -> - case happyOut48 happy_x_4 of { happy_var_4 -> - happyIn23- ((reverse (fst happy_var_2), fst happy_var_4, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3 ++ snd happy_var_4)- ) `HappyStk` happyRest}}}}--happyReduce_33 = happySpecReduce_2 12# happyReduction_33-happyReduction_33 happy_x_2- happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut48 happy_x_2 of { happy_var_2 -> - happyIn23- (([], fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2)- )}}--happyReduce_34 = happySpecReduce_3 12# happyReduction_34-happyReduction_34 happy_x_3- happy_x_2- happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn23- ((reverse (fst happy_var_2), [], reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)- )}}}--happyReduce_35 = happySpecReduce_1 12# happyReduction_35-happyReduction_35 happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - happyIn23- (([], [], reverse happy_var_1)- )}--happyReduce_36 = happySpecReduce_2 13# happyReduction_36-happyReduction_36 happy_x_2- happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> - happyIn24- (happy_var_2 : happy_var_1- )}}--happyReduce_37 = happySpecReduce_1 14# happyReduction_37-happyReduction_37 happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 -> - happyIn25- (happy_var_1- )}--happyReduce_38 = happySpecReduce_0 14# happyReduction_38-happyReduction_38 = happyIn25- ([]- )--happyReduce_39 = happySpecReduce_1 15# happyReduction_39-happyReduction_39 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn26- (Just happy_var_1- )}--happyReduce_40 = happySpecReduce_0 15# happyReduction_40-happyReduction_40 = happyIn26- (Nothing- )--happyReduce_41 = happyReduce 4# 16# happyReduction_41-happyReduction_41 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut29 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn27- (ExportSpecList (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse (snd happy_var_2) ++ happy_var_3 ++ [happy_var_4])) (reverse (fst happy_var_2))- ) `HappyStk` happyRest}}}}--happyReduce_42 = happySpecReduce_3 16# happyReduction_42-happyReduction_42 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn27- (ExportSpecList (happy_var_1 <^^> happy_var_3 <** (happy_var_1:happy_var_2++[happy_var_3])) []- )}}}--happyReduce_43 = happySpecReduce_1 17# happyReduction_43-happyReduction_43 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Comma) -> - happyIn28- ([happy_var_1]- )}--happyReduce_44 = happySpecReduce_0 17# happyReduction_44-happyReduction_44 = happyIn28- ([ ]- )--happyReduce_45 = happySpecReduce_3 18# happyReduction_45-happyReduction_45 happy_x_3- happy_x_2- happy_x_1- = case happyOut29 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut30 happy_x_3 of { happy_var_3 -> - happyIn29- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_46 = happySpecReduce_1 18# happyReduction_46-happyReduction_46 happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - happyIn29- (([happy_var_1],[])- )}--happyReduce_47 = happySpecReduce_1 19# happyReduction_47-happyReduction_47 happy_x_1- = case happyOut209 happy_x_1 of { happy_var_1 -> - happyIn30- (EVar (ann happy_var_1) happy_var_1- )}--happyReduce_48 = happySpecReduce_1 19# happyReduction_48-happyReduction_48 happy_x_1- = case happyOut240 happy_x_1 of { happy_var_1 -> - happyIn30- (EAbs (ann happy_var_1) happy_var_1- )}--happyReduce_49 = happyReduce 4# 19# happyReduction_49-happyReduction_49 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut240 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DotDot) -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn30- (EThingAll (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1- ) `HappyStk` happyRest}}}}--happyReduce_50 = happySpecReduce_3 19# happyReduction_50-happyReduction_50 happy_x_3- happy_x_2- happy_x_1- = case happyOut240 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn30- (EThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]) happy_var_1 []- )}}}--happyReduce_51 = happyReduce 4# 19# happyReduction_51-happyReduction_51 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut240 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut42 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn30- (EThingWith (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) happy_var_1 (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}}--happyReduce_52 = happySpecReduce_2 19# happyReduction_52-happyReduction_52 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - case happyOut238 happy_x_2 of { happy_var_2 -> - happyIn30- (EModuleContents (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_53 = happySpecReduce_3 20# happyReduction_53-happyReduction_53 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_2 of { happy_var_2 -> - case happyOut32 happy_x_3 of { happy_var_3 -> - happyIn31- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_54 = happySpecReduce_1 20# happyReduction_54-happyReduction_54 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - happyIn31- (([happy_var_1],[])- )}--happyReduce_55 = happyReduce 7# 21# happyReduction_55-happyReduction_55 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Import) -> - case happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut34 happy_x_3 of { happy_var_3 -> - case happyOut35 happy_x_4 of { happy_var_4 -> - case happyOut238 happy_x_5 of { happy_var_5 -> - case happyOut36 happy_x_6 of { happy_var_6 -> - case happyOut37 happy_x_7 of { happy_var_7 -> - happyIn32- (let { (mmn,ss,ml) = happy_var_6 ;- l = nIS happy_var_1 <++> ann happy_var_5 <+?> ml <+?> (fmap ann) happy_var_7 <** (happy_var_1:snd happy_var_2 ++ snd happy_var_3 ++ snd happy_var_4 ++ ss)}- in ImportDecl l happy_var_5 (fst happy_var_3) (fst happy_var_2) (fst happy_var_4) mmn happy_var_7- ) `HappyStk` happyRest}}}}}}}--happyReduce_56 = happySpecReduce_2 22# happyReduction_56-happyReduction_56 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SOURCE) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> - happyIn33- ((True,[happy_var_1,happy_var_2])- )}}--happyReduce_57 = happySpecReduce_0 22# happyReduction_57-happyReduction_57 = happyIn33- ((False,[])- )--happyReduce_58 = happySpecReduce_1 23# happyReduction_58-happyReduction_58 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> - happyIn34- ((True,[happy_var_1])- )}--happyReduce_59 = happySpecReduce_0 23# happyReduction_59-happyReduction_59 = happyIn34- ((False, [])- )--happyReduce_60 = happyMonadReduce 1# 24# happyReduction_60-happyReduction_60 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - ( do { checkEnabled PackageImports ;- let { Loc l (StringTok (s,_)) = happy_var_1 } ;- return $ (Just s,[l]) })}- ) (\r -> happyReturn (happyIn35 r))--happyReduce_61 = happySpecReduce_0 24# happyReduction_61-happyReduction_61 = happyIn35- ((Nothing,[])- )--happyReduce_62 = happySpecReduce_2 25# happyReduction_62-happyReduction_62 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> - case happyOut238 happy_x_2 of { happy_var_2 -> - happyIn36- ((Just happy_var_2,[happy_var_1],Just (nIS happy_var_1 <++> ann happy_var_2))- )}}--happyReduce_63 = happySpecReduce_0 25# happyReduction_63-happyReduction_63 = happyIn36- ((Nothing,[],Nothing)- )--happyReduce_64 = happySpecReduce_1 26# happyReduction_64-happyReduction_64 happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 -> - happyIn37- (Just happy_var_1- )}--happyReduce_65 = happySpecReduce_0 26# happyReduction_65-happyReduction_65 = happyIn37- (Nothing- )--happyReduce_66 = happyReduce 5# 27# happyReduction_66-happyReduction_66 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut39 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut40 happy_x_3 of { happy_var_3 -> - case happyOut28 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn38- (let {(b,ml,s) = happy_var_1 ;- l = (ml <?+> (happy_var_2 <^^> happy_var_5)) <** (s ++ happy_var_2:reverse (snd happy_var_3) ++ happy_var_4 ++ [happy_var_5])}- in ImportSpecList l b (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}}}--happyReduce_67 = happyReduce 4# 27# happyReduction_67-happyReduction_67 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut39 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut28 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn38- (let {(b,ml,s) = happy_var_1 ; l = (ml <?+> (happy_var_2 <^^> happy_var_4)) <** (s ++ happy_var_2:happy_var_3 ++ [happy_var_4])}- in ImportSpecList l b []- ) `HappyStk` happyRest}}}}--happyReduce_68 = happySpecReduce_1 28# happyReduction_68-happyReduction_68 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> - happyIn39- ((True,Just (nIS happy_var_1),[happy_var_1])- )}--happyReduce_69 = happySpecReduce_0 28# happyReduction_69-happyReduction_69 = happyIn39- ((False,Nothing,[])- )--happyReduce_70 = happySpecReduce_3 29# happyReduction_70-happyReduction_70 happy_x_3- happy_x_2- happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut41 happy_x_3 of { happy_var_3 -> - happyIn40- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_71 = happySpecReduce_1 29# happyReduction_71-happyReduction_71 happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - happyIn40- (([happy_var_1],[])- )}--happyReduce_72 = happySpecReduce_1 30# happyReduction_72-happyReduction_72 happy_x_1- = case happyOut207 happy_x_1 of { happy_var_1 -> - happyIn41- (IVar (ann happy_var_1) happy_var_1- )}--happyReduce_73 = happySpecReduce_1 30# happyReduction_73-happyReduction_73 happy_x_1- = case happyOut239 happy_x_1 of { happy_var_1 -> - happyIn41- (IAbs (ann happy_var_1) happy_var_1- )}--happyReduce_74 = happyReduce 4# 30# happyReduction_74-happyReduction_74 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut239 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DotDot) -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn41- (IThingAll (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1- ) `HappyStk` happyRest}}}}--happyReduce_75 = happySpecReduce_3 30# happyReduction_75-happyReduction_75 happy_x_3- happy_x_2- happy_x_1- = case happyOut239 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn41- (IThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]) happy_var_1 []- )}}}--happyReduce_76 = happyReduce 4# 30# happyReduction_76-happyReduction_76 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut239 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut42 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn41- (IThingWith (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) happy_var_1 (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}}--happyReduce_77 = happySpecReduce_3 31# happyReduction_77-happyReduction_77 happy_x_3- happy_x_2- happy_x_1- = case happyOut42 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut43 happy_x_3 of { happy_var_3 -> - happyIn42- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_78 = happySpecReduce_1 31# happyReduction_78-happyReduction_78 happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 -> - happyIn42- (([happy_var_1],[])- )}--happyReduce_79 = happySpecReduce_1 32# happyReduction_79-happyReduction_79 happy_x_1- = case happyOut207 happy_x_1 of { happy_var_1 -> - happyIn43- (VarName (ann happy_var_1) happy_var_1- )}--happyReduce_80 = happySpecReduce_1 32# happyReduction_80-happyReduction_80 happy_x_1- = case happyOut211 happy_x_1 of { happy_var_1 -> - happyIn43- (ConName (ann happy_var_1) happy_var_1- )}--happyReduce_81 = happySpecReduce_3 33# happyReduction_81-happyReduction_81 happy_x_3- happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 -> - case happyOut45 happy_x_2 of { happy_var_2 -> - case happyOut47 happy_x_3 of { happy_var_3 -> - happyIn44- (let (ops,ss,l) = happy_var_3- in InfixDecl (ann happy_var_1 <++> l <** (snd happy_var_2 ++ reverse ss)) happy_var_1 (fst happy_var_2) (reverse ops)- )}}}--happyReduce_82 = happySpecReduce_0 34# happyReduction_82-happyReduction_82 = happyIn45- ((Nothing, [])- )--happyReduce_83 = happyMonadReduce 1# 34# happyReduction_83-happyReduction_83 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - ( let Loc l (IntTok (i,_)) = happy_var_1 in checkPrec i >>= \i -> return (Just i, [l]))}- ) (\r -> happyReturn (happyIn45 r))--happyReduce_84 = happySpecReduce_1 35# happyReduction_84-happyReduction_84 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> - happyIn46- (AssocNone $ nIS happy_var_1- )}--happyReduce_85 = happySpecReduce_1 35# happyReduction_85-happyReduction_85 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> - happyIn46- (AssocLeft $ nIS happy_var_1- )}--happyReduce_86 = happySpecReduce_1 35# happyReduction_86-happyReduction_86 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> - happyIn46- (AssocRight $ nIS happy_var_1- )}--happyReduce_87 = happySpecReduce_3 36# happyReduction_87-happyReduction_87 happy_x_3- happy_x_2- happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut218 happy_x_3 of { happy_var_3 -> - happyIn47- (let (ops,ss,l) = happy_var_1 in (happy_var_3 : ops, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_88 = happySpecReduce_1 36# happyReduction_88-happyReduction_88 happy_x_1- = case happyOut218 happy_x_1 of { happy_var_1 -> - happyIn47- (([happy_var_1],[],ann happy_var_1)- )}--happyReduce_89 = happyMonadReduce 2# 37# happyReduction_89-happyReduction_89 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut49 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - ( checkRevDecls (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1 ++ reverse happy_var_2))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_90 = happySpecReduce_3 38# happyReduction_90-happyReduction_90 happy_x_3- happy_x_2- happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_2 of { happy_var_2 -> - case happyOut50 happy_x_3 of { happy_var_3 -> - happyIn49- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_91 = happySpecReduce_1 38# happyReduction_91-happyReduction_91 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn49- (([happy_var_1],[])- )}--happyReduce_92 = happyMonadReduce 4# 39# happyReduction_92-happyReduction_92 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut78 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut92 happy_x_4 of { happy_var_4 -> - ( do { dh <- checkSimpleType happy_var_2;- let {l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]};- return (TypeDecl l dh happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_93 = happyMonadReduce 4# 39# happyReduction_93-happyReduction_93 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Family) -> - case happyOut80 happy_x_3 of { happy_var_3 -> - case happyOut129 happy_x_4 of { happy_var_4 -> - ( do { dh <- checkSimpleType happy_var_3;- let {l = nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** (happy_var_1:happy_var_2:snd happy_var_4)};- return (TypeFamDecl l dh (fst happy_var_4)) })}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_94 = happyMonadReduce 5# 39# happyReduction_94-happyReduction_94 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 Equals) -> - case happyOut92 happy_x_5 of { happy_var_5 -> - ( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns- checkEnabled TypeFamilies ;- let {l = nIS happy_var_1 <++> ann happy_var_5 <** [happy_var_1,happy_var_2,happy_var_4]};- return (TypeInsDecl l happy_var_3 happy_var_5) })}}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_95 = happyMonadReduce 4# 39# happyReduction_95-happyReduction_95 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 -> - case happyOut93 happy_x_2 of { happy_var_2 -> - case happyOut108 happy_x_3 of { happy_var_3 -> - case happyOut120 happy_x_4 of { happy_var_4 -> - ( do { (cs,dh) <- checkDataHeader happy_var_2;- let { (qds,ss,minf) = happy_var_3;- l = happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann happy_var_4 <** ss};- checkDataOrNew happy_var_1 qds;- return (DataDecl l happy_var_1 cs dh (reverse qds) happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_96 = happyMonadReduce 5# 39# happyReduction_96-happyReduction_96 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 -> - case happyOut93 happy_x_2 of { happy_var_2 -> - case happyOut129 happy_x_3 of { happy_var_3 -> - case happyOut104 happy_x_4 of { happy_var_4 -> - case happyOut120 happy_x_5 of { happy_var_5 -> - ( do { (cs,dh) <- checkDataHeader happy_var_2;- let { (gs,ss,minf) = happy_var_4;- l = ann happy_var_1 <+?> minf <+?> fmap ann happy_var_5 <** (snd happy_var_3 ++ ss)};- checkDataOrNewG happy_var_1 gs;- case (gs, fst happy_var_3) of- ([], Nothing) -> return (DataDecl l happy_var_1 cs dh [] happy_var_5)- _ -> checkEnabled GADTs >> return (GDataDecl l happy_var_1 cs dh (fst happy_var_3) (reverse gs) happy_var_5) })}}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_97 = happyMonadReduce 4# 39# happyReduction_97-happyReduction_97 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Family) -> - case happyOut93 happy_x_3 of { happy_var_3 -> - case happyOut129 happy_x_4 of { happy_var_4 -> - ( do { (cs,dh) <- checkDataHeader happy_var_3;- let {l = nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** (happy_var_1:happy_var_2:snd happy_var_4)};- return (DataFamDecl l cs dh (fst happy_var_4)) })}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_98 = happyMonadReduce 5# 39# happyReduction_98-happyReduction_98 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut92 happy_x_3 of { happy_var_3 -> - case happyOut108 happy_x_4 of { happy_var_4 -> - case happyOut120 happy_x_5 of { happy_var_5 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- checkEnabled TypeFamilies ;- let { (qds,ss,minf) = happy_var_4 ;- l = happy_var_1 <> happy_var_3 <+?> minf <+?> fmap ann happy_var_5 <** happy_var_2:ss };- checkDataOrNew happy_var_1 qds;- return (DataInsDecl l happy_var_1 happy_var_3 (reverse qds) happy_var_5) })}}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_99 = happyMonadReduce 6# 39# happyReduction_99-happyReduction_99 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut92 happy_x_3 of { happy_var_3 -> - case happyOut129 happy_x_4 of { happy_var_4 -> - case happyOut104 happy_x_5 of { happy_var_5 -> - case happyOut120 happy_x_6 of { happy_var_6 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- checkEnabled TypeFamilies ;- let {(gs,ss,minf) = happy_var_5;- l = ann happy_var_1 <+?> minf <+?> fmap ann happy_var_6 <** (happy_var_2:snd happy_var_4 ++ ss)};- checkDataOrNewG happy_var_1 gs;- return (GDataInsDecl l happy_var_1 happy_var_3 (fst happy_var_4) (reverse gs) happy_var_6) })}}}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_100 = happyMonadReduce 4# 39# happyReduction_100-happyReduction_100 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Class) -> - case happyOut93 happy_x_2 of { happy_var_2 -> - case happyOut101 happy_x_3 of { happy_var_3 -> - case happyOut130 happy_x_4 of { happy_var_4 -> - ( do { (cs,dh) <- checkClassHeader happy_var_2;- let {(fds,ss1,minf1) = happy_var_3;(mcs,ss2,minf2) = happy_var_4} ;- let { l = nIS happy_var_1 <++> ann happy_var_2 <+?> minf1 <+?> minf2 <** (happy_var_1:ss1 ++ ss2)} ;- return (ClassDecl l cs dh fds mcs) })}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_101 = happyMonadReduce 3# 39# happyReduction_101-happyReduction_101 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> - case happyOut93 happy_x_2 of { happy_var_2 -> - case happyOut135 happy_x_3 of { happy_var_3 -> - ( do { (cs,ih) <- checkInstHeader happy_var_2;- let {(mis,ss,minf) = happy_var_3};- return (InstDecl (nIS happy_var_1 <++> ann happy_var_2 <+?> minf <** (happy_var_1:ss)) cs ih mis) })}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_102 = happyMonadReduce 3# 39# happyReduction_102-happyReduction_102 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut93 happy_x_3 of { happy_var_3 -> - ( do { checkEnabled StandaloneDeriving ;- (cs, ih) <- checkInstHeader happy_var_3;- let {l = nIS happy_var_1 <++> ann happy_var_3 <** [happy_var_1,happy_var_2]};- return (DerivDecl l cs ih) })}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_103 = happyReduce 4# 39# happyReduction_103-happyReduction_103 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut52 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn50- (DefaultDecl (happy_var_1 <^^> happy_var_4 <** (happy_var_1:happy_var_2 : snd happy_var_3 ++ [happy_var_4])) (fst happy_var_3)- ) `HappyStk` happyRest}}}}--happyReduce_104 = happyMonadReduce 1# 39# happyReduction_104-happyReduction_104 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut148 happy_x_1 of { happy_var_1 -> - ( do- checkToplevel happy_var_1- checkExpr happy_var_1 >>= \e -> return (SpliceDecl (ann e) e))}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_105 = happyReduce 5# 39# happyReduction_105-happyReduction_105 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Import) -> - case happyOut63 happy_x_3 of { happy_var_3 -> - case happyOut64 happy_x_4 of { happy_var_4 -> - case happyOut65 happy_x_5 of { happy_var_5 -> - happyIn50- (let (s,n,t,ss) = happy_var_5 in ForImp (nIS happy_var_1 <++> ann t <** (happy_var_1:happy_var_2:ss)) happy_var_3 happy_var_4 s n t- ) `HappyStk` happyRest}}}}}--happyReduce_106 = happyReduce 4# 39# happyReduction_106-happyReduction_106 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Export) -> - case happyOut63 happy_x_3 of { happy_var_3 -> - case happyOut65 happy_x_4 of { happy_var_4 -> - happyIn50- (let (s,n,t,ss) = happy_var_4 in ForExp (nIS happy_var_1 <++> ann t <** (happy_var_1:happy_var_2:ss)) happy_var_3 s n t- ) `HappyStk` happyRest}}}}--happyReduce_107 = happySpecReduce_3 39# happyReduction_107-happyReduction_107 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RULES) -> - case happyOut66 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn50- (RulePragmaDecl (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) $ reverse happy_var_2- )}}}--happyReduce_108 = happySpecReduce_3 39# happyReduction_108-happyReduction_108 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DEPRECATED) -> - case happyOut72 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn50- (DeprPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_109 = happySpecReduce_3 39# happyReduction_109-happyReduction_109 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 WARNING) -> - case happyOut72 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn50- (WarnPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_110 = happySpecReduce_3 39# happyReduction_110-happyReduction_110 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 ANN) -> - case happyOut76 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn50- (AnnPragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_111 = happySpecReduce_1 39# happyReduction_111-happyReduction_111 happy_x_1- = case happyOut55 happy_x_1 of { happy_var_1 -> - happyIn50- (happy_var_1- )}--happyReduce_112 = happySpecReduce_1 40# happyReduction_112-happyReduction_112 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - happyIn51- (DataType $ nIS happy_var_1- )}--happyReduce_113 = happySpecReduce_1 40# happyReduction_113-happyReduction_113 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> - happyIn51- (NewType $ nIS happy_var_1- )}--happyReduce_114 = happyMonadReduce 1# 41# happyReduction_114-happyReduction_114 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut95 happy_x_1 of { happy_var_1 -> - ( do { ts <- mapM checkType (fst happy_var_1);- return $ (reverse ts, reverse (snd happy_var_1)) })}- ) (\r -> happyReturn (happyIn52 r))--happyReduce_115 = happySpecReduce_1 41# happyReduction_115-happyReduction_115 happy_x_1- = case happyOut79 happy_x_1 of { happy_var_1 -> - happyIn52- (([happy_var_1],[])- )}--happyReduce_116 = happySpecReduce_0 41# happyReduction_116-happyReduction_116 = happyIn52- (([],[])- )--happyReduce_117 = happyMonadReduce 3# 42# happyReduction_117-happyReduction_117 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut54 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - ( checkRevDecls (fst happy_var_2) >>= \ds -> return (ds, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}}- ) (\r -> happyReturn (happyIn53 r))--happyReduce_118 = happySpecReduce_1 42# happyReduction_118-happyReduction_118 happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - happyIn53- (([],reverse happy_var_1)- )}--happyReduce_119 = happySpecReduce_3 43# happyReduction_119-happyReduction_119 happy_x_3- happy_x_2- happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_2 of { happy_var_2 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn54- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_120 = happySpecReduce_1 43# happyReduction_120-happyReduction_120 happy_x_1- = case happyOut55 happy_x_1 of { happy_var_1 -> - happyIn54- (([happy_var_1],[])- )}--happyReduce_121 = happySpecReduce_1 44# happyReduction_121-happyReduction_121 happy_x_1- = case happyOut57 happy_x_1 of { happy_var_1 -> - happyIn55- (happy_var_1- )}--happyReduce_122 = happySpecReduce_1 44# happyReduction_122-happyReduction_122 happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 -> - happyIn55- (happy_var_1- )}--happyReduce_123 = happySpecReduce_1 44# happyReduction_123-happyReduction_123 happy_x_1- = case happyOut140 happy_x_1 of { happy_var_1 -> - happyIn55- (happy_var_1- )}--happyReduce_124 = happySpecReduce_3 45# happyReduction_124-happyReduction_124 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut53 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn56- (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)- )}}}--happyReduce_125 = happySpecReduce_3 45# happyReduction_125-happyReduction_125 happy_x_3- happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - case happyOut53 happy_x_2 of { happy_var_2 -> - case happyOut237 happy_x_3 of { happy_var_3 -> - happyIn56- (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)- )}}}--happyReduce_126 = happyMonadReduce 3# 46# happyReduction_126-happyReduction_126 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut92 happy_x_3 of { happy_var_3 -> - ( do { v <- checkSigVar happy_var_1;- return $ TypeSig (happy_var_1 <> happy_var_3 <** [happy_var_2]) [v] happy_var_3 })}}}- ) (\r -> happyReturn (happyIn57 r))--happyReduce_127 = happyMonadReduce 5# 46# happyReduction_127-happyReduction_127 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut62 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> - case happyOut92 happy_x_5 of { happy_var_5 -> - ( do { v <- checkSigVar happy_var_1;- let {(vs,ss,_) = happy_var_3 ; l = happy_var_1 <> happy_var_5 <** (happy_var_2 : reverse ss ++ [happy_var_4]) } ;- return $ TypeSig l (v : reverse vs) happy_var_5 })}}}}}- ) (\r -> happyReturn (happyIn57 r))--happyReduce_128 = happySpecReduce_1 46# happyReduction_128-happyReduction_128 happy_x_1- = case happyOut58 happy_x_1 of { happy_var_1 -> - happyIn57- (happy_var_1- )}--happyReduce_129 = happyReduce 4# 47# happyReduction_129-happyReduction_129 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut68 happy_x_2 of { happy_var_2 -> - case happyOut209 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - happyIn58- (let Loc l (INLINE s) = happy_var_1 in InlineSig (l <^^> happy_var_4 <** [l,happy_var_4]) s happy_var_2 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_130 = happyReduce 4# 47# happyReduction_130-happyReduction_130 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 INLINE_CONLIKE) -> - case happyOut68 happy_x_2 of { happy_var_2 -> - case happyOut209 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - happyIn58- (InlineConlikeSig (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_4]) happy_var_2 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_131 = happyReduce 6# 47# happyReduction_131-happyReduction_131 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SPECIALISE) -> - case happyOut68 happy_x_2 of { happy_var_2 -> - case happyOut209 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> - case happyOut59 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 PragmaEnd) -> - happyIn58- (SpecSig (happy_var_1 <^^> happy_var_6 <** (happy_var_1: happy_var_4 : snd happy_var_5 ++ [happy_var_6])) happy_var_2 happy_var_3 (fst happy_var_5)- ) `HappyStk` happyRest}}}}}}--happyReduce_132 = happyReduce 6# 47# happyReduction_132-happyReduction_132 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut68 happy_x_2 of { happy_var_2 -> - case happyOut209 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> - case happyOut59 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 PragmaEnd) -> - happyIn58- (let Loc l (SPECIALISE_INLINE s) = happy_var_1- in SpecInlineSig (l <^^> happy_var_6 <** (l:happy_var_4:snd happy_var_5++[happy_var_6])) s happy_var_2 happy_var_3 (fst happy_var_5)- ) `HappyStk` happyRest}}}}}}--happyReduce_133 = happyMonadReduce 4# 47# happyReduction_133-happyReduction_133 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 SPECIALISE) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut93 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - ( do { (cs,ih) <- checkInstHeader happy_var_3;- let {l = happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,happy_var_4]};- return $ InstSig l cs ih })}}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_134 = happySpecReduce_1 48# happyReduction_134-happyReduction_134 happy_x_1- = case happyOut60 happy_x_1 of { happy_var_1 -> - happyIn59- (([happy_var_1],[])- )}--happyReduce_135 = happySpecReduce_3 48# happyReduction_135-happyReduction_135 happy_x_3- happy_x_2- happy_x_1- = case happyOut60 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut59 happy_x_3 of { happy_var_3 -> - happyIn59- ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)- )}}}--happyReduce_136 = happyMonadReduce 1# 49# happyReduction_136-happyReduction_136 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut93 happy_x_1 of { happy_var_1 -> - ( checkType $ mkTyForall (ann happy_var_1) Nothing Nothing happy_var_1)}- ) (\r -> happyReturn (happyIn60 r))--happyReduce_137 = happySpecReduce_1 50# happyReduction_137-happyReduction_137 happy_x_1- = case happyOut56 happy_x_1 of { happy_var_1 -> - happyIn61- (happy_var_1- )}--happyReduce_138 = happySpecReduce_3 50# happyReduction_138-happyReduction_138 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut203 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn61- (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2) (fst happy_var_2)- )}}}--happyReduce_139 = happySpecReduce_3 50# happyReduction_139-happyReduction_139 happy_x_3- happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - case happyOut203 happy_x_2 of { happy_var_2 -> - case happyOut237 happy_x_3 of { happy_var_3 -> - happyIn61- (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2) (fst happy_var_2)- )}}}--happyReduce_140 = happySpecReduce_3 51# happyReduction_140-happyReduction_140 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut207 happy_x_3 of { happy_var_3 -> - happyIn62- (let (ns,ss,l) = happy_var_1 in (happy_var_3 : ns, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_141 = happyMonadReduce 1# 51# happyReduction_141-happyReduction_141 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut209 happy_x_1 of { happy_var_1 -> - ( do { n <- checkUnQual happy_var_1;- return ([n],[],ann n) })}- ) (\r -> happyReturn (happyIn62 r))--happyReduce_142 = happySpecReduce_1 52# happyReduction_142-happyReduction_142 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> - happyIn63- (StdCall (nIS happy_var_1)- )}--happyReduce_143 = happySpecReduce_1 52# happyReduction_143-happyReduction_143 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> - happyIn63- (CCall (nIS happy_var_1)- )}--happyReduce_144 = happySpecReduce_1 52# happyReduction_144-happyReduction_144 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> - happyIn63- (CPlusPlus (nIS happy_var_1)- )}--happyReduce_145 = happySpecReduce_1 52# happyReduction_145-happyReduction_145 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> - happyIn63- (DotNet (nIS happy_var_1)- )}--happyReduce_146 = happySpecReduce_1 52# happyReduction_146-happyReduction_146 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> - happyIn63- (Jvm (nIS happy_var_1)- )}--happyReduce_147 = happySpecReduce_1 52# happyReduction_147-happyReduction_147 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> - happyIn63- (Js (nIS happy_var_1)- )}--happyReduce_148 = happySpecReduce_1 52# happyReduction_148-happyReduction_148 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> - happyIn63- (CApi (nIS happy_var_1)- )}--happyReduce_149 = happySpecReduce_1 53# happyReduction_149-happyReduction_149 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn64- (Just $ PlaySafe (nIS happy_var_1) False- )}--happyReduce_150 = happySpecReduce_1 53# happyReduction_150-happyReduction_150 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn64- (Just $ PlayRisky (nIS happy_var_1)- )}--happyReduce_151 = happySpecReduce_1 53# happyReduction_151-happyReduction_151 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn64- (Just $ PlaySafe (nIS happy_var_1) True- )}--happyReduce_152 = happySpecReduce_1 53# happyReduction_152-happyReduction_152 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> - happyIn64- (Just $ PlayInterruptible (nIS happy_var_1)- )}--happyReduce_153 = happySpecReduce_0 53# happyReduction_153-happyReduction_153 = happyIn64- (Nothing- )--happyReduce_154 = happyReduce 4# 54# happyReduction_154-happyReduction_154 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut208 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut77 happy_x_4 of { happy_var_4 -> - happyIn65- (let Loc l (StringTok (s,_)) = happy_var_1 in (Just s, happy_var_2, happy_var_4, [l,happy_var_3])- ) `HappyStk` happyRest}}}}--happyReduce_155 = happySpecReduce_3 54# happyReduction_155-happyReduction_155 happy_x_3- happy_x_2- happy_x_1- = case happyOut208 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut77 happy_x_3 of { happy_var_3 -> - happyIn65- ((Nothing, happy_var_1, happy_var_3, [happy_var_2])- )}}}--happyReduce_156 = happySpecReduce_3 55# happyReduction_156-happyReduction_156 happy_x_3- happy_x_2- happy_x_1- = case happyOut66 happy_x_1 of { happy_var_1 -> - case happyOut67 happy_x_3 of { happy_var_3 -> - happyIn66- (happy_var_3 : happy_var_1- )}}--happyReduce_157 = happySpecReduce_2 55# happyReduction_157-happyReduction_157 happy_x_2- happy_x_1- = case happyOut66 happy_x_1 of { happy_var_1 -> - happyIn66- (happy_var_1- )}--happyReduce_158 = happySpecReduce_1 55# happyReduction_158-happyReduction_158 happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - happyIn66- ([happy_var_1]- )}--happyReduce_159 = happySpecReduce_0 55# happyReduction_159-happyReduction_159 = happyIn66- ([]- )--happyReduce_160 = happyMonadReduce 6# 56# happyReduction_160-happyReduction_160 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut68 happy_x_2 of { happy_var_2 -> - case happyOut69 happy_x_3 of { happy_var_3 -> - case happyOut148 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 Equals) -> - case happyOut146 happy_x_6 of { happy_var_6 -> - ( do { let {Loc l (StringTok (s,_)) = happy_var_1};- e <- checkRuleExpr happy_var_4;- return $ Rule (nIS l <++> ann happy_var_6 <** l:snd happy_var_3 ++ [happy_var_5]) s happy_var_2 (fst happy_var_3) e happy_var_6 })}}}}}}- ) (\r -> happyReturn (happyIn67 r))--happyReduce_161 = happySpecReduce_0 57# happyReduction_161-happyReduction_161 = happyIn68- (Nothing- )--happyReduce_162 = happySpecReduce_3 57# happyReduction_162-happyReduction_162 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn68- (let Loc l (IntTok (i,_)) = happy_var_2 in Just $ ActiveFrom (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) (fromInteger i)- )}}}--happyReduce_163 = happyReduce 4# 57# happyReduction_163-happyReduction_163 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> - case happyOutTok happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightSquare) -> - happyIn68- (let Loc l (IntTok (i,_)) = happy_var_3 in Just $ ActiveUntil (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,l,happy_var_4]) (fromInteger i)- ) `HappyStk` happyRest}}}}--happyReduce_164 = happySpecReduce_0 58# happyReduction_164-happyReduction_164 = happyIn69- ((Nothing,[])- )--happyReduce_165 = happySpecReduce_3 58# happyReduction_165-happyReduction_165 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut70 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - happyIn69- ((Just happy_var_2,[happy_var_1,happy_var_3])- )}}}--happyReduce_166 = happySpecReduce_1 59# happyReduction_166-happyReduction_166 happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn70- ([happy_var_1]- )}--happyReduce_167 = happySpecReduce_2 59# happyReduction_167-happyReduction_167 happy_x_2- happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - case happyOut70 happy_x_2 of { happy_var_2 -> - happyIn70- (happy_var_1 : happy_var_2- )}}--happyReduce_168 = happySpecReduce_1 60# happyReduction_168-happyReduction_168 happy_x_1- = case happyOut224 happy_x_1 of { happy_var_1 -> - happyIn71- (RuleVar (ann happy_var_1) happy_var_1- )}--happyReduce_169 = happyReduce 5# 60# happyReduction_169-happyReduction_169 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut224 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut92 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn71- (TypedRuleVar (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_170 = happySpecReduce_3 61# happyReduction_170-happyReduction_170 happy_x_3- happy_x_2- happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> - case happyOut73 happy_x_3 of { happy_var_3 -> - happyIn72- ((fst happy_var_3 : fst happy_var_1, snd happy_var_1 ++ (happy_var_2:snd happy_var_3))- )}}}--happyReduce_171 = happySpecReduce_2 61# happyReduction_171-happyReduction_171 happy_x_2- happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> - happyIn72- ((fst happy_var_1, snd happy_var_1 ++ [happy_var_2])- )}}--happyReduce_172 = happySpecReduce_1 61# happyReduction_172-happyReduction_172 happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - happyIn72- (([fst happy_var_1],snd happy_var_1)- )}--happyReduce_173 = happySpecReduce_0 61# happyReduction_173-happyReduction_173 = happyIn72- (([],[])- )--happyReduce_174 = happySpecReduce_2 62# happyReduction_174-happyReduction_174 happy_x_2- happy_x_1- = case happyOut74 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn73- (let Loc l (StringTok (s,_)) = happy_var_2 in ((fst happy_var_1,s),snd happy_var_1 ++ [l])- )}}--happyReduce_175 = happySpecReduce_1 63# happyReduction_175-happyReduction_175 happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - happyIn74- (([happy_var_1],[])- )}--happyReduce_176 = happySpecReduce_3 63# happyReduction_176-happyReduction_176 happy_x_3- happy_x_2- happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut74 happy_x_3 of { happy_var_3 -> - happyIn74- ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)- )}}}--happyReduce_177 = happySpecReduce_1 64# happyReduction_177-happyReduction_177 happy_x_1- = case happyOut211 happy_x_1 of { happy_var_1 -> - happyIn75- (happy_var_1- )}--happyReduce_178 = happySpecReduce_1 64# happyReduction_178-happyReduction_178 happy_x_1- = case happyOut207 happy_x_1 of { happy_var_1 -> - happyIn75- (happy_var_1- )}--happyReduce_179 = happyMonadReduce 3# 65# happyReduction_179-happyReduction_179 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut227 happy_x_2 of { happy_var_2 -> - case happyOut159 happy_x_3 of { happy_var_3 -> - ( checkExpr happy_var_3 >>= \e -> return (TypeAnn (nIS happy_var_1 <++> ann e <** [happy_var_1]) happy_var_2 e))}}}- ) (\r -> happyReturn (happyIn76 r))--happyReduce_180 = happyMonadReduce 2# 65# happyReduction_180-happyReduction_180 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - case happyOut159 happy_x_2 of { happy_var_2 -> - ( checkExpr happy_var_2 >>= \e -> return (ModuleAnn (nIS happy_var_1 <++> ann e <** [happy_var_1]) e))}}- ) (\r -> happyReturn (happyIn76 r))--happyReduce_181 = happyMonadReduce 2# 65# happyReduction_181-happyReduction_181 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut75 happy_x_1 of { happy_var_1 -> - case happyOut159 happy_x_2 of { happy_var_2 -> - ( checkExpr happy_var_2 >>= \e -> return (Ann (happy_var_1 <> e) happy_var_1 e))}}- ) (\r -> happyReturn (happyIn76 r))--happyReduce_182 = happyMonadReduce 1# 66# happyReduction_182-happyReduction_182 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut78 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)}- ) (\r -> happyReturn (happyIn77 r))--happyReduce_183 = happySpecReduce_1 67# happyReduction_183-happyReduction_183 happy_x_1- = case happyOut82 happy_x_1 of { happy_var_1 -> - happyIn78- (happy_var_1- )}--happyReduce_184 = happySpecReduce_3 67# happyReduction_184-happyReduction_184 happy_x_3- happy_x_2- happy_x_1- = case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOut91 happy_x_2 of { happy_var_2 -> - case happyOut78 happy_x_3 of { happy_var_3 -> - happyIn78- (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_185 = happySpecReduce_3 67# happyReduction_185-happyReduction_185 happy_x_3- happy_x_2- happy_x_1- = case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOut243 happy_x_2 of { happy_var_2 -> - case happyOut78 happy_x_3 of { happy_var_3 -> - happyIn78- (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_186 = happySpecReduce_3 67# happyReduction_186-happyReduction_186 happy_x_3- happy_x_2- happy_x_1- = case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut93 happy_x_3 of { happy_var_3 -> - happyIn78- (TyFun (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_187 = happyMonadReduce 3# 67# happyReduction_187-happyReduction_187 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> - case happyOut82 happy_x_3 of { happy_var_3 -> - ( do { checkEnabled TypeFamilies ;- let {l = happy_var_1 <> happy_var_3 <** [happy_var_2]};- return $ TyPred l $ EqualP l happy_var_1 happy_var_3 })}}}- ) (\r -> happyReturn (happyIn78 r))--happyReduce_188 = happyMonadReduce 1# 68# happyReduction_188-happyReduction_188 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut80 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)}- ) (\r -> happyReturn (happyIn79 r))--happyReduce_189 = happySpecReduce_3 69# happyReduction_189-happyReduction_189 happy_x_3- happy_x_2- happy_x_1- = case happyOut210 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut78 happy_x_3 of { happy_var_3 -> - happyIn80- (let l = (happy_var_1 <> happy_var_3 <** [happy_var_2]) in TyPred l $ IParam l happy_var_1 happy_var_3- )}}}--happyReduce_190 = happySpecReduce_1 69# happyReduction_190-happyReduction_190 happy_x_1- = case happyOut78 happy_x_1 of { happy_var_1 -> - happyIn80- (happy_var_1- )}--happyReduce_191 = happyMonadReduce 1# 70# happyReduction_191-happyReduction_191 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut82 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_192 = happySpecReduce_2 71# happyReduction_192-happyReduction_192 happy_x_2- happy_x_1- = case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOut84 happy_x_2 of { happy_var_2 -> - happyIn82- (TyApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_193 = happySpecReduce_1 71# happyReduction_193-happyReduction_193 happy_x_1- = case happyOut84 happy_x_1 of { happy_var_1 -> - happyIn82- (happy_var_1- )}--happyReduce_194 = happyMonadReduce 1# 72# happyReduction_194-happyReduction_194 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut84 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_195 = happySpecReduce_1 73# happyReduction_195-happyReduction_195 happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 -> - happyIn84- (TyCon (ann happy_var_1) happy_var_1- )}--happyReduce_196 = happySpecReduce_1 73# happyReduction_196-happyReduction_196 happy_x_1- = case happyOut241 happy_x_1 of { happy_var_1 -> - happyIn84- (TyVar (ann happy_var_1) happy_var_1- )}--happyReduce_197 = happySpecReduce_3 73# happyReduction_197-happyReduction_197 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut95 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn84- (TyTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) Boxed (reverse (fst happy_var_2))- )}}}--happyReduce_198 = happySpecReduce_3 73# happyReduction_198-happyReduction_198 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut96 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn84- (TyTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) Unboxed (reverse (fst happy_var_2))- )}}}--happyReduce_199 = happySpecReduce_3 73# happyReduction_199-happyReduction_199 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut80 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn84- (TyList (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_200 = happySpecReduce_3 73# happyReduction_200-happyReduction_200 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut93 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn84- (TyParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_201 = happyReduce 5# 73# happyReduction_201-happyReduction_201 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut93 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut123 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn84- (TyKind (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_202 = happyMonadReduce 1# 73# happyReduction_202-happyReduction_202 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut85 happy_x_1 of { happy_var_1 -> - ( checkEnabled DataKinds >> return (TyPromoted (ann happy_var_1) happy_var_1))}- ) (\r -> happyReturn (happyIn84 r))--happyReduce_203 = happyReduce 4# 74# happyReduction_203-happyReduction_203 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut88 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightSquare) -> - happyIn85- (PromotedList (happy_var_1 <^^> happy_var_4 <** (happy_var_1: reverse(happy_var_4:snd happy_var_3))) True (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}--happyReduce_204 = happySpecReduce_3 74# happyReduction_204-happyReduction_204 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut87 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn85- (PromotedList (happy_var_1 <^^> happy_var_3 <** (happy_var_1: reverse(happy_var_3:snd happy_var_2))) False (reverse (fst happy_var_2))- )}}}--happyReduce_205 = happyReduce 4# 74# happyReduction_205-happyReduction_205 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut88 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn85- (PromotedTuple (happy_var_1 <^^> happy_var_4 <** (happy_var_1: reverse(happy_var_4:snd happy_var_3))) (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}--happyReduce_206 = happySpecReduce_3 74# happyReduction_206-happyReduction_206 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn85- (PromotedUnit (happy_var_1 <^^> happy_var_3 )- )}}--happyReduce_207 = happySpecReduce_2 74# happyReduction_207-happyReduction_207 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut240 happy_x_2 of { happy_var_2 -> - happyIn85- (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True happy_var_2- )}}--happyReduce_208 = happySpecReduce_1 74# happyReduction_208-happyReduction_208 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn85- (let Loc l (IntTok (i,raw)) = happy_var_1 in PromotedInteger (nIS l) i raw- )}--happyReduce_209 = happySpecReduce_1 74# happyReduction_209-happyReduction_209 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn85- (let Loc l (StringTok (s,raw)) = happy_var_1 in PromotedString (nIS l) s raw- )}--happyReduce_210 = happySpecReduce_1 75# happyReduction_210-happyReduction_210 happy_x_1- = case happyOut85 happy_x_1 of { happy_var_1 -> - happyIn86- (happy_var_1- )}--happyReduce_211 = happySpecReduce_1 75# happyReduction_211-happyReduction_211 happy_x_1- = case happyOut240 happy_x_1 of { happy_var_1 -> - happyIn86- (PromotedCon (ann happy_var_1) False happy_var_1- )}--happyReduce_212 = happySpecReduce_3 76# happyReduction_212-happyReduction_212 happy_x_3- happy_x_2- happy_x_1- = case happyOut88 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut86 happy_x_3 of { happy_var_3 -> - happyIn87- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_213 = happySpecReduce_1 77# happyReduction_213-happyReduction_213 happy_x_1- = case happyOut86 happy_x_1 of { happy_var_1 -> - happyIn88- (([happy_var_1],[])- )}--happyReduce_214 = happySpecReduce_3 77# happyReduction_214-happyReduction_214 happy_x_3- happy_x_2- happy_x_1- = case happyOut88 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut86 happy_x_3 of { happy_var_3 -> - happyIn88- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_215 = happySpecReduce_1 78# happyReduction_215-happyReduction_215 happy_x_1- = case happyOut90 happy_x_1 of { happy_var_1 -> - happyIn89- (happy_var_1- )}--happyReduce_216 = happySpecReduce_2 78# happyReduction_216-happyReduction_216 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn89- (unit_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_217 = happySpecReduce_3 78# happyReduction_217-happyReduction_217 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn89- (fun_tycon_name (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3])- )}}}--happyReduce_218 = happySpecReduce_2 78# happyReduction_218-happyReduction_218 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightSquare) -> - happyIn89- (list_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_219 = happySpecReduce_3 78# happyReduction_219-happyReduction_219 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut162 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn89- (tuple_tycon_name (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse happy_var_2 ++ [happy_var_3])) Boxed (length happy_var_2)- )}}}--happyReduce_220 = happySpecReduce_2 78# happyReduction_220-happyReduction_220 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> - happyIn89- (unboxed_singleton_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_221 = happySpecReduce_3 78# happyReduction_221-happyReduction_221 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut162 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn89- (tuple_tycon_name (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse happy_var_2 ++ [happy_var_3])) Unboxed (length happy_var_2)- )}}}--happyReduce_222 = happySpecReduce_1 79# happyReduction_222-happyReduction_222 happy_x_1- = case happyOut226 happy_x_1 of { happy_var_1 -> - happyIn90- (happy_var_1- )}--happyReduce_223 = happySpecReduce_3 79# happyReduction_223-happyReduction_223 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut221 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn90- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_224 = happySpecReduce_3 79# happyReduction_224-happyReduction_224 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut230 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn90- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_225 = happySpecReduce_1 80# happyReduction_225-happyReduction_225 happy_x_1- = case happyOut217 happy_x_1 of { happy_var_1 -> - happyIn91- (happy_var_1- )}--happyReduce_226 = happyMonadReduce 1# 81# happyReduction_226-happyReduction_226 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut93 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)}- ) (\r -> happyReturn (happyIn92 r))--happyReduce_227 = happyReduce 4# 82# happyReduction_227-happyReduction_227 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut97 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - case happyOut93 happy_x_4 of { happy_var_4 -> - happyIn93- (TyForall (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) (Just (reverse (fst happy_var_2))) Nothing happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_228 = happySpecReduce_2 82# happyReduction_228-happyReduction_228 happy_x_2- happy_x_1- = case happyOut94 happy_x_1 of { happy_var_1 -> - case happyOut93 happy_x_2 of { happy_var_2 -> - happyIn93- (TyForall (happy_var_1 <> happy_var_2) Nothing (Just happy_var_1) happy_var_2- )}}--happyReduce_229 = happySpecReduce_1 82# happyReduction_229-happyReduction_229 happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 -> - happyIn93- (happy_var_1- )}--happyReduce_230 = happyMonadReduce 2# 83# happyReduction_230-happyReduction_230 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleArrow) -> - ( checkPContext $ (amap (\l -> l <++> nIS happy_var_2 <** (srcInfoPoints l ++ [happy_var_2]))) happy_var_1)}}- ) (\r -> happyReturn (happyIn94 r))--happyReduce_231 = happyMonadReduce 4# 83# happyReduction_231-happyReduction_231 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> - case happyOut82 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleArrow) -> - ( do { checkEnabled TypeFamilies;- let {l = happy_var_1 <> happy_var_3 <** [happy_var_2,happy_var_4]};- checkPContext (TyPred l $ EqualP l happy_var_1 happy_var_3) })}}}}- ) (\r -> happyReturn (happyIn94 r))--happyReduce_232 = happySpecReduce_3 84# happyReduction_232-happyReduction_232 happy_x_3- happy_x_2- happy_x_1- = case happyOut96 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut93 happy_x_3 of { happy_var_3 -> - happyIn95- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_233 = happySpecReduce_1 85# happyReduction_233-happyReduction_233 happy_x_1- = case happyOut93 happy_x_1 of { happy_var_1 -> - happyIn96- (([happy_var_1],[])- )}--happyReduce_234 = happySpecReduce_3 85# happyReduction_234-happyReduction_234 happy_x_3- happy_x_2- happy_x_1- = case happyOut96 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut93 happy_x_3 of { happy_var_3 -> - happyIn96- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_235 = happySpecReduce_2 86# happyReduction_235-happyReduction_235 happy_x_2- happy_x_1- = case happyOut97 happy_x_1 of { happy_var_1 -> - case happyOut98 happy_x_2 of { happy_var_2 -> - happyIn97- ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))- )}}--happyReduce_236 = happySpecReduce_0 86# happyReduction_236-happyReduction_236 = happyIn97- (([],Nothing)- )--happyReduce_237 = happySpecReduce_1 87# happyReduction_237-happyReduction_237 happy_x_1- = case happyOut241 happy_x_1 of { happy_var_1 -> - happyIn98- (UnkindedVar (ann happy_var_1) happy_var_1- )}--happyReduce_238 = happyReduce 5# 87# happyReduction_238-happyReduction_238 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut241 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut123 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn98- (KindedVar (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_239 = happySpecReduce_2 88# happyReduction_239-happyReduction_239 happy_x_2- happy_x_1- = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut241 happy_x_2 of { happy_var_2 -> - happyIn99- ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))- )}}--happyReduce_240 = happySpecReduce_0 88# happyReduction_240-happyReduction_240 = happyIn99- (([], Nothing)- )--happyReduce_241 = happySpecReduce_2 89# happyReduction_241-happyReduction_241 happy_x_2- happy_x_1- = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut241 happy_x_2 of { happy_var_2 -> - happyIn100- ((happy_var_2 : fst happy_var_1, snd happy_var_1 <?+> ann happy_var_2)- )}}--happyReduce_242 = happySpecReduce_0 90# happyReduction_242-happyReduction_242 = happyIn101- (([],[], Nothing)- )--happyReduce_243 = happyMonadReduce 2# 90# happyReduction_243-happyReduction_243 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut102 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled FunctionalDependencies ;- let {(fds,ss,l) = happy_var_2} ;- return (reverse fds, happy_var_1 : reverse ss, Just (nIS happy_var_1 <++> l)) })}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_244 = happySpecReduce_3 91# happyReduction_244-happyReduction_244 happy_x_3- happy_x_2- happy_x_1- = case happyOut102 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn102- (let (fds,ss,l) = happy_var_1 in (happy_var_3 : fds, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_245 = happySpecReduce_1 91# happyReduction_245-happyReduction_245 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn102- (([happy_var_1],[],ann happy_var_1)- )}--happyReduce_246 = happySpecReduce_3 92# happyReduction_246-happyReduction_246 happy_x_3- happy_x_2- happy_x_1- = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut100 happy_x_3 of { happy_var_3 -> - happyIn103- (FunDep (snd happy_var_1 <?+> nIS happy_var_2 <++> snd happy_var_3 <** [happy_var_2]) (reverse (fst happy_var_1)) (reverse (fst happy_var_3))- )}}}--happyReduce_247 = happyMonadReduce 4# 93# happyReduction_247-happyReduction_247 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut105 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( return (fst happy_var_3, happy_var_1 : happy_var_2 : snd happy_var_3 ++ [happy_var_4], Just $ happy_var_1 <^^> happy_var_4))}}}}- ) (\r -> happyReturn (happyIn104 r))--happyReduce_248 = happyMonadReduce 4# 93# happyReduction_248-happyReduction_248 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut236 happy_x_2 of { happy_var_2 -> - case happyOut105 happy_x_3 of { happy_var_3 -> - case happyOut237 happy_x_4 of { happy_var_4 -> - ( return (fst happy_var_3, happy_var_1 : happy_var_2 : snd happy_var_3 ++ [happy_var_4], Just $ happy_var_1 <^^> happy_var_4))}}}}- ) (\r -> happyReturn (happyIn104 r))--happyReduce_249 = happyMonadReduce 0# 93# happyReduction_249-happyReduction_249 (happyRest) tk- = happyThen (( checkEnabled EmptyDataDecls >> return ([],[],Nothing))- ) (\r -> happyReturn (happyIn104 r))--happyReduce_250 = happySpecReduce_3 94# happyReduction_250-happyReduction_250 happy_x_3- happy_x_2- happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut106 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn105- ((fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)- )}}}--happyReduce_251 = happySpecReduce_3 95# happyReduction_251-happyReduction_251 happy_x_3- happy_x_2- happy_x_1- = case happyOut106 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_2 of { happy_var_2 -> - case happyOut107 happy_x_3 of { happy_var_3 -> - happyIn106- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_252 = happySpecReduce_1 95# happyReduction_252-happyReduction_252 happy_x_1- = case happyOut107 happy_x_1 of { happy_var_1 -> - happyIn106- (([happy_var_1],[])- )}--happyReduce_253 = happyMonadReduce 3# 96# happyReduction_253-happyReduction_253 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut212 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut92 happy_x_3 of { happy_var_3 -> - ( do { c <- checkUnQual happy_var_1;- return $ GadtDecl (happy_var_1 <> happy_var_3 <** [happy_var_2]) c happy_var_3 })}}}- ) (\r -> happyReturn (happyIn107 r))--happyReduce_254 = happySpecReduce_2 97# happyReduction_254-happyReduction_254 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> - case happyOut109 happy_x_2 of { happy_var_2 -> - happyIn108- (let (ds,ss,l) = happy_var_2 in (ds, happy_var_1 : reverse ss, Just $ nIS happy_var_1 <++> l)- )}}--happyReduce_255 = happySpecReduce_3 98# happyReduction_255-happyReduction_255 happy_x_3- happy_x_2- happy_x_1- = case happyOut109 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut110 happy_x_3 of { happy_var_3 -> - happyIn109- (let (ds,ss,l) = happy_var_1 in (happy_var_3 : ds, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_256 = happySpecReduce_1 98# happyReduction_256-happyReduction_256 happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 -> - happyIn109- (([happy_var_1],[],ann happy_var_1)- )}--happyReduce_257 = happyMonadReduce 3# 99# happyReduction_257-happyReduction_257 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut111 happy_x_1 of { happy_var_1 -> - case happyOut94 happy_x_2 of { happy_var_2 -> - case happyOut112 happy_x_3 of { happy_var_3 -> - ( do { checkEnabled ExistentialQuantification ;- ctxt <- checkContext (Just happy_var_2) ;- let {(mtvs,ss,ml) = happy_var_1} ;- return $ QualConDecl (ml <?+> ann happy_var_3 <** ss) mtvs ctxt happy_var_3 })}}}- ) (\r -> happyReturn (happyIn110 r))--happyReduce_258 = happySpecReduce_2 99# happyReduction_258-happyReduction_258 happy_x_2- happy_x_1- = case happyOut111 happy_x_1 of { happy_var_1 -> - case happyOut112 happy_x_2 of { happy_var_2 -> - happyIn110- (let (mtvs, ss, ml) = happy_var_1 in QualConDecl (ml <?+> ann happy_var_2 <** ss) mtvs Nothing happy_var_2- )}}--happyReduce_259 = happyMonadReduce 3# 100# happyReduction_259-happyReduction_259 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut97 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - ( checkEnabled ExistentialQuantification >> return (Just (fst happy_var_2), [happy_var_1,happy_var_3], Just $ happy_var_1 <^^> happy_var_3))}}}- ) (\r -> happyReturn (happyIn111 r))--happyReduce_260 = happySpecReduce_0 100# happyReduction_260-happyReduction_260 = happyIn111- ((Nothing, [], Nothing)- )--happyReduce_261 = happySpecReduce_1 101# happyReduction_261-happyReduction_261 happy_x_1- = case happyOut113 happy_x_1 of { happy_var_1 -> - happyIn112- (let (n,ts,l) = happy_var_1 in ConDecl l n ts- )}--happyReduce_262 = happySpecReduce_3 101# happyReduction_262-happyReduction_262 happy_x_3- happy_x_2- happy_x_1- = case happyOut116 happy_x_1 of { happy_var_1 -> - case happyOut216 happy_x_2 of { happy_var_2 -> - case happyOut116 happy_x_3 of { happy_var_3 -> - happyIn112- (InfixConDecl (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_263 = happyMonadReduce 3# 101# happyReduction_263-happyReduction_263 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut212 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - ( do { c <- checkUnQual happy_var_1; return $ RecDecl (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]) c [] })}}}- ) (\r -> happyReturn (happyIn112 r))--happyReduce_264 = happyMonadReduce 4# 101# happyReduction_264-happyReduction_264 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut212 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut117 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( do { c <- checkUnQual happy_var_1;- return $ RecDecl (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) c (reverse (fst happy_var_3)) })}}}}- ) (\r -> happyReturn (happyIn112 r))--happyReduce_265 = happyMonadReduce 1# 102# happyReduction_265-happyReduction_265 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut82 happy_x_1 of { happy_var_1 -> - ( do { (c,ts) <- splitTyConApp happy_var_1;- return (c,map (\t -> UnBangedTy (ann t) t) ts,ann happy_var_1) })}- ) (\r -> happyReturn (happyIn113 r))--happyReduce_266 = happySpecReduce_1 102# happyReduction_266-happyReduction_266 happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 -> - happyIn113- (happy_var_1- )}--happyReduce_267 = happyMonadReduce 3# 103# happyReduction_267-happyReduction_267 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Exclamation) -> - case happyOut83 happy_x_3 of { happy_var_3 -> - ( do { (c,ts) <- splitTyConApp happy_var_1;- return (c,map (\t -> UnBangedTy (ann t) t) ts++- [BangedTy (nIS happy_var_2 <++> ann happy_var_3 <** [happy_var_2]) happy_var_3], happy_var_1 <> happy_var_3) })}}}- ) (\r -> happyReturn (happyIn114 r))--happyReduce_268 = happyMonadReduce 5# 103# happyReduction_268-happyReduction_268 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 UNPACK) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 Exclamation) -> - case happyOut83 happy_x_5 of { happy_var_5 -> - ( do { (c,ts) <- splitTyConApp happy_var_1;- return (c,map (\t -> UnBangedTy (ann t) t) ts++- [UnpackedTy (nIS happy_var_2 <++> ann happy_var_5 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_5], happy_var_1 <> happy_var_5) })}}}}}- ) (\r -> happyReturn (happyIn114 r))--happyReduce_269 = happySpecReduce_2 103# happyReduction_269-happyReduction_269 happy_x_2- happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 -> - case happyOut115 happy_x_2 of { happy_var_2 -> - happyIn114- (let (n,ts,l) = happy_var_1 in (n, ts ++ [happy_var_2],l <++> ann happy_var_2)- )}}--happyReduce_270 = happySpecReduce_1 104# happyReduction_270-happyReduction_270 happy_x_1- = case happyOut83 happy_x_1 of { happy_var_1 -> - happyIn115- (UnBangedTy (ann happy_var_1) happy_var_1- )}--happyReduce_271 = happySpecReduce_2 104# happyReduction_271-happyReduction_271 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut83 happy_x_2 of { happy_var_2 -> - happyIn115- (BangedTy (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_272 = happyReduce 4# 104# happyReduction_272-happyReduction_272 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 UNPACK) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Exclamation) -> - case happyOut83 happy_x_4 of { happy_var_4 -> - happyIn115- (UnpackedTy (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_273 = happySpecReduce_1 105# happyReduction_273-happyReduction_273 happy_x_1- = case happyOut81 happy_x_1 of { happy_var_1 -> - happyIn116- (UnBangedTy (ann happy_var_1) happy_var_1- )}--happyReduce_274 = happySpecReduce_2 105# happyReduction_274-happyReduction_274 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut83 happy_x_2 of { happy_var_2 -> - happyIn116- (BangedTy (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_275 = happyReduce 4# 105# happyReduction_275-happyReduction_275 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 UNPACK) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Exclamation) -> - case happyOut83 happy_x_4 of { happy_var_4 -> - happyIn116- (UnpackedTy (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_276 = happySpecReduce_3 106# happyReduction_276-happyReduction_276 happy_x_3- happy_x_2- happy_x_1- = case happyOut117 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut118 happy_x_3 of { happy_var_3 -> - happyIn117- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_277 = happySpecReduce_1 106# happyReduction_277-happyReduction_277 happy_x_1- = case happyOut118 happy_x_1 of { happy_var_1 -> - happyIn117- (([happy_var_1],[])- )}--happyReduce_278 = happySpecReduce_3 107# happyReduction_278-happyReduction_278 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut119 happy_x_3 of { happy_var_3 -> - happyIn118- (let (ns,ss,l) = happy_var_1 in FieldDecl (l <++> ann happy_var_3 <** (reverse ss ++ [happy_var_2])) (reverse ns) happy_var_3- )}}}--happyReduce_279 = happySpecReduce_1 108# happyReduction_279-happyReduction_279 happy_x_1- = case happyOut92 happy_x_1 of { happy_var_1 -> - happyIn119- (UnBangedTy (ann happy_var_1) happy_var_1- )}--happyReduce_280 = happySpecReduce_2 108# happyReduction_280-happyReduction_280 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut83 happy_x_2 of { happy_var_2 -> - happyIn119- (BangedTy (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_281 = happyReduce 4# 108# happyReduction_281-happyReduction_281 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 UNPACK) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Exclamation) -> - case happyOut83 happy_x_4 of { happy_var_4 -> - happyIn119- (UnpackedTy (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_282 = happySpecReduce_0 109# happyReduction_282-happyReduction_282 = happyIn120- (Nothing- )--happyReduce_283 = happySpecReduce_2 109# happyReduction_283-happyReduction_283 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOut122 happy_x_2 of { happy_var_2 -> - happyIn120- (let l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] in Just $ Deriving l [IHead (ann happy_var_2) happy_var_2 []]- )}}--happyReduce_284 = happySpecReduce_3 109# happyReduction_284-happyReduction_284 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn120- (Just $ Deriving (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3]) []- )}}}--happyReduce_285 = happyReduce 4# 109# happyReduction_285-happyReduction_285 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut121 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn120- (Just $ Deriving (happy_var_1 <^^> happy_var_4 <** happy_var_1:happy_var_2: reverse (snd happy_var_3) ++ [happy_var_4]) (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}}--happyReduce_286 = happyMonadReduce 1# 110# happyReduction_286-happyReduction_286 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut96 happy_x_1 of { happy_var_1 -> - ( checkDeriving (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1))}- ) (\r -> happyReturn (happyIn121 r))--happyReduce_287 = happySpecReduce_1 111# happyReduction_287-happyReduction_287 happy_x_1- = case happyOut226 happy_x_1 of { happy_var_1 -> - happyIn122- (happy_var_1- )}--happyReduce_288 = happyMonadReduce 1# 112# happyReduction_288-happyReduction_288 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut124 happy_x_1 of { happy_var_1 -> - ( checkEnabled KindSignatures >> return happy_var_1)}- ) (\r -> happyReturn (happyIn123 r))--happyReduce_289 = happySpecReduce_1 113# happyReduction_289-happyReduction_289 happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 -> - happyIn124- (happy_var_1- )}--happyReduce_290 = happySpecReduce_2 113# happyReduction_290-happyReduction_290 happy_x_2- happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 -> - case happyOut124 happy_x_2 of { happy_var_2 -> - happyIn124- (KindApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_291 = happySpecReduce_3 113# happyReduction_291-happyReduction_291 happy_x_3- happy_x_2- happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut124 happy_x_3 of { happy_var_3 -> - happyIn124- (KindFn (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_292 = happySpecReduce_1 114# happyReduction_292-happyReduction_292 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> - happyIn125- (KindStar (nIS happy_var_1)- )}--happyReduce_293 = happySpecReduce_1 114# happyReduction_293-happyReduction_293 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - happyIn125- (KindBang (nIS happy_var_1)- )}--happyReduce_294 = happySpecReduce_3 114# happyReduction_294-happyReduction_294 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut124 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn125- (KindParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_295 = happyMonadReduce 1# 114# happyReduction_295-happyReduction_295 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut126 happy_x_1 of { happy_var_1 -> - ( checkEnabled DataKinds >> return happy_var_1)}- ) (\r -> happyReturn (happyIn125 r))--happyReduce_296 = happyMonadReduce 1# 114# happyReduction_296-happyReduction_296 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut222 happy_x_1 of { happy_var_1 -> - ( checkEnabled PolyKinds >> return (KindVar (ann happy_var_1) happy_var_1))}- ) (\r -> happyReturn (happyIn125 r))--happyReduce_297 = happySpecReduce_1 115# happyReduction_297-happyReduction_297 happy_x_1- = case happyOut240 happy_x_1 of { happy_var_1 -> - happyIn126- (KindVar (ann happy_var_1) happy_var_1- )}--happyReduce_298 = happySpecReduce_2 115# happyReduction_298-happyReduction_298 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn126- (let l = happy_var_1 <^^> happy_var_2 in KindVar l (unit_tycon_name l)- )}}--happyReduce_299 = happySpecReduce_3 115# happyReduction_299-happyReduction_299 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut127 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn126- (KindTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) (reverse (fst happy_var_2))- )}}}--happyReduce_300 = happySpecReduce_3 115# happyReduction_300-happyReduction_300 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut128 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn126- (KindList (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) (reverse (fst happy_var_2))- )}}}--happyReduce_301 = happySpecReduce_3 116# happyReduction_301-happyReduction_301 happy_x_3- happy_x_2- happy_x_1- = case happyOut128 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut125 happy_x_3 of { happy_var_3 -> - happyIn127- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_302 = happySpecReduce_1 117# happyReduction_302-happyReduction_302 happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 -> - happyIn128- (([happy_var_1],[])- )}--happyReduce_303 = happySpecReduce_3 117# happyReduction_303-happyReduction_303 happy_x_3- happy_x_2- happy_x_1- = case happyOut128 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut125 happy_x_3 of { happy_var_3 -> - happyIn128- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_304 = happySpecReduce_0 118# happyReduction_304-happyReduction_304 = happyIn129- ((Nothing,[])- )--happyReduce_305 = happySpecReduce_2 118# happyReduction_305-happyReduction_305 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut123 happy_x_2 of { happy_var_2 -> - happyIn129- ((Just happy_var_2,[happy_var_1])- )}}--happyReduce_306 = happyMonadReduce 4# 119# happyReduction_306-happyReduction_306 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut131 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( checkClassBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}- ) (\r -> happyReturn (happyIn130 r))--happyReduce_307 = happyMonadReduce 4# 119# happyReduction_307-happyReduction_307 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut236 happy_x_2 of { happy_var_2 -> - case happyOut131 happy_x_3 of { happy_var_3 -> - case happyOut237 happy_x_4 of { happy_var_4 -> - ( checkClassBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}- ) (\r -> happyReturn (happyIn130 r))--happyReduce_308 = happySpecReduce_0 119# happyReduction_308-happyReduction_308 = happyIn130- ((Nothing,[],Nothing)- )--happyReduce_309 = happyMonadReduce 3# 120# happyReduction_309-happyReduction_309 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut132 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - ( checkRevClsDecls (fst happy_var_2) >>= \cs -> return (cs, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}}- ) (\r -> happyReturn (happyIn131 r))--happyReduce_310 = happySpecReduce_1 120# happyReduction_310-happyReduction_310 happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - happyIn131- (([],reverse happy_var_1)- )}--happyReduce_311 = happySpecReduce_3 121# happyReduction_311-happyReduction_311 happy_x_3- happy_x_2- happy_x_1- = case happyOut132 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_2 of { happy_var_2 -> - case happyOut133 happy_x_3 of { happy_var_3 -> - happyIn132- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_312 = happySpecReduce_1 121# happyReduction_312-happyReduction_312 happy_x_1- = case happyOut133 happy_x_1 of { happy_var_1 -> - happyIn132- (([happy_var_1],[])- )}--happyReduce_313 = happySpecReduce_1 122# happyReduction_313-happyReduction_313 happy_x_1- = case happyOut55 happy_x_1 of { happy_var_1 -> - happyIn133- (ClsDecl (ann happy_var_1) happy_var_1- )}--happyReduce_314 = happyMonadReduce 1# 122# happyReduction_314-happyReduction_314 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut134 happy_x_1 of { happy_var_1 -> - ( checkEnabled TypeFamilies >> return happy_var_1)}- ) (\r -> happyReturn (happyIn133 r))--happyReduce_315 = happyMonadReduce 3# 123# happyReduction_315-happyReduction_315 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut80 happy_x_2 of { happy_var_2 -> - case happyOut129 happy_x_3 of { happy_var_3 -> - ( do { dh <- checkSimpleType happy_var_2;- return (ClsTyFam (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) dh (fst happy_var_3)) })}}}- ) (\r -> happyReturn (happyIn134 r))--happyReduce_316 = happyReduce 4# 123# happyReduction_316-happyReduction_316 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut92 happy_x_4 of { happy_var_4 -> - happyIn134- (ClsTyDef (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_317 = happyMonadReduce 3# 123# happyReduction_317-happyReduction_317 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - case happyOut93 happy_x_2 of { happy_var_2 -> - case happyOut129 happy_x_3 of { happy_var_3 -> - ( do { (cs,dh) <- checkDataHeader happy_var_2;- return (ClsDataFam (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) cs dh (fst happy_var_3)) })}}}- ) (\r -> happyReturn (happyIn134 r))--happyReduce_318 = happyMonadReduce 4# 124# happyReduction_318-happyReduction_318 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut136 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}- ) (\r -> happyReturn (happyIn135 r))--happyReduce_319 = happyMonadReduce 4# 124# happyReduction_319-happyReduction_319 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut236 happy_x_2 of { happy_var_2 -> - case happyOut136 happy_x_3 of { happy_var_3 -> - case happyOut237 happy_x_4 of { happy_var_4 -> - ( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}- ) (\r -> happyReturn (happyIn135 r))--happyReduce_320 = happySpecReduce_0 124# happyReduction_320-happyReduction_320 = happyIn135- ((Nothing, [], Nothing)- )--happyReduce_321 = happyMonadReduce 3# 125# happyReduction_321-happyReduction_321 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut137 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - ( checkRevInstDecls (fst happy_var_2) >>= \is -> return (is, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}}- ) (\r -> happyReturn (happyIn136 r))--happyReduce_322 = happySpecReduce_1 125# happyReduction_322-happyReduction_322 happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - happyIn136- (([],reverse happy_var_1)- )}--happyReduce_323 = happySpecReduce_3 126# happyReduction_323-happyReduction_323 happy_x_3- happy_x_2- happy_x_1- = case happyOut137 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_2 of { happy_var_2 -> - case happyOut138 happy_x_3 of { happy_var_3 -> - happyIn137- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_324 = happySpecReduce_1 126# happyReduction_324-happyReduction_324 happy_x_1- = case happyOut138 happy_x_1 of { happy_var_1 -> - happyIn137- (([happy_var_1],[])- )}--happyReduce_325 = happySpecReduce_1 127# happyReduction_325-happyReduction_325 happy_x_1- = case happyOut140 happy_x_1 of { happy_var_1 -> - happyIn138- (InsDecl (ann happy_var_1) happy_var_1- )}--happyReduce_326 = happyMonadReduce 1# 127# happyReduction_326-happyReduction_326 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut139 happy_x_1 of { happy_var_1 -> - ( checkEnabled TypeFamilies >> return happy_var_1)}- ) (\r -> happyReturn (happyIn138 r))--happyReduce_327 = happySpecReduce_1 127# happyReduction_327-happyReduction_327 happy_x_1- = case happyOut58 happy_x_1 of { happy_var_1 -> - happyIn138- (InsDecl (ann happy_var_1) happy_var_1- )}--happyReduce_328 = happyMonadReduce 4# 128# happyReduction_328-happyReduction_328 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut92 happy_x_4 of { happy_var_4 -> - ( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns- return (InsType (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn139 r))--happyReduce_329 = happyMonadReduce 4# 128# happyReduction_329-happyReduction_329 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 -> - case happyOut92 happy_x_2 of { happy_var_2 -> - case happyOut108 happy_x_3 of { happy_var_3 -> - case happyOut120 happy_x_4 of { happy_var_4 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- let {(ds,ss,minf) = happy_var_3};- checkDataOrNew happy_var_1 ds;- return (InsData (happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann happy_var_4 <** ss ) happy_var_1 happy_var_2 (reverse ds) happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn139 r))--happyReduce_330 = happyMonadReduce 5# 128# happyReduction_330-happyReduction_330 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 -> - case happyOut92 happy_x_2 of { happy_var_2 -> - case happyOut129 happy_x_3 of { happy_var_3 -> - case happyOut104 happy_x_4 of { happy_var_4 -> - case happyOut120 happy_x_5 of { happy_var_5 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- let { (gs,ss,minf) = happy_var_4 } ;- checkDataOrNewG happy_var_1 gs;- return $ InsGData (ann happy_var_1 <+?> minf <+?> fmap ann happy_var_5 <** (snd happy_var_3 ++ ss)) happy_var_1 happy_var_2 (fst happy_var_3) (reverse gs) happy_var_5 })}}}}}- ) (\r -> happyReturn (happyIn139 r))--happyReduce_331 = happyMonadReduce 4# 129# happyReduction_331-happyReduction_331 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOut142 happy_x_2 of { happy_var_2 -> - case happyOut143 happy_x_3 of { happy_var_3 -> - case happyOut141 happy_x_4 of { happy_var_4 -> - ( checkValDef ((happy_var_1 <> happy_var_3 <+?> (fmap ann) (fst happy_var_4)) <** (snd happy_var_2 ++ snd happy_var_4)) happy_var_1 (fst happy_var_2) happy_var_3 (fst happy_var_4))}}}}- ) (\r -> happyReturn (happyIn140 r))--happyReduce_332 = happyMonadReduce 4# 129# happyReduction_332-happyReduction_332 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut159 happy_x_2 of { happy_var_2 -> - case happyOut143 happy_x_3 of { happy_var_3 -> - case happyOut141 happy_x_4 of { happy_var_4 -> - ( do { checkEnabled BangPatterns ;- let { l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] };- p <- checkPattern (BangPat l happy_var_2);- return $ PatBind (p <> happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** snd happy_var_4)- p Nothing happy_var_3 (fst happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn140 r))--happyReduce_333 = happySpecReduce_2 130# happyReduction_333-happyReduction_333 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut61 happy_x_2 of { happy_var_2 -> - happyIn141- ((Just happy_var_2, [happy_var_1])- )}}--happyReduce_334 = happySpecReduce_0 130# happyReduction_334-happyReduction_334 = happyIn141- ((Nothing, [])- )--happyReduce_335 = happyMonadReduce 2# 131# happyReduction_335-happyReduction_335 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut92 happy_x_2 of { happy_var_2 -> - ( checkEnabled ScopedTypeVariables >> return (Just happy_var_2, [happy_var_1]))}}- ) (\r -> happyReturn (happyIn142 r))--happyReduce_336 = happySpecReduce_0 131# happyReduction_336-happyReduction_336 = happyIn142- ((Nothing,[])- )--happyReduce_337 = happySpecReduce_2 132# happyReduction_337-happyReduction_337 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> - case happyOut146 happy_x_2 of { happy_var_2 -> - happyIn143- (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_338 = happySpecReduce_1 132# happyReduction_338-happyReduction_338 happy_x_1- = case happyOut144 happy_x_1 of { happy_var_1 -> - happyIn143- (GuardedRhss (snd happy_var_1) (reverse $ fst happy_var_1)- )}--happyReduce_339 = happySpecReduce_2 133# happyReduction_339-happyReduction_339 happy_x_2- happy_x_1- = case happyOut144 happy_x_1 of { happy_var_1 -> - case happyOut145 happy_x_2 of { happy_var_2 -> - happyIn144- ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)- )}}--happyReduce_340 = happySpecReduce_1 133# happyReduction_340-happyReduction_340 happy_x_1- = case happyOut145 happy_x_1 of { happy_var_1 -> - happyIn144- (([happy_var_1],ann happy_var_1)- )}--happyReduce_341 = happyMonadReduce 4# 134# happyReduction_341-happyReduction_341 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut183 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut146 happy_x_4 of { happy_var_4 -> - ( do { checkPatternGuards (fst happy_var_2);- return $ GuardedRhs (nIS happy_var_1 <++> ann happy_var_4 <** (happy_var_1:snd happy_var_2 ++ [happy_var_3])) (reverse (fst happy_var_2)) happy_var_4 })}}}}- ) (\r -> happyReturn (happyIn145 r))--happyReduce_342 = happyMonadReduce 1# 135# happyReduction_342-happyReduction_342 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut147 happy_x_1 of { happy_var_1 -> - ( checkExpr happy_var_1)}- ) (\r -> happyReturn (happyIn146 r))--happyReduce_343 = happySpecReduce_3 136# happyReduction_343-happyReduction_343 happy_x_3- happy_x_2- happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut92 happy_x_3 of { happy_var_3 -> - happyIn147- (ExpTypeSig (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_344 = happySpecReduce_1 136# happyReduction_344-happyReduction_344 happy_x_1- = case happyOut148 happy_x_1 of { happy_var_1 -> - happyIn147- (happy_var_1- )}--happyReduce_345 = happySpecReduce_2 136# happyReduction_345-happyReduction_345 happy_x_2- happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOut219 happy_x_2 of { happy_var_2 -> - happyIn147- (PostOp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_346 = happySpecReduce_3 136# happyReduction_346-happyReduction_346 happy_x_3- happy_x_2- happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrowTail) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - happyIn147- (LeftArrApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_347 = happySpecReduce_3 136# happyReduction_347-happyReduction_347 happy_x_3- happy_x_2- happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrowTail) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - happyIn147- (RightArrApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_348 = happySpecReduce_3 136# happyReduction_348-happyReduction_348 happy_x_3- happy_x_2- happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftDblArrowTail) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - happyIn147- (LeftArrHighApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_349 = happySpecReduce_3 136# happyReduction_349-happyReduction_349 happy_x_3- happy_x_2- happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightDblArrowTail) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - happyIn147- (RightArrHighApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_350 = happySpecReduce_1 137# happyReduction_350-happyReduction_350 happy_x_1- = case happyOut149 happy_x_1 of { happy_var_1 -> - happyIn148- (happy_var_1- )}--happyReduce_351 = happySpecReduce_1 137# happyReduction_351-happyReduction_351 happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - happyIn148- (happy_var_1- )}--happyReduce_352 = happySpecReduce_3 138# happyReduction_352-happyReduction_352 happy_x_3- happy_x_2- happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOut219 happy_x_2 of { happy_var_2 -> - case happyOut151 happy_x_3 of { happy_var_3 -> - happyIn149- (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_353 = happySpecReduce_1 138# happyReduction_353-happyReduction_353 happy_x_1- = case happyOut151 happy_x_1 of { happy_var_1 -> - happyIn149- (happy_var_1- )}--happyReduce_354 = happySpecReduce_3 139# happyReduction_354-happyReduction_354 happy_x_3- happy_x_2- happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOut219 happy_x_2 of { happy_var_2 -> - case happyOut154 happy_x_3 of { happy_var_3 -> - happyIn150- (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_355 = happySpecReduce_1 139# happyReduction_355-happyReduction_355 happy_x_1- = case happyOut154 happy_x_1 of { happy_var_1 -> - happyIn150- (happy_var_1- )}--happyReduce_356 = happyReduce 4# 140# happyReduction_356-happyReduction_356 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Backslash) -> - case happyOut157 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut147 happy_x_4 of { happy_var_4 -> - happyIn151- (Lambda (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) (reverse happy_var_2) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_357 = happyReduce 4# 140# happyReduction_357-happyReduction_357 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - case happyOut61 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_In) -> - case happyOut147 happy_x_4 of { happy_var_4 -> - happyIn151- (Let (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_358 = happyReduce 8# 140# happyReduction_358-happyReduction_358 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> - case happyOut147 happy_x_2 of { happy_var_2 -> - case happyOut152 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 KW_Then) -> - case happyOut147 happy_x_5 of { happy_var_5 -> - case happyOut152 happy_x_6 of { happy_var_6 -> - case happyOutTok happy_x_7 of { (Loc happy_var_7 KW_Else) -> - case happyOut147 happy_x_8 of { happy_var_8 -> - happyIn151- (If (nIS happy_var_1 <++> ann happy_var_8 <** (happy_var_1:happy_var_3 ++ happy_var_4:happy_var_6 ++ [happy_var_7])) happy_var_2 happy_var_5 happy_var_8- ) `HappyStk` happyRest}}}}}}}}--happyReduce_359 = happyMonadReduce 2# 140# happyReduction_359-happyReduction_359 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> - case happyOut193 happy_x_2 of { happy_var_2 -> - ( checkEnabled MultiWayIf >>- let (alts, inf, ss) = happy_var_2- in return (MultiIf (nIS happy_var_1 <++> inf <** (happy_var_1:ss)) alts))}}- ) (\r -> happyReturn (happyIn151 r))--happyReduce_360 = happyReduce 4# 140# happyReduction_360-happyReduction_360 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Proc) -> - case happyOut158 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut147 happy_x_4 of { happy_var_4 -> - happyIn151- (Proc (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_361 = happySpecReduce_1 140# happyReduction_361-happyReduction_361 happy_x_1- = case happyOut155 happy_x_1 of { happy_var_1 -> - happyIn151- (happy_var_1- )}--happyReduce_362 = happyMonadReduce 1# 141# happyReduction_362-happyReduction_362 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - ( checkEnabled DoAndIfThenElse >> return [happy_var_1])}- ) (\r -> happyReturn (happyIn152 r))--happyReduce_363 = happySpecReduce_0 141# happyReduction_363-happyReduction_363 = happyIn152- ([]- )--happyReduce_364 = happySpecReduce_1 142# happyReduction_364-happyReduction_364 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - happyIn153- ([happy_var_1]- )}--happyReduce_365 = happySpecReduce_0 142# happyReduction_365-happyReduction_365 = happyIn153- ([]- )--happyReduce_366 = happyReduce 4# 143# happyReduction_366-happyReduction_366 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Case) -> - case happyOut147 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Of) -> - case happyOut185 happy_x_4 of { happy_var_4 -> - happyIn154- (let (als, inf, ss) = happy_var_4 in Case (nIS happy_var_1 <++> inf <** (happy_var_1:happy_var_3:ss)) happy_var_2 als- ) `HappyStk` happyRest}}}}--happyReduce_367 = happyMonadReduce 3# 143# happyReduction_367-happyReduction_367 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Backslash) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Case) -> - case happyOut185 happy_x_3 of { happy_var_3 -> - ( do { checkEnabled LambdaCase ;- let { (als, inf, ss) = happy_var_3 } ;- return (LCase (nIS happy_var_1 <++> inf <** (happy_var_1:happy_var_2:ss)) als) })}}}- ) (\r -> happyReturn (happyIn154 r))--happyReduce_368 = happySpecReduce_2 143# happyReduction_368-happyReduction_368 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> - case happyOut156 happy_x_2 of { happy_var_2 -> - happyIn154- (NegApp (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_369 = happySpecReduce_2 143# happyReduction_369-happyReduction_369 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> - case happyOut197 happy_x_2 of { happy_var_2 -> - happyIn154- (let (sts, inf, ss) = happy_var_2 in Do (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts- )}}--happyReduce_370 = happySpecReduce_2 143# happyReduction_370-happyReduction_370 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> - case happyOut197 happy_x_2 of { happy_var_2 -> - happyIn154- (let (sts, inf, ss) = happy_var_2 in MDo (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts- )}}--happyReduce_371 = happySpecReduce_1 143# happyReduction_371-happyReduction_371 happy_x_1- = case happyOut156 happy_x_1 of { happy_var_1 -> - happyIn154- (happy_var_1- )}--happyReduce_372 = happyReduce 4# 144# happyReduction_372-happyReduction_372 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 CORE) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - case happyOut147 happy_x_4 of { happy_var_4 -> - happyIn155- (let Loc l (StringTok (s,_)) = happy_var_2 in CorePragma (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_373 = happyReduce 4# 144# happyReduction_373-happyReduction_373 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SCC) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - case happyOut147 happy_x_4 of { happy_var_4 -> - happyIn155- (let Loc l (StringTok (s,_)) = happy_var_2 in SCCPragma (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_374 = happyReduce 11# 144# happyReduction_374-happyReduction_374 (happy_x_11 `HappyStk`- happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 GENERATED) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 Colon) -> - case happyOutTok happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 Minus) -> - case happyOutTok happy_x_7 of { happy_var_7 -> - case happyOutTok happy_x_8 of { (Loc happy_var_8 Colon) -> - case happyOutTok happy_x_9 of { happy_var_9 -> - case happyOutTok happy_x_10 of { (Loc happy_var_10 PragmaEnd) -> - case happyOut147 happy_x_11 of { happy_var_11 -> - happyIn155- (let { Loc l0 (StringTok (s,_)) = happy_var_2;- Loc l1 (IntTok (i1,_)) = happy_var_3;- Loc l2 (IntTok (i2,_)) = happy_var_5;- Loc l3 (IntTok (i3,_)) = happy_var_7;- Loc l4 (IntTok (i4,_)) = happy_var_9}- in GenPragma (nIS happy_var_1 <++> ann happy_var_11 <** [happy_var_1,l0,l1,happy_var_4,l2,happy_var_6,l3,happy_var_8,l4,happy_var_10])- s (fromInteger i1, fromInteger i2)- (fromInteger i3, fromInteger i4) happy_var_11- ) `HappyStk` happyRest}}}}}}}}}}}--happyReduce_375 = happySpecReduce_2 145# happyReduction_375-happyReduction_375 happy_x_2- happy_x_1- = case happyOut156 happy_x_1 of { happy_var_1 -> - case happyOut159 happy_x_2 of { happy_var_2 -> - happyIn156- (App (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_376 = happySpecReduce_1 145# happyReduction_376-happyReduction_376 happy_x_1- = case happyOut159 happy_x_1 of { happy_var_1 -> - happyIn156- (happy_var_1- )}--happyReduce_377 = happySpecReduce_2 146# happyReduction_377-happyReduction_377 happy_x_2- happy_x_1- = case happyOut157 happy_x_1 of { happy_var_1 -> - case happyOut158 happy_x_2 of { happy_var_2 -> - happyIn157- (happy_var_2 : happy_var_1- )}}--happyReduce_378 = happySpecReduce_1 146# happyReduction_378-happyReduction_378 happy_x_1- = case happyOut158 happy_x_1 of { happy_var_1 -> - happyIn157- ([happy_var_1]- )}--happyReduce_379 = happyMonadReduce 1# 147# happyReduction_379-happyReduction_379 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut159 happy_x_1 of { happy_var_1 -> - ( checkPattern happy_var_1)}- ) (\r -> happyReturn (happyIn158 r))--happyReduce_380 = happyMonadReduce 2# 147# happyReduction_380-happyReduction_380 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut159 happy_x_2 of { happy_var_2 -> - ( checkPattern (BangPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2))}}- ) (\r -> happyReturn (happyIn158 r))--happyReduce_381 = happyMonadReduce 3# 148# happyReduction_381-happyReduction_381 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut209 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 At) -> - case happyOut159 happy_x_3 of { happy_var_3 -> - ( do { n <- checkUnQual happy_var_1;- return (AsPat (happy_var_1 <> happy_var_3 <** [happy_var_2]) n happy_var_3) })}}}- ) (\r -> happyReturn (happyIn159 r))--happyReduce_382 = happyMonadReduce 3# 148# happyReduction_382-happyReduction_382 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut209 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RPCAt) -> - case happyOut159 happy_x_3 of { happy_var_3 -> - ( do { n <- checkUnQual happy_var_1;- return (CAsRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) n happy_var_3) })}}}- ) (\r -> happyReturn (happyIn159 r))--happyReduce_383 = happySpecReduce_2 148# happyReduction_383-happyReduction_383 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Tilde) -> - case happyOut159 happy_x_2 of { happy_var_2 -> - happyIn159- (IrrPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_384 = happySpecReduce_1 148# happyReduction_384-happyReduction_384 happy_x_1- = case happyOut160 happy_x_1 of { happy_var_1 -> - happyIn159- (happy_var_1- )}--happyReduce_385 = happyMonadReduce 3# 149# happyReduction_385-happyReduction_385 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut160 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - ( liftM (amap (const (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]))) $ mkRecConstrOrUpdate happy_var_1 [])}}}- ) (\r -> happyReturn (happyIn160 r))--happyReduce_386 = happyMonadReduce 4# 149# happyReduction_386-happyReduction_386 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut160 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut201 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( liftM (amap (const (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4]))))- $ mkRecConstrOrUpdate happy_var_1 (reverse (fst happy_var_3)))}}}}- ) (\r -> happyReturn (happyIn160 r))--happyReduce_387 = happySpecReduce_1 149# happyReduction_387-happyReduction_387 happy_x_1- = case happyOut161 happy_x_1 of { happy_var_1 -> - happyIn160- (happy_var_1- )}--happyReduce_388 = happySpecReduce_1 150# happyReduction_388-happyReduction_388 happy_x_1- = case happyOut210 happy_x_1 of { happy_var_1 -> - happyIn161- (IPVar (ann happy_var_1) happy_var_1- )}--happyReduce_389 = happySpecReduce_1 150# happyReduction_389-happyReduction_389 happy_x_1- = case happyOut209 happy_x_1 of { happy_var_1 -> - happyIn161- (Var (ann happy_var_1) happy_var_1- )}--happyReduce_390 = happySpecReduce_1 150# happyReduction_390-happyReduction_390 happy_x_1- = case happyOut206 happy_x_1 of { happy_var_1 -> - happyIn161- (happy_var_1- )}--happyReduce_391 = happySpecReduce_1 150# happyReduction_391-happyReduction_391 happy_x_1- = case happyOut235 happy_x_1 of { happy_var_1 -> - happyIn161- (Lit (ann happy_var_1) happy_var_1- )}--happyReduce_392 = happySpecReduce_3 150# happyReduction_392-happyReduction_392 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut163 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn161- (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_393 = happySpecReduce_3 150# happyReduction_393-happyReduction_393 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut163 happy_x_2 of { happy_var_2 -> - case happyOut164 happy_x_3 of { happy_var_3 -> - happyIn161- (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Boxed (Just happy_var_2 : fst happy_var_3)- )}}}--happyReduce_394 = happyReduce 4# 150# happyReduction_394-happyReduction_394 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut162 happy_x_2 of { happy_var_2 -> - case happyOut163 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn161- (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Boxed- (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])- ) `HappyStk` happyRest}}}}--happyReduce_395 = happyReduce 4# 150# happyReduction_395-happyReduction_395 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut162 happy_x_2 of { happy_var_2 -> - case happyOut163 happy_x_3 of { happy_var_3 -> - case happyOut164 happy_x_4 of { happy_var_4 -> - happyIn161- (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Boxed- (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)- ) `HappyStk` happyRest}}}}--happyReduce_396 = happySpecReduce_3 150# happyReduction_396-happyReduction_396 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut163 happy_x_2 of { happy_var_2 -> - case happyOut165 happy_x_3 of { happy_var_3 -> - happyIn161- (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Unboxed (Just happy_var_2 : fst happy_var_3)- )}}}--happyReduce_397 = happySpecReduce_3 150# happyReduction_397-happyReduction_397 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut163 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn161- (TupleSection (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) Unboxed [Just happy_var_2]- )}}}--happyReduce_398 = happyReduce 4# 150# happyReduction_398-happyReduction_398 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut162 happy_x_2 of { happy_var_2 -> - case happyOut163 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightHashParen) -> - happyIn161- (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Unboxed- (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])- ) `HappyStk` happyRest}}}}--happyReduce_399 = happyReduce 4# 150# happyReduction_399-happyReduction_399 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut162 happy_x_2 of { happy_var_2 -> - case happyOut163 happy_x_3 of { happy_var_3 -> - case happyOut165 happy_x_4 of { happy_var_4 -> - happyIn161- (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Unboxed- (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)- ) `HappyStk` happyRest}}}}--happyReduce_400 = happySpecReduce_3 150# happyReduction_400-happyReduction_400 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut177 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn161- (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])- )}}}--happyReduce_401 = happySpecReduce_1 150# happyReduction_401-happyReduction_401 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> - happyIn161- (WildCard (nIS happy_var_1)- )}--happyReduce_402 = happyMonadReduce 3# 150# happyReduction_402-happyReduction_402 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut167 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - ( checkEnabled RegularPatterns >> return (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2))}}}- ) (\r -> happyReturn (happyIn161 r))--happyReduce_403 = happySpecReduce_3 150# happyReduction_403-happyReduction_403 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RPGuardOpen) -> - case happyOut166 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RPGuardClose) -> - happyIn161- (SeqRP (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (snd happy_var_2) ++ [happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_404 = happyReduce 5# 150# happyReduction_404-happyReduction_404 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RPGuardOpen) -> - case happyOut147 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Bar) -> - case happyOut183 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RPGuardClose) -> - happyIn161- (GuardRP (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3 : snd happy_var_4 ++ [happy_var_5])) happy_var_2 $ (reverse $ fst happy_var_4)- ) `HappyStk` happyRest}}}}}--happyReduce_405 = happySpecReduce_1 150# happyReduction_405-happyReduction_405 happy_x_1- = case happyOut168 happy_x_1 of { happy_var_1 -> - happyIn161- (happy_var_1- )}--happyReduce_406 = happySpecReduce_1 150# happyReduction_406-happyReduction_406 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn161- (let Loc l (THIdEscape s) = happy_var_1 in SpliceExp (nIS l) $ IdSplice (nIS l) s- )}--happyReduce_407 = happySpecReduce_3 150# happyReduction_407-happyReduction_407 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THParenEscape) -> - case happyOut146 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn161- (SpliceExp (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) $ ParenSplice (ann happy_var_2) happy_var_2- )}}}--happyReduce_408 = happySpecReduce_3 150# happyReduction_408-happyReduction_408 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THExpQuote) -> - case happyOut146 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> - happyIn161- (BracketExp (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) $ ExpBracket (ann happy_var_2) happy_var_2- )}}}--happyReduce_409 = happyMonadReduce 3# 150# happyReduction_409-happyReduction_409 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 THPatQuote) -> - case happyOut148 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> - ( do { p <- checkPattern happy_var_2;- return $ BracketExp (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) $ PatBracket (ann p) p })}}}- ) (\r -> happyReturn (happyIn161 r))--happyReduce_410 = happySpecReduce_3 150# happyReduction_410-happyReduction_410 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THTypQuote) -> - case happyOut92 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> - happyIn161- (let l = happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3] in BracketExp l $ TypeBracket l happy_var_2- )}}}--happyReduce_411 = happyReduce 5# 150# happyReduction_411-happyReduction_411 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THDecQuote) -> - case happyOut48 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 THCloseQuote) -> - happyIn161- (let l = happy_var_1 <^^> happy_var_5 <** (happy_var_1:snd happy_var_3 ++ [happy_var_5]) in BracketExp l $ DeclBracket l (fst happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_412 = happySpecReduce_2 150# happyReduction_412-happyReduction_412 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut209 happy_x_2 of { happy_var_2 -> - happyIn161- (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_413 = happySpecReduce_2 150# happyReduction_413-happyReduction_413 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut212 happy_x_2 of { happy_var_2 -> - happyIn161- (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_414 = happySpecReduce_2 150# happyReduction_414-happyReduction_414 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> - case happyOut241 happy_x_2 of { happy_var_2 -> - happyIn161- (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) (UnQual (ann happy_var_2) happy_var_2)- )}}--happyReduce_415 = happySpecReduce_2 150# happyReduction_415-happyReduction_415 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> - case happyOut89 happy_x_2 of { happy_var_2 -> - happyIn161- (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_416 = happySpecReduce_1 150# happyReduction_416-happyReduction_416 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn161- (let Loc l (THQuasiQuote (n,q)) = happy_var_1 in QuasiQuote (nIS l) n q- )}--happyReduce_417 = happySpecReduce_2 151# happyReduction_417-happyReduction_417 happy_x_2- happy_x_1- = case happyOut162 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - happyIn162- (happy_var_2 : happy_var_1- )}}--happyReduce_418 = happySpecReduce_1 151# happyReduction_418-happyReduction_418 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Comma) -> - happyIn162- ([happy_var_1]- )}--happyReduce_419 = happySpecReduce_1 152# happyReduction_419-happyReduction_419 happy_x_1- = case happyOut147 happy_x_1 of { happy_var_1 -> - happyIn163- (happy_var_1- )}--happyReduce_420 = happySpecReduce_2 152# happyReduction_420-happyReduction_420 happy_x_2- happy_x_1- = case happyOut220 happy_x_1 of { happy_var_1 -> - case happyOut148 happy_x_2 of { happy_var_2 -> - happyIn163- (PreOp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_421 = happyMonadReduce 3# 152# happyReduction_421-happyReduction_421 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut147 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - ( do {checkEnabled ViewPatterns;- return $ ViewPat (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3})}}}- ) (\r -> happyReturn (happyIn163 r))--happyReduce_422 = happySpecReduce_3 153# happyReduction_422-happyReduction_422 happy_x_3- happy_x_2- happy_x_1- = case happyOut162 happy_x_1 of { happy_var_1 -> - case happyOut163 happy_x_2 of { happy_var_2 -> - case happyOut164 happy_x_3 of { happy_var_3 -> - happyIn164- (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)- )}}}--happyReduce_423 = happySpecReduce_3 153# happyReduction_423-happyReduction_423 happy_x_3- happy_x_2- happy_x_1- = case happyOut162 happy_x_1 of { happy_var_1 -> - case happyOut163 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn164- ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)- )}}}--happyReduce_424 = happySpecReduce_2 153# happyReduction_424-happyReduction_424 happy_x_2- happy_x_1- = case happyOut162 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn164- ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)- )}}--happyReduce_425 = happySpecReduce_3 154# happyReduction_425-happyReduction_425 happy_x_3- happy_x_2- happy_x_1- = case happyOut162 happy_x_1 of { happy_var_1 -> - case happyOut163 happy_x_2 of { happy_var_2 -> - case happyOut165 happy_x_3 of { happy_var_3 -> - happyIn165- (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)- )}}}--happyReduce_426 = happySpecReduce_3 154# happyReduction_426-happyReduction_426 happy_x_3- happy_x_2- happy_x_1- = case happyOut162 happy_x_1 of { happy_var_1 -> - case happyOut163 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn165- ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)- )}}}--happyReduce_427 = happySpecReduce_2 154# happyReduction_427-happyReduction_427 happy_x_2- happy_x_1- = case happyOut162 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> - happyIn165- ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)- )}}--happyReduce_428 = happySpecReduce_3 155# happyReduction_428-happyReduction_428 happy_x_3- happy_x_2- happy_x_1- = case happyOut166 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - happyIn166- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_429 = happySpecReduce_1 155# happyReduction_429-happyReduction_429 happy_x_1- = case happyOut147 happy_x_1 of { happy_var_1 -> - happyIn166- (([happy_var_1],[])- )}--happyReduce_430 = happySpecReduce_3 156# happyReduction_430-happyReduction_430 happy_x_3- happy_x_2- happy_x_1- = case happyOut147 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut167 happy_x_3 of { happy_var_3 -> - happyIn167- (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_431 = happySpecReduce_3 156# happyReduction_431-happyReduction_431 happy_x_3- happy_x_2- happy_x_1- = case happyOut147 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - happyIn167- (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_432 = happyMonadReduce 10# 157# happyReduction_432-happyReduction_432 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut171 happy_x_2 of { happy_var_2 -> - case happyOut174 happy_x_3 of { happy_var_3 -> - case happyOut176 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> - case happyOut169 happy_x_6 of { happy_var_6 -> - case happyOut153 happy_x_7 of { happy_var_7 -> - case happyOutTok happy_x_8 of { (Loc happy_var_8 XCloseTagOpen) -> - case happyOut171 happy_x_9 of { happy_var_9 -> - case happyOutTok happy_x_10 of { (Loc happy_var_10 XStdTagClose) -> - ( do { n <- checkEqNames happy_var_2 happy_var_9;- let { cn = reverse happy_var_6;- as = reverse happy_var_3;- l = happy_var_1 <^^> happy_var_10 <** [happy_var_1,happy_var_5] ++ happy_var_7 ++ [happy_var_8,srcInfoSpan (ann happy_var_9),happy_var_10] };- return $ XTag l n as happy_var_4 cn })}}}}}}}}}}- ) (\r -> happyReturn (happyIn168 r))--happyReduce_433 = happyReduce 5# 157# happyReduction_433-happyReduction_433 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut171 happy_x_2 of { happy_var_2 -> - case happyOut174 happy_x_3 of { happy_var_3 -> - case happyOut176 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XEmptyTagClose) -> - happyIn168- (XETag (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 (reverse happy_var_3) happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_434 = happySpecReduce_3 157# happyReduction_434-happyReduction_434 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XCodeTagOpen) -> - case happyOut147 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 XCodeTagClose) -> - happyIn168- (XExpTag (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_435 = happyReduce 5# 157# happyReduction_435-happyReduction_435 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XChildTagOpen) -> - case happyOut169 happy_x_2 of { happy_var_2 -> - case happyOut153 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 XCloseTagOpen) -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XCodeTagClose) -> - happyIn168- (XChildTag (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3++[happy_var_4,happy_var_5])) (reverse happy_var_2)- ) `HappyStk` happyRest}}}}}--happyReduce_436 = happySpecReduce_2 158# happyReduction_436-happyReduction_436 happy_x_2- happy_x_1- = case happyOut169 happy_x_1 of { happy_var_1 -> - case happyOut170 happy_x_2 of { happy_var_2 -> - happyIn169- (happy_var_2 : happy_var_1- )}}--happyReduce_437 = happySpecReduce_0 158# happyReduction_437-happyReduction_437 = happyIn169- ([]- )--happyReduce_438 = happySpecReduce_1 159# happyReduction_438-happyReduction_438 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn170- (let Loc l (XPCDATA pcd) = happy_var_1 in XPcdata (nIS l) pcd- )}--happyReduce_439 = happySpecReduce_3 159# happyReduction_439-happyReduction_439 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XRPatOpen) -> - case happyOut166 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 XRPatClose) -> - happyIn170- (XRPats (happy_var_1 <^^> happy_var_3 <** (snd happy_var_2 ++ [happy_var_1,happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_440 = happySpecReduce_1 159# happyReduction_440-happyReduction_440 happy_x_1- = case happyOut168 happy_x_1 of { happy_var_1 -> - happyIn170- (happy_var_1- )}--happyReduce_441 = happySpecReduce_3 160# happyReduction_441-happyReduction_441 happy_x_3- happy_x_2- happy_x_1- = case happyOut172 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Colon) -> - case happyOut172 happy_x_3 of { happy_var_3 -> - happyIn171- (let {Loc l1 s1 = happy_var_1; Loc l2 s2 = happy_var_3}- in XDomName (nIS l1 <++> nIS l2 <** [l1,happy_var_2,l2]) s1 s2- )}}}--happyReduce_442 = happySpecReduce_1 160# happyReduction_442-happyReduction_442 happy_x_1- = case happyOut172 happy_x_1 of { happy_var_1 -> - happyIn171- (let Loc l str = happy_var_1 in XName (nIS l) str- )}--happyReduce_443 = happySpecReduce_1 161# happyReduction_443-happyReduction_443 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn172- (let Loc l (VarId s) = happy_var_1 in Loc l s- )}--happyReduce_444 = happySpecReduce_1 161# happyReduction_444-happyReduction_444 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn172- (let Loc l (ConId s) = happy_var_1 in Loc l s- )}--happyReduce_445 = happySpecReduce_1 161# happyReduction_445-happyReduction_445 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn172- (let Loc l (DVarId s) = happy_var_1 in Loc l $ mkDVar s- )}--happyReduce_446 = happySpecReduce_1 161# happyReduction_446-happyReduction_446 happy_x_1- = case happyOut173 happy_x_1 of { happy_var_1 -> - happyIn172- (happy_var_1- )}--happyReduce_447 = happySpecReduce_1 162# happyReduction_447-happyReduction_447 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - happyIn173- (Loc happy_var_1 "type"- )}--happyReduce_448 = happySpecReduce_1 162# happyReduction_448-happyReduction_448 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Class) -> - happyIn173- (Loc happy_var_1 "class"- )}--happyReduce_449 = happySpecReduce_1 162# happyReduction_449-happyReduction_449 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - happyIn173- (Loc happy_var_1 "data"- )}--happyReduce_450 = happySpecReduce_1 162# happyReduction_450-happyReduction_450 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> - happyIn173- (Loc happy_var_1 "foreign"- )}--happyReduce_451 = happySpecReduce_1 162# happyReduction_451-happyReduction_451 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> - happyIn173- (Loc happy_var_1 "export"- )}--happyReduce_452 = happySpecReduce_1 162# happyReduction_452-happyReduction_452 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn173- (Loc happy_var_1 "safe"- )}--happyReduce_453 = happySpecReduce_1 162# happyReduction_453-happyReduction_453 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn173- (Loc happy_var_1 "unsafe"- )}--happyReduce_454 = happySpecReduce_1 162# happyReduction_454-happyReduction_454 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn173- (Loc happy_var_1 "threadsafe"- )}--happyReduce_455 = happySpecReduce_1 162# happyReduction_455-happyReduction_455 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> - happyIn173- (Loc happy_var_1 "stdcall"- )}--happyReduce_456 = happySpecReduce_1 162# happyReduction_456-happyReduction_456 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> - happyIn173- (Loc happy_var_1 "ccall"- )}--happyReduce_457 = happySpecReduce_1 162# happyReduction_457-happyReduction_457 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> - happyIn173- (Loc happy_var_1 "cplusplus"- )}--happyReduce_458 = happySpecReduce_1 162# happyReduction_458-happyReduction_458 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> - happyIn173- (Loc happy_var_1 "dotnet"- )}--happyReduce_459 = happySpecReduce_1 162# happyReduction_459-happyReduction_459 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> - happyIn173- (Loc happy_var_1 "jvm"- )}--happyReduce_460 = happySpecReduce_1 162# happyReduction_460-happyReduction_460 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> - happyIn173- (Loc happy_var_1 "js"- )}--happyReduce_461 = happySpecReduce_1 162# happyReduction_461-happyReduction_461 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> - happyIn173- (Loc happy_var_1 "as"- )}--happyReduce_462 = happySpecReduce_1 162# happyReduction_462-happyReduction_462 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_By) -> - happyIn173- (Loc happy_var_1 "by"- )}--happyReduce_463 = happySpecReduce_1 162# happyReduction_463-happyReduction_463 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Case) -> - happyIn173- (Loc happy_var_1 "case"- )}--happyReduce_464 = happySpecReduce_1 162# happyReduction_464-happyReduction_464 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> - happyIn173- (Loc happy_var_1 "default"- )}--happyReduce_465 = happySpecReduce_1 162# happyReduction_465-happyReduction_465 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - happyIn173- (Loc happy_var_1 "deriving"- )}--happyReduce_466 = happySpecReduce_1 162# happyReduction_466-happyReduction_466 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> - happyIn173- (Loc happy_var_1 "do"- )}--happyReduce_467 = happySpecReduce_1 162# happyReduction_467-happyReduction_467 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Else) -> - happyIn173- (Loc happy_var_1 "else"- )}--happyReduce_468 = happySpecReduce_1 162# happyReduction_468-happyReduction_468 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> - happyIn173- (Loc happy_var_1 "family"- )}--happyReduce_469 = happySpecReduce_1 162# happyReduction_469-happyReduction_469 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - happyIn173- (Loc happy_var_1 "forall"- )}--happyReduce_470 = happySpecReduce_1 162# happyReduction_470-happyReduction_470 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Group) -> - happyIn173- (Loc happy_var_1 "group"- )}--happyReduce_471 = happySpecReduce_1 162# happyReduction_471-happyReduction_471 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> - happyIn173- (Loc happy_var_1 "hiding"- )}--happyReduce_472 = happySpecReduce_1 162# happyReduction_472-happyReduction_472 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> - happyIn173- (Loc happy_var_1 "if"- )}--happyReduce_473 = happySpecReduce_1 162# happyReduction_473-happyReduction_473 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Import) -> - happyIn173- (Loc happy_var_1 "import"- )}--happyReduce_474 = happySpecReduce_1 162# happyReduction_474-happyReduction_474 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_In) -> - happyIn173- (Loc happy_var_1 "in"- )}--happyReduce_475 = happySpecReduce_1 162# happyReduction_475-happyReduction_475 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> - happyIn173- (Loc happy_var_1 "infix"- )}--happyReduce_476 = happySpecReduce_1 162# happyReduction_476-happyReduction_476 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> - happyIn173- (Loc happy_var_1 "infixl"- )}--happyReduce_477 = happySpecReduce_1 162# happyReduction_477-happyReduction_477 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> - happyIn173- (Loc happy_var_1 "infixr"- )}--happyReduce_478 = happySpecReduce_1 162# happyReduction_478-happyReduction_478 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> - happyIn173- (Loc happy_var_1 "instance"- )}--happyReduce_479 = happySpecReduce_1 162# happyReduction_479-happyReduction_479 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - happyIn173- (Loc happy_var_1 "let"- )}--happyReduce_480 = happySpecReduce_1 162# happyReduction_480-happyReduction_480 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> - happyIn173- (Loc happy_var_1 "mdo"- )}--happyReduce_481 = happySpecReduce_1 162# happyReduction_481-happyReduction_481 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - happyIn173- (Loc happy_var_1 "module"- )}--happyReduce_482 = happySpecReduce_1 162# happyReduction_482-happyReduction_482 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> - happyIn173- (Loc happy_var_1 "newtype"- )}--happyReduce_483 = happySpecReduce_1 162# happyReduction_483-happyReduction_483 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Of) -> - happyIn173- (Loc happy_var_1 "of"- )}--happyReduce_484 = happySpecReduce_1 162# happyReduction_484-happyReduction_484 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Proc) -> - happyIn173- (Loc happy_var_1 "proc"- )}--happyReduce_485 = happySpecReduce_1 162# happyReduction_485-happyReduction_485 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> - happyIn173- (Loc happy_var_1 "rec"- )}--happyReduce_486 = happySpecReduce_1 162# happyReduction_486-happyReduction_486 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - happyIn173- (Loc happy_var_1 "then"- )}--happyReduce_487 = happySpecReduce_1 162# happyReduction_487-happyReduction_487 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Using) -> - happyIn173- (Loc happy_var_1 "using"- )}--happyReduce_488 = happySpecReduce_1 162# happyReduction_488-happyReduction_488 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - happyIn173- (Loc happy_var_1 "where"- )}--happyReduce_489 = happySpecReduce_1 162# happyReduction_489-happyReduction_489 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> - happyIn173- (Loc happy_var_1 "qualified"- )}--happyReduce_490 = happySpecReduce_2 163# happyReduction_490-happyReduction_490 happy_x_2- happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - case happyOut175 happy_x_2 of { happy_var_2 -> - happyIn174- (happy_var_2 : happy_var_1- )}}--happyReduce_491 = happySpecReduce_0 163# happyReduction_491-happyReduction_491 = happyIn174- ([]- )--happyReduce_492 = happySpecReduce_3 164# happyReduction_492-happyReduction_492 happy_x_3- happy_x_2- happy_x_1- = case happyOut171 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut159 happy_x_3 of { happy_var_3 -> - happyIn175- (XAttr (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_493 = happySpecReduce_1 165# happyReduction_493-happyReduction_493 happy_x_1- = case happyOut159 happy_x_1 of { happy_var_1 -> - happyIn176- (Just happy_var_1- )}--happyReduce_494 = happySpecReduce_0 165# happyReduction_494-happyReduction_494 = happyIn176- (Nothing- )--happyReduce_495 = happySpecReduce_1 166# happyReduction_495-happyReduction_495 happy_x_1- = case happyOut163 happy_x_1 of { happy_var_1 -> - happyIn177- (\l -> List l [happy_var_1]- )}--happyReduce_496 = happySpecReduce_1 166# happyReduction_496-happyReduction_496 happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - happyIn177- (\l -> let (ps,ss) = happy_var_1 in List (l <** reverse ss) (reverse ps)- )}--happyReduce_497 = happySpecReduce_2 166# happyReduction_497-happyReduction_497 happy_x_2- happy_x_1- = case happyOut163 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> - happyIn177- (\l -> EnumFrom (l <** [happy_var_2]) happy_var_1- )}}--happyReduce_498 = happyReduce 4# 166# happyReduction_498-happyReduction_498 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut163 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> - happyIn177- (\l -> EnumFromThen (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_499 = happySpecReduce_3 166# happyReduction_499-happyReduction_499 happy_x_3- happy_x_2- happy_x_1- = case happyOut163 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - happyIn177- (\l -> EnumFromTo (l <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_500 = happyReduce 5# 166# happyReduction_500-happyReduction_500 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut163 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> - case happyOut147 happy_x_5 of { happy_var_5 -> - happyIn177- (\l -> EnumFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_501 = happySpecReduce_3 166# happyReduction_501-happyReduction_501 happy_x_3- happy_x_2- happy_x_1- = case happyOut163 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut179 happy_x_3 of { happy_var_3 -> - happyIn177- (\l -> let (stss, ss) = happy_var_3 in ParComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)- )}}}--happyReduce_502 = happySpecReduce_3 167# happyReduction_502-happyReduction_502 happy_x_3- happy_x_2- happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut163 happy_x_3 of { happy_var_3 -> - happyIn178- (let (es, ss) = happy_var_1 in (happy_var_3 : es, happy_var_2 : ss)- )}}}--happyReduce_503 = happySpecReduce_3 167# happyReduction_503-happyReduction_503 happy_x_3- happy_x_2- happy_x_1- = case happyOut163 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut163 happy_x_3 of { happy_var_3 -> - happyIn178- (([happy_var_3,happy_var_1], [happy_var_2])- )}}}--happyReduce_504 = happySpecReduce_3 168# happyReduction_504-happyReduction_504 happy_x_3- happy_x_2- happy_x_1- = case happyOut179 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut180 happy_x_3 of { happy_var_3 -> - happyIn179- (let { (stss, ss1) = happy_var_1;- (sts, ss2) = happy_var_3 }- in (reverse sts : stss, ss1 ++ [happy_var_2] ++ reverse ss2)- )}}}--happyReduce_505 = happySpecReduce_1 168# happyReduction_505-happyReduction_505 happy_x_1- = case happyOut180 happy_x_1 of { happy_var_1 -> - happyIn179- (let (sts, ss) = happy_var_1 in ([reverse sts], reverse ss)- )}--happyReduce_506 = happySpecReduce_3 169# happyReduction_506-happyReduction_506 happy_x_3- happy_x_2- happy_x_1- = case happyOut180 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut181 happy_x_3 of { happy_var_3 -> - happyIn180- (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)- )}}}--happyReduce_507 = happySpecReduce_1 169# happyReduction_507-happyReduction_507 happy_x_1- = case happyOut181 happy_x_1 of { happy_var_1 -> - happyIn180- (([happy_var_1],[])- )}--happyReduce_508 = happySpecReduce_1 170# happyReduction_508-happyReduction_508 happy_x_1- = case happyOut182 happy_x_1 of { happy_var_1 -> - happyIn181- (happy_var_1- )}--happyReduce_509 = happySpecReduce_1 170# happyReduction_509-happyReduction_509 happy_x_1- = case happyOut184 happy_x_1 of { happy_var_1 -> - happyIn181- (QualStmt (ann happy_var_1) happy_var_1- )}--happyReduce_510 = happySpecReduce_2 171# happyReduction_510-happyReduction_510 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOut146 happy_x_2 of { happy_var_2 -> - happyIn182- (ThenTrans (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_511 = happyReduce 4# 171# happyReduction_511-happyReduction_511 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOut146 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> - case happyOut146 happy_x_4 of { happy_var_4 -> - happyIn182- (ThenBy (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_512 = happyReduce 4# 171# happyReduction_512-happyReduction_512 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> - case happyOut146 happy_x_4 of { happy_var_4 -> - happyIn182- (GroupBy (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_513 = happyReduce 4# 171# happyReduction_513-happyReduction_513 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Using) -> - case happyOut146 happy_x_4 of { happy_var_4 -> - happyIn182- (GroupUsing (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_514 = happyReduce 6# 171# happyReduction_514-happyReduction_514 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> - case happyOut146 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 KW_Using) -> - case happyOut146 happy_x_6 of { happy_var_6 -> - happyIn182- (GroupByUsing (nIS happy_var_1 <++> ann happy_var_6 <** [happy_var_1,happy_var_2,happy_var_3,happy_var_5]) happy_var_4 happy_var_6- ) `HappyStk` happyRest}}}}}}--happyReduce_515 = happySpecReduce_3 172# happyReduction_515-happyReduction_515 happy_x_3- happy_x_2- happy_x_1- = case happyOut183 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut184 happy_x_3 of { happy_var_3 -> - happyIn183- (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)- )}}}--happyReduce_516 = happySpecReduce_1 172# happyReduction_516-happyReduction_516 happy_x_1- = case happyOut184 happy_x_1 of { happy_var_1 -> - happyIn183- (([happy_var_1],[])- )}--happyReduce_517 = happySpecReduce_3 173# happyReduction_517-happyReduction_517 happy_x_3- happy_x_2- happy_x_1- = case happyOut192 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> - case happyOut146 happy_x_3 of { happy_var_3 -> - happyIn184- (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_518 = happySpecReduce_1 173# happyReduction_518-happyReduction_518 happy_x_1- = case happyOut146 happy_x_1 of { happy_var_1 -> - happyIn184- (Qualifier (ann happy_var_1) happy_var_1- )}--happyReduce_519 = happySpecReduce_2 173# happyReduction_519-happyReduction_519 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - case happyOut61 happy_x_2 of { happy_var_2 -> - happyIn184- (LetStmt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_520 = happySpecReduce_3 174# happyReduction_520-happyReduction_520 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut186 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn185- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_521 = happySpecReduce_3 174# happyReduction_521-happyReduction_521 happy_x_3- happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - case happyOut186 happy_x_2 of { happy_var_2 -> - case happyOut237 happy_x_3 of { happy_var_3 -> - happyIn185- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_522 = happySpecReduce_3 175# happyReduction_522-happyReduction_522 happy_x_3- happy_x_2- happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut187 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn186- ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)- )}}}--happyReduce_523 = happySpecReduce_3 176# happyReduction_523-happyReduction_523 happy_x_3- happy_x_2- happy_x_1- = case happyOut187 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_2 of { happy_var_2 -> - case happyOut188 happy_x_3 of { happy_var_3 -> - happyIn187- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)- )}}}--happyReduce_524 = happySpecReduce_1 176# happyReduction_524-happyReduction_524 happy_x_1- = case happyOut188 happy_x_1 of { happy_var_1 -> - happyIn187- (([happy_var_1],[])- )}--happyReduce_525 = happySpecReduce_3 177# happyReduction_525-happyReduction_525 happy_x_3- happy_x_2- happy_x_1- = case happyOut192 happy_x_1 of { happy_var_1 -> - case happyOut189 happy_x_2 of { happy_var_2 -> - case happyOut141 happy_x_3 of { happy_var_3 -> - happyIn188- (Alt (happy_var_1 <> happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** snd happy_var_3) happy_var_1 happy_var_2 (fst happy_var_3)- )}}}--happyReduce_526 = happySpecReduce_2 178# happyReduction_526-happyReduction_526 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RightArrow) -> - case happyOut146 happy_x_2 of { happy_var_2 -> - happyIn189- (UnGuardedAlt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_527 = happySpecReduce_1 178# happyReduction_527-happyReduction_527 happy_x_1- = case happyOut190 happy_x_1 of { happy_var_1 -> - happyIn189- (GuardedAlts (snd happy_var_1) (reverse $ fst happy_var_1)- )}--happyReduce_528 = happySpecReduce_2 179# happyReduction_528-happyReduction_528 happy_x_2- happy_x_1- = case happyOut190 happy_x_1 of { happy_var_1 -> - case happyOut191 happy_x_2 of { happy_var_2 -> - happyIn190- ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)- )}}--happyReduce_529 = happySpecReduce_1 179# happyReduction_529-happyReduction_529 happy_x_1- = case happyOut191 happy_x_1 of { happy_var_1 -> - happyIn190- (([happy_var_1], ann happy_var_1)- )}--happyReduce_530 = happyMonadReduce 4# 180# happyReduction_530-happyReduction_530 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut183 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut146 happy_x_4 of { happy_var_4 -> - ( do { checkPatternGuards (fst happy_var_2);- let {l = nIS happy_var_1 <++> ann happy_var_4 <** (happy_var_1:snd happy_var_2 ++ [happy_var_3])};- return (GuardedAlt l (reverse (fst happy_var_2)) happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn191 r))--happyReduce_531 = happyMonadReduce 1# 181# happyReduction_531-happyReduction_531 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut147 happy_x_1 of { happy_var_1 -> - ( checkPattern happy_var_1)}- ) (\r -> happyReturn (happyIn192 r))--happyReduce_532 = happyMonadReduce 2# 181# happyReduction_532-happyReduction_532 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut159 happy_x_2 of { happy_var_2 -> - ( checkPattern (BangPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2))}}- ) (\r -> happyReturn (happyIn192 r))--happyReduce_533 = happySpecReduce_3 182# happyReduction_533-happyReduction_533 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut194 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn193- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_534 = happySpecReduce_3 182# happyReduction_534-happyReduction_534 happy_x_3- happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - case happyOut194 happy_x_2 of { happy_var_2 -> - case happyOut237 happy_x_3 of { happy_var_3 -> - happyIn193- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_535 = happySpecReduce_3 183# happyReduction_535-happyReduction_535 happy_x_3- happy_x_2- happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut195 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn194- ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)- )}}}--happyReduce_536 = happySpecReduce_3 184# happyReduction_536-happyReduction_536 happy_x_3- happy_x_2- happy_x_1- = case happyOut195 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - case happyOut196 happy_x_3 of { happy_var_3 -> - happyIn195- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)- )}}}--happyReduce_537 = happySpecReduce_1 184# happyReduction_537-happyReduction_537 happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - happyIn195- (([happy_var_1], [])- )}--happyReduce_538 = happyReduce 4# 185# happyReduction_538-happyReduction_538 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut146 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut146 happy_x_4 of { happy_var_4 -> - happyIn196- (let l = nIS happy_var_1 <++> ann happy_var_2 <++> ann happy_var_4 <** [happy_var_1,happy_var_3] in (IfAlt l happy_var_2 happy_var_4)- ) `HappyStk` happyRest}}}}--happyReduce_539 = happySpecReduce_3 186# happyReduction_539-happyReduction_539 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut198 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn197- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_540 = happySpecReduce_3 186# happyReduction_540-happyReduction_540 happy_x_3- happy_x_2- happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - case happyOut198 happy_x_2 of { happy_var_2 -> - case happyOut237 happy_x_3 of { happy_var_3 -> - happyIn197- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_541 = happySpecReduce_2 187# happyReduction_541-happyReduction_541 happy_x_2- happy_x_1- = case happyOut200 happy_x_1 of { happy_var_1 -> - case happyOut199 happy_x_2 of { happy_var_2 -> - happyIn198- ((happy_var_1 : fst happy_var_2, snd happy_var_2)- )}}--happyReduce_542 = happySpecReduce_2 187# happyReduction_542-happyReduction_542 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - case happyOut198 happy_x_2 of { happy_var_2 -> - happyIn198- ((fst happy_var_2, happy_var_1 : snd happy_var_2)- )}}--happyReduce_543 = happySpecReduce_0 187# happyReduction_543-happyReduction_543 = happyIn198- (([],[])- )--happyReduce_544 = happySpecReduce_2 188# happyReduction_544-happyReduction_544 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - case happyOut198 happy_x_2 of { happy_var_2 -> - happyIn199- ((fst happy_var_2, happy_var_1 : snd happy_var_2)- )}}--happyReduce_545 = happySpecReduce_0 188# happyReduction_545-happyReduction_545 = happyIn199- (([],[])- )--happyReduce_546 = happySpecReduce_2 189# happyReduction_546-happyReduction_546 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - case happyOut61 happy_x_2 of { happy_var_2 -> - happyIn200- (LetStmt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_547 = happySpecReduce_3 189# happyReduction_547-happyReduction_547 happy_x_3- happy_x_2- happy_x_1- = case happyOut192 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> - case happyOut146 happy_x_3 of { happy_var_3 -> - happyIn200- (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_548 = happySpecReduce_1 189# happyReduction_548-happyReduction_548 happy_x_1- = case happyOut146 happy_x_1 of { happy_var_1 -> - happyIn200- (Qualifier (ann happy_var_1) happy_var_1- )}--happyReduce_549 = happySpecReduce_2 189# happyReduction_549-happyReduction_549 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> - case happyOut197 happy_x_2 of { happy_var_2 -> - happyIn200- (let (stms,inf,ss) = happy_var_2 in RecStmt (nIS happy_var_1 <++> inf <** happy_var_1:ss) stms- )}}--happyReduce_550 = happySpecReduce_3 190# happyReduction_550-happyReduction_550 happy_x_3- happy_x_2- happy_x_1- = case happyOut201 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut202 happy_x_3 of { happy_var_3 -> - happyIn201- (let (fbs, ss) = happy_var_1 in (happy_var_3 : fbs, happy_var_2 : ss)- )}}}--happyReduce_551 = happySpecReduce_1 190# happyReduction_551-happyReduction_551 happy_x_1- = case happyOut202 happy_x_1 of { happy_var_1 -> - happyIn201- (([happy_var_1],[])- )}--happyReduce_552 = happySpecReduce_3 191# happyReduction_552-happyReduction_552 happy_x_3- happy_x_2- happy_x_1- = case happyOut209 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - happyIn202- (FieldUpdate (happy_var_1 <>happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_553 = happyMonadReduce 1# 191# happyReduction_553-happyReduction_553 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut209 happy_x_1 of { happy_var_1 -> - ( checkEnabled NamedFieldPuns >> checkUnQual happy_var_1 >>= return . FieldPun (ann happy_var_1))}- ) (\r -> happyReturn (happyIn202 r))--happyReduce_554 = happyMonadReduce 1# 191# happyReduction_554-happyReduction_554 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 DotDot) -> - ( checkEnabled RecordWildCards >> return (FieldWildcard (nIS happy_var_1)))}- ) (\r -> happyReturn (happyIn202 r))--happyReduce_555 = happySpecReduce_3 192# happyReduction_555-happyReduction_555 happy_x_3- happy_x_2- happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut204 happy_x_2 of { happy_var_2 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn203- ((reverse (fst happy_var_2), reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)- )}}}--happyReduce_556 = happySpecReduce_3 193# happyReduction_556-happyReduction_556 happy_x_3- happy_x_2- happy_x_1- = case happyOut204 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_2 of { happy_var_2 -> - case happyOut205 happy_x_3 of { happy_var_3 -> - happyIn204- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_557 = happySpecReduce_1 193# happyReduction_557-happyReduction_557 happy_x_1- = case happyOut205 happy_x_1 of { happy_var_1 -> - happyIn204- (([happy_var_1],[])- )}--happyReduce_558 = happySpecReduce_3 194# happyReduction_558-happyReduction_558 happy_x_3- happy_x_2- happy_x_1- = case happyOut210 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut146 happy_x_3 of { happy_var_3 -> - happyIn205- (IPBind (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_559 = happySpecReduce_2 195# happyReduction_559-happyReduction_559 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn206- (p_unit_con (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_560 = happySpecReduce_2 195# happyReduction_560-happyReduction_560 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightSquare) -> - happyIn206- (List (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2]) []- )}}--happyReduce_561 = happySpecReduce_3 195# happyReduction_561-happyReduction_561 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut162 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn206- (p_tuple_con (happy_var_1 <^^> happy_var_3 <** happy_var_1:reverse (happy_var_3:happy_var_2)) Boxed (length happy_var_2)- )}}}--happyReduce_562 = happySpecReduce_2 195# happyReduction_562-happyReduction_562 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> - happyIn206- (p_unboxed_singleton_con (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_563 = happySpecReduce_3 195# happyReduction_563-happyReduction_563 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut162 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn206- (p_tuple_con (happy_var_1 <^^> happy_var_3 <** happy_var_1:reverse (happy_var_3:happy_var_2)) Unboxed (length happy_var_2)- )}}}--happyReduce_564 = happySpecReduce_1 195# happyReduction_564-happyReduction_564 happy_x_1- = case happyOut212 happy_x_1 of { happy_var_1 -> - happyIn206- (Con (ann happy_var_1) happy_var_1- )}--happyReduce_565 = happySpecReduce_1 196# happyReduction_565-happyReduction_565 happy_x_1- = case happyOut224 happy_x_1 of { happy_var_1 -> - happyIn207- (happy_var_1- )}--happyReduce_566 = happySpecReduce_3 196# happyReduction_566-happyReduction_566 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut232 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn207- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_567 = happySpecReduce_1 197# happyReduction_567-happyReduction_567 happy_x_1- = case happyOut223 happy_x_1 of { happy_var_1 -> - happyIn208- (happy_var_1- )}--happyReduce_568 = happySpecReduce_3 197# happyReduction_568-happyReduction_568 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut232 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn208- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_569 = happySpecReduce_1 198# happyReduction_569-happyReduction_569 happy_x_1- = case happyOut222 happy_x_1 of { happy_var_1 -> - happyIn209- (happy_var_1- )}--happyReduce_570 = happySpecReduce_3 198# happyReduction_570-happyReduction_570 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut230 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn209- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_571 = happySpecReduce_1 199# happyReduction_571-happyReduction_571 happy_x_1- = case happyOut225 happy_x_1 of { happy_var_1 -> - happyIn210- (happy_var_1- )}--happyReduce_572 = happySpecReduce_1 200# happyReduction_572-happyReduction_572 happy_x_1- = case happyOut227 happy_x_1 of { happy_var_1 -> - happyIn211- (happy_var_1- )}--happyReduce_573 = happySpecReduce_3 200# happyReduction_573-happyReduction_573 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut229 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn211- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_574 = happySpecReduce_1 201# happyReduction_574-happyReduction_574 happy_x_1- = case happyOut226 happy_x_1 of { happy_var_1 -> - happyIn212- (happy_var_1- )}--happyReduce_575 = happySpecReduce_3 201# happyReduction_575-happyReduction_575 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut221 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn212- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_576 = happySpecReduce_1 202# happyReduction_576-happyReduction_576 happy_x_1- = case happyOut232 happy_x_1 of { happy_var_1 -> - happyIn213- (happy_var_1- )}--happyReduce_577 = happySpecReduce_3 202# happyReduction_577-happyReduction_577 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut224 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn213- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_578 = happySpecReduce_1 203# happyReduction_578-happyReduction_578 happy_x_1- = case happyOut230 happy_x_1 of { happy_var_1 -> - happyIn214- (happy_var_1- )}--happyReduce_579 = happySpecReduce_3 203# happyReduction_579-happyReduction_579 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut222 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn214- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_580 = happySpecReduce_1 204# happyReduction_580-happyReduction_580 happy_x_1- = case happyOut231 happy_x_1 of { happy_var_1 -> - happyIn215- (happy_var_1- )}--happyReduce_581 = happySpecReduce_3 204# happyReduction_581-happyReduction_581 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut222 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn215- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_582 = happySpecReduce_1 205# happyReduction_582-happyReduction_582 happy_x_1- = case happyOut229 happy_x_1 of { happy_var_1 -> - happyIn216- (happy_var_1- )}--happyReduce_583 = happySpecReduce_3 205# happyReduction_583-happyReduction_583 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut227 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn216- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_584 = happySpecReduce_1 206# happyReduction_584-happyReduction_584 happy_x_1- = case happyOut221 happy_x_1 of { happy_var_1 -> - happyIn217- (happy_var_1- )}--happyReduce_585 = happySpecReduce_3 206# happyReduction_585-happyReduction_585 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut226 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn217- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_586 = happySpecReduce_1 207# happyReduction_586-happyReduction_586 happy_x_1- = case happyOut213 happy_x_1 of { happy_var_1 -> - happyIn218- (VarOp (ann happy_var_1) happy_var_1- )}--happyReduce_587 = happySpecReduce_1 207# happyReduction_587-happyReduction_587 happy_x_1- = case happyOut216 happy_x_1 of { happy_var_1 -> - happyIn218- (ConOp (ann happy_var_1) happy_var_1- )}--happyReduce_588 = happySpecReduce_1 208# happyReduction_588-happyReduction_588 happy_x_1- = case happyOut214 happy_x_1 of { happy_var_1 -> - happyIn219- (QVarOp (ann happy_var_1) happy_var_1- )}--happyReduce_589 = happySpecReduce_1 208# happyReduction_589-happyReduction_589 happy_x_1- = case happyOut217 happy_x_1 of { happy_var_1 -> - happyIn219- (QConOp (ann happy_var_1) happy_var_1- )}--happyReduce_590 = happySpecReduce_1 209# happyReduction_590-happyReduction_590 happy_x_1- = case happyOut215 happy_x_1 of { happy_var_1 -> - happyIn220- (QVarOp (ann happy_var_1) happy_var_1- )}--happyReduce_591 = happySpecReduce_1 209# happyReduction_591-happyReduction_591 happy_x_1- = case happyOut217 happy_x_1 of { happy_var_1 -> - happyIn220- (QConOp (ann happy_var_1) happy_var_1- )}--happyReduce_592 = happySpecReduce_1 210# happyReduction_592-happyReduction_592 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Colon) -> - happyIn221- (list_cons_name (nIS happy_var_1)- )}--happyReduce_593 = happySpecReduce_1 210# happyReduction_593-happyReduction_593 happy_x_1- = case happyOut228 happy_x_1 of { happy_var_1 -> - happyIn221- (happy_var_1- )}--happyReduce_594 = happySpecReduce_1 211# happyReduction_594-happyReduction_594 happy_x_1- = case happyOut224 happy_x_1 of { happy_var_1 -> - happyIn222- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_595 = happySpecReduce_1 211# happyReduction_595-happyReduction_595 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn222- (let {Loc l (QVarId q) = happy_var_1; nis = nIS l}- in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))- )}--happyReduce_596 = happySpecReduce_1 212# happyReduction_596-happyReduction_596 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn223- (let Loc l (VarId v) = happy_var_1 in Ident (nIS l) v- )}--happyReduce_597 = happySpecReduce_1 212# happyReduction_597-happyReduction_597 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> - happyIn223- (as_name (nIS happy_var_1)- )}--happyReduce_598 = happySpecReduce_1 212# happyReduction_598-happyReduction_598 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> - happyIn223- (qualified_name (nIS happy_var_1)- )}--happyReduce_599 = happySpecReduce_1 212# happyReduction_599-happyReduction_599 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> - happyIn223- (hiding_name (nIS happy_var_1)- )}--happyReduce_600 = happySpecReduce_1 212# happyReduction_600-happyReduction_600 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> - happyIn223- (export_name (nIS happy_var_1)- )}--happyReduce_601 = happySpecReduce_1 212# happyReduction_601-happyReduction_601 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> - happyIn223- (stdcall_name (nIS happy_var_1)- )}--happyReduce_602 = happySpecReduce_1 212# happyReduction_602-happyReduction_602 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> - happyIn223- (ccall_name (nIS happy_var_1)- )}--happyReduce_603 = happySpecReduce_1 212# happyReduction_603-happyReduction_603 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> - happyIn223- (cplusplus_name (nIS happy_var_1)- )}--happyReduce_604 = happySpecReduce_1 212# happyReduction_604-happyReduction_604 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> - happyIn223- (dotnet_name (nIS happy_var_1)- )}--happyReduce_605 = happySpecReduce_1 212# happyReduction_605-happyReduction_605 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> - happyIn223- (jvm_name (nIS happy_var_1)- )}--happyReduce_606 = happySpecReduce_1 212# happyReduction_606-happyReduction_606 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> - happyIn223- (js_name (nIS happy_var_1)- )}--happyReduce_607 = happySpecReduce_1 213# happyReduction_607-happyReduction_607 happy_x_1- = case happyOut223 happy_x_1 of { happy_var_1 -> - happyIn224- (happy_var_1- )}--happyReduce_608 = happySpecReduce_1 213# happyReduction_608-happyReduction_608 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn224- (safe_name (nIS happy_var_1)- )}--happyReduce_609 = happySpecReduce_1 213# happyReduction_609-happyReduction_609 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn224- (unsafe_name (nIS happy_var_1)- )}--happyReduce_610 = happySpecReduce_1 213# happyReduction_610-happyReduction_610 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn224- (threadsafe_name (nIS happy_var_1)- )}--happyReduce_611 = happySpecReduce_1 213# happyReduction_611-happyReduction_611 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - happyIn224- (forall_name (nIS happy_var_1)- )}--happyReduce_612 = happySpecReduce_1 213# happyReduction_612-happyReduction_612 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> - happyIn224- (family_name (nIS happy_var_1)- )}--happyReduce_613 = happySpecReduce_1 214# happyReduction_613-happyReduction_613 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn225- (let Loc l (IDupVarId i) = happy_var_1 in IPDup (nIS l) i- )}--happyReduce_614 = happySpecReduce_1 214# happyReduction_614-happyReduction_614 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn225- (let Loc l (ILinVarId i) = happy_var_1 in IPLin (nIS l) i- )}--happyReduce_615 = happySpecReduce_1 215# happyReduction_615-happyReduction_615 happy_x_1- = case happyOut227 happy_x_1 of { happy_var_1 -> - happyIn226- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_616 = happySpecReduce_1 215# happyReduction_616-happyReduction_616 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn226- (let {Loc l (QConId q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))- )}--happyReduce_617 = happySpecReduce_1 216# happyReduction_617-happyReduction_617 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn227- (let Loc l (ConId c) = happy_var_1 in Ident (nIS l) c- )}--happyReduce_618 = happySpecReduce_1 217# happyReduction_618-happyReduction_618 happy_x_1- = case happyOut229 happy_x_1 of { happy_var_1 -> - happyIn228- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_619 = happySpecReduce_1 217# happyReduction_619-happyReduction_619 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn228- (let {Loc l (QConSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))- )}--happyReduce_620 = happySpecReduce_1 218# happyReduction_620-happyReduction_620 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn229- (let Loc l (ConSym c) = happy_var_1 in Symbol (nIS l) c- )}--happyReduce_621 = happySpecReduce_1 219# happyReduction_621-happyReduction_621 happy_x_1- = case happyOut232 happy_x_1 of { happy_var_1 -> - happyIn230- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_622 = happySpecReduce_1 219# happyReduction_622-happyReduction_622 happy_x_1- = case happyOut234 happy_x_1 of { happy_var_1 -> - happyIn230- (happy_var_1- )}--happyReduce_623 = happySpecReduce_1 220# happyReduction_623-happyReduction_623 happy_x_1- = case happyOut233 happy_x_1 of { happy_var_1 -> - happyIn231- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_624 = happySpecReduce_1 220# happyReduction_624-happyReduction_624 happy_x_1- = case happyOut234 happy_x_1 of { happy_var_1 -> - happyIn231- (happy_var_1- )}--happyReduce_625 = happySpecReduce_1 221# happyReduction_625-happyReduction_625 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn232- (let Loc l (VarSym v) = happy_var_1 in Symbol (nIS l) v- )}--happyReduce_626 = happySpecReduce_1 221# happyReduction_626-happyReduction_626 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> - happyIn232- (minus_name (nIS happy_var_1)- )}--happyReduce_627 = happySpecReduce_1 221# happyReduction_627-happyReduction_627 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - happyIn232- (bang_name (nIS happy_var_1)- )}--happyReduce_628 = happySpecReduce_1 221# happyReduction_628-happyReduction_628 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Dot) -> - happyIn232- (dot_name (nIS happy_var_1)- )}--happyReduce_629 = happySpecReduce_1 221# happyReduction_629-happyReduction_629 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> - happyIn232- (star_name (nIS happy_var_1)- )}--happyReduce_630 = happySpecReduce_1 222# happyReduction_630-happyReduction_630 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn233- (let Loc l (VarSym v) = happy_var_1 in Symbol (nIS l) v- )}--happyReduce_631 = happySpecReduce_1 222# happyReduction_631-happyReduction_631 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - happyIn233- (bang_name (nIS happy_var_1)- )}--happyReduce_632 = happySpecReduce_1 222# happyReduction_632-happyReduction_632 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Dot) -> - happyIn233- (dot_name (nIS happy_var_1)- )}--happyReduce_633 = happySpecReduce_1 222# happyReduction_633-happyReduction_633 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> - happyIn233- (star_name (nIS happy_var_1)- )}--happyReduce_634 = happySpecReduce_1 223# happyReduction_634-happyReduction_634 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn234- (let {Loc l (QVarSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))- )}--happyReduce_635 = happySpecReduce_1 224# happyReduction_635-happyReduction_635 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn235- (let Loc l (IntTok (i,raw)) = happy_var_1 in Int (nIS l) i raw- )}--happyReduce_636 = happySpecReduce_1 224# happyReduction_636-happyReduction_636 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn235- (let Loc l (Character (c,raw)) = happy_var_1 in Char (nIS l) c raw- )}--happyReduce_637 = happySpecReduce_1 224# happyReduction_637-happyReduction_637 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn235- (let Loc l (FloatTok (r,raw)) = happy_var_1 in Frac (nIS l) r raw- )}--happyReduce_638 = happySpecReduce_1 224# happyReduction_638-happyReduction_638 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn235- (let Loc l (StringTok (s,raw)) = happy_var_1 in String (nIS l) s raw- )}--happyReduce_639 = happySpecReduce_1 224# happyReduction_639-happyReduction_639 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn235- (let Loc l (IntTokHash (i,raw)) = happy_var_1 in PrimInt (nIS l) i raw- )}--happyReduce_640 = happySpecReduce_1 224# happyReduction_640-happyReduction_640 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn235- (let Loc l (WordTokHash (w,raw)) = happy_var_1 in PrimWord (nIS l) w raw- )}--happyReduce_641 = happySpecReduce_1 224# happyReduction_641-happyReduction_641 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn235- (let Loc l (FloatTokHash (f,raw)) = happy_var_1 in PrimFloat (nIS l) f raw- )}--happyReduce_642 = happySpecReduce_1 224# happyReduction_642-happyReduction_642 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn235- (let Loc l (DoubleTokHash (d,raw)) = happy_var_1 in PrimDouble (nIS l) d raw- )}--happyReduce_643 = happySpecReduce_1 224# happyReduction_643-happyReduction_643 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn235- (let Loc l (CharacterHash (c,raw)) = happy_var_1 in PrimChar (nIS l) c raw- )}--happyReduce_644 = happySpecReduce_1 224# happyReduction_644-happyReduction_644 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn235- (let Loc l (StringHash (s,raw)) = happy_var_1 in PrimString (nIS l) s raw- )}--happyReduce_645 = happyMonadReduce 0# 225# happyReduction_645-happyReduction_645 (happyRest) tk- = happyThen (( pushCurrentContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x) (return x) -})- ) (\r -> happyReturn (happyIn236 r))--happyReduce_646 = happySpecReduce_1 226# happyReduction_646-happyReduction_646 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 VRightCurly) -> - happyIn237- (happy_var_1 {- >>= \x -> trace (show x ++ show x ++ show x) (return x) -}- )}--happyReduce_647 = happyMonadReduce 1# 226# happyReduction_647-happyReduction_647 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( popContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x ++ show x) (return x) -})- ) (\r -> happyReturn (happyIn237 r))--happyReduce_648 = happySpecReduce_1 227# happyReduction_648-happyReduction_648 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn238- (let Loc l (ConId n) = happy_var_1 in ModuleName (nIS l) n- )}--happyReduce_649 = happySpecReduce_1 227# happyReduction_649-happyReduction_649 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn238- (let Loc l (QConId n) = happy_var_1 in ModuleName (nIS l) (fst n ++ '.':snd n)- )}--happyReduce_650 = happySpecReduce_1 228# happyReduction_650-happyReduction_650 happy_x_1- = case happyOut211 happy_x_1 of { happy_var_1 -> - happyIn239- (happy_var_1- )}--happyReduce_651 = happySpecReduce_1 229# happyReduction_651-happyReduction_651 happy_x_1- = case happyOut212 happy_x_1 of { happy_var_1 -> - happyIn240- (happy_var_1- )}--happyReduce_652 = happySpecReduce_1 230# happyReduction_652-happyReduction_652 happy_x_1- = case happyOut242 happy_x_1 of { happy_var_1 -> - happyIn241- (happy_var_1- )}--happyReduce_653 = happySpecReduce_1 231# happyReduction_653-happyReduction_653 happy_x_1- = case happyOut223 happy_x_1 of { happy_var_1 -> - happyIn242- (happy_var_1- )}--happyReduce_654 = happySpecReduce_1 231# happyReduction_654-happyReduction_654 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn242- (safe_name (nIS happy_var_1)- )}--happyReduce_655 = happySpecReduce_1 231# happyReduction_655-happyReduction_655 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn242- (unsafe_name (nIS happy_var_1)- )}--happyReduce_656 = happySpecReduce_1 231# happyReduction_656-happyReduction_656 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn242- (threadsafe_name (nIS happy_var_1)- )}--happyReduce_657 = happySpecReduce_3 232# happyReduction_657-happyReduction_657 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut241 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn243- (UnQual (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_658 = happySpecReduce_1 232# happyReduction_658-happyReduction_658 happy_x_1- = case happyOut244 happy_x_1 of { happy_var_1 -> - happyIn243- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_659 = happySpecReduce_1 233# happyReduction_659-happyReduction_659 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn244- (let Loc l (VarSym x) = happy_var_1 in Symbol (nIS l) x- )}--happyNewToken action sts stk- = lexer(\tk -> - let cont i = happyDoAction i tk action sts stk in- case tk of {- Loc _ EOF -> happyDoAction 138# tk action sts stk;- Loc _ (VarId _) -> cont 1#;- Loc _ (QVarId _) -> cont 2#;- Loc _ (IDupVarId _) -> cont 3#;- Loc _ (ILinVarId _) -> cont 4#;- Loc _ (ConId _) -> cont 5#;- Loc _ (QConId _) -> cont 6#;- Loc _ (DVarId _) -> cont 7#;- Loc _ (VarSym _) -> cont 8#;- Loc _ (ConSym _) -> cont 9#;- Loc _ (QVarSym _) -> cont 10#;- Loc _ (QConSym _) -> cont 11#;- Loc _ (IntTok _) -> cont 12#;- Loc _ (FloatTok _) -> cont 13#;- Loc _ (Character _) -> cont 14#;- Loc _ (StringTok _) -> cont 15#;- Loc _ (IntTokHash _) -> cont 16#;- Loc _ (WordTokHash _) -> cont 17#;- Loc _ (FloatTokHash _) -> cont 18#;- Loc _ (DoubleTokHash _) -> cont 19#;- Loc _ (CharacterHash _) -> cont 20#;- Loc _ (StringHash _) -> cont 21#;- Loc happy_dollar_dollar LeftParen -> cont 22#;- Loc happy_dollar_dollar RightParen -> cont 23#;- Loc happy_dollar_dollar LeftHashParen -> cont 24#;- Loc happy_dollar_dollar RightHashParen -> cont 25#;- Loc happy_dollar_dollar SemiColon -> cont 26#;- Loc happy_dollar_dollar LeftCurly -> cont 27#;- Loc happy_dollar_dollar RightCurly -> cont 28#;- Loc happy_dollar_dollar VRightCurly -> cont 29#;- Loc happy_dollar_dollar LeftSquare -> cont 30#;- Loc happy_dollar_dollar RightSquare -> cont 31#;- Loc happy_dollar_dollar Comma -> cont 32#;- Loc happy_dollar_dollar Underscore -> cont 33#;- Loc happy_dollar_dollar BackQuote -> cont 34#;- Loc happy_dollar_dollar Dot -> cont 35#;- Loc happy_dollar_dollar DotDot -> cont 36#;- Loc happy_dollar_dollar Colon -> cont 37#;- Loc happy_dollar_dollar DoubleColon -> cont 38#;- Loc happy_dollar_dollar Equals -> cont 39#;- Loc happy_dollar_dollar Backslash -> cont 40#;- Loc happy_dollar_dollar Bar -> cont 41#;- Loc happy_dollar_dollar LeftArrow -> cont 42#;- Loc happy_dollar_dollar RightArrow -> cont 43#;- Loc happy_dollar_dollar At -> cont 44#;- Loc happy_dollar_dollar Tilde -> cont 45#;- Loc happy_dollar_dollar DoubleArrow -> cont 46#;- Loc happy_dollar_dollar Minus -> cont 47#;- Loc happy_dollar_dollar Exclamation -> cont 48#;- Loc happy_dollar_dollar Star -> cont 49#;- Loc happy_dollar_dollar LeftArrowTail -> cont 50#;- Loc happy_dollar_dollar RightArrowTail -> cont 51#;- Loc happy_dollar_dollar LeftDblArrowTail -> cont 52#;- Loc happy_dollar_dollar RightDblArrowTail -> cont 53#;- Loc happy_dollar_dollar RPGuardOpen -> cont 54#;- Loc happy_dollar_dollar RPGuardClose -> cont 55#;- Loc happy_dollar_dollar RPCAt -> cont 56#;- Loc _ (THIdEscape _) -> cont 57#;- Loc happy_dollar_dollar THParenEscape -> cont 58#;- Loc happy_dollar_dollar THExpQuote -> cont 59#;- Loc happy_dollar_dollar THPatQuote -> cont 60#;- Loc happy_dollar_dollar THTypQuote -> cont 61#;- Loc happy_dollar_dollar THDecQuote -> cont 62#;- Loc happy_dollar_dollar THCloseQuote -> cont 63#;- Loc happy_dollar_dollar THVarQuote -> cont 64#;- Loc happy_dollar_dollar THTyQuote -> cont 65#;- Loc _ (THQuasiQuote _) -> cont 66#;- Loc _ (XPCDATA _) -> cont 67#;- Loc happy_dollar_dollar XStdTagOpen -> cont 68#;- Loc happy_dollar_dollar XCloseTagOpen -> cont 69#;- Loc happy_dollar_dollar XCodeTagOpen -> cont 70#;- Loc happy_dollar_dollar XChildTagOpen -> cont 71#;- Loc happy_dollar_dollar XStdTagClose -> cont 72#;- Loc happy_dollar_dollar XEmptyTagClose -> cont 73#;- Loc happy_dollar_dollar XCodeTagClose -> cont 74#;- Loc happy_dollar_dollar XRPatOpen -> cont 75#;- Loc happy_dollar_dollar XRPatClose -> cont 76#;- Loc happy_dollar_dollar KW_Foreign -> cont 77#;- Loc happy_dollar_dollar KW_Export -> cont 78#;- Loc happy_dollar_dollar KW_Safe -> cont 79#;- Loc happy_dollar_dollar KW_Unsafe -> cont 80#;- Loc happy_dollar_dollar KW_Threadsafe -> cont 81#;- Loc happy_dollar_dollar KW_Interruptible -> cont 82#;- Loc happy_dollar_dollar KW_StdCall -> cont 83#;- Loc happy_dollar_dollar KW_CCall -> cont 84#;- Loc happy_dollar_dollar KW_CPlusPlus -> cont 85#;- Loc happy_dollar_dollar KW_DotNet -> cont 86#;- Loc happy_dollar_dollar KW_Jvm -> cont 87#;- Loc happy_dollar_dollar KW_Js -> cont 88#;- Loc happy_dollar_dollar KW_CApi -> cont 89#;- Loc happy_dollar_dollar KW_As -> cont 90#;- Loc happy_dollar_dollar KW_By -> cont 91#;- Loc happy_dollar_dollar KW_Case -> cont 92#;- Loc happy_dollar_dollar KW_Class -> cont 93#;- Loc happy_dollar_dollar KW_Data -> cont 94#;- Loc happy_dollar_dollar KW_Default -> cont 95#;- Loc happy_dollar_dollar KW_Deriving -> cont 96#;- Loc happy_dollar_dollar KW_Do -> cont 97#;- Loc happy_dollar_dollar KW_Else -> cont 98#;- Loc happy_dollar_dollar KW_Family -> cont 99#;- Loc happy_dollar_dollar KW_Forall -> cont 100#;- Loc happy_dollar_dollar KW_Group -> cont 101#;- Loc happy_dollar_dollar KW_Hiding -> cont 102#;- Loc happy_dollar_dollar KW_If -> cont 103#;- Loc happy_dollar_dollar KW_Import -> cont 104#;- Loc happy_dollar_dollar KW_In -> cont 105#;- Loc happy_dollar_dollar KW_Infix -> cont 106#;- Loc happy_dollar_dollar KW_InfixL -> cont 107#;- Loc happy_dollar_dollar KW_InfixR -> cont 108#;- Loc happy_dollar_dollar KW_Instance -> cont 109#;- Loc happy_dollar_dollar KW_Let -> cont 110#;- Loc happy_dollar_dollar KW_MDo -> cont 111#;- Loc happy_dollar_dollar KW_Module -> cont 112#;- Loc happy_dollar_dollar KW_NewType -> cont 113#;- Loc happy_dollar_dollar KW_Of -> cont 114#;- Loc happy_dollar_dollar KW_Proc -> cont 115#;- Loc happy_dollar_dollar KW_Rec -> cont 116#;- Loc happy_dollar_dollar KW_Then -> cont 117#;- Loc happy_dollar_dollar KW_Type -> cont 118#;- Loc happy_dollar_dollar KW_Using -> cont 119#;- Loc happy_dollar_dollar KW_Where -> cont 120#;- Loc happy_dollar_dollar KW_Qualified -> cont 121#;- Loc _ (INLINE _) -> cont 122#;- Loc happy_dollar_dollar INLINE_CONLIKE -> cont 123#;- Loc happy_dollar_dollar SPECIALISE -> cont 124#;- Loc _ (SPECIALISE_INLINE _) -> cont 125#;- Loc happy_dollar_dollar SOURCE -> cont 126#;- Loc happy_dollar_dollar RULES -> cont 127#;- Loc happy_dollar_dollar CORE -> cont 128#;- Loc happy_dollar_dollar SCC -> cont 129#;- Loc happy_dollar_dollar GENERATED -> cont 130#;- Loc happy_dollar_dollar DEPRECATED -> cont 131#;- Loc happy_dollar_dollar WARNING -> cont 132#;- Loc happy_dollar_dollar UNPACK -> cont 133#;- Loc _ (OPTIONS _) -> cont 134#;- Loc happy_dollar_dollar LANGUAGE -> cont 135#;- Loc happy_dollar_dollar ANN -> cont 136#;- Loc happy_dollar_dollar PragmaEnd -> cont 137#;- _ -> happyError' tk- })--happyError_ 138# tk = happyError' tk-happyError_ _ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (>>=)-happyReturn :: () => a -> P a-happyReturn = (return)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => (Loc Token) -> P a-happyError' tk = parseError tk--mparseModule = happySomeParser where- happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut13 x))--mparseExp = happySomeParser where- happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut146 x))--mparsePat = happySomeParser where- happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut192 x))--mparseDecl = happySomeParser where- happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut50 x))--mparseType = happySomeParser where- happySomeParser = happyThen (happyParse 4#) (\x -> happyReturn (happyOut92 x))--mparseStmt = happySomeParser where- happySomeParser = happyThen (happyParse 5#) (\x -> happyReturn (happyOut200 x))--mparseModules = happySomeParser where- happySomeParser = happyThen (happyParse 6#) (\x -> happyReturn (happyOut11 x))--mfindOptPragmas = happySomeParser where- happySomeParser = happyThen (happyParse 7#) (\x -> happyReturn (happyOut15 x))--happySeq = happyDontSeq---type L = SrcSpanInfo -- just for convenience-type S = SrcSpan--parseError :: Loc Token -> P a-parseError t = fail $ "Parse error: " ++ showToken (unLoc t)--(<>) :: (Annotated a, Annotated b) => a SrcSpanInfo -> b SrcSpanInfo -> SrcSpanInfo-a <> b = ann a <++> ann b-infixl 6 <>--nIS = noInfoSpan-iS = infoSpan----- | Parse of a string, which should contain a complete Haskell module.-parseModule :: String -> ParseResult (Module SrcSpanInfo)-parseModule = simpleParse mparseModule---- | Parse of a string containing a complete Haskell module, using an explicit mode.-parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)-parseModuleWithMode = modeParse mparseModule---- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])-parseModuleWithComments = commentParse mparseModule---- | Parse of a string containing a Haskell expression.-parseExp :: String -> ParseResult (Exp SrcSpanInfo)-parseExp = simpleParse mparseExp---- | Parse of a string containing a Haskell expression, using an explicit mode.-parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo)-parseExpWithMode = modeParse mparseExp---- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment])-parseExpWithComments = commentParse mparseExp---- | Parse of a string containing a Haskell pattern.-parsePat :: String -> ParseResult (Pat SrcSpanInfo)-parsePat = simpleParse mparsePat---- | Parse of a string containing a Haskell pattern, using an explicit mode.-parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo)-parsePatWithMode = modeParse mparsePat---- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment])-parsePatWithComments = commentParse mparsePat---- | Parse of a string containing a Haskell top-level declaration.-parseDecl :: String -> ParseResult (Decl SrcSpanInfo)-parseDecl = simpleParse mparseDecl---- | Parse of a string containing a Haskell top-level declaration, using an explicit mode.-parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo)-parseDeclWithMode = modeParse mparseDecl---- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment])-parseDeclWithComments = commentParse mparseDecl---- | Parse of a string containing a Haskell type.-parseType :: String -> ParseResult (Type SrcSpanInfo)-parseType = runParser mparseType---- | Parse of a string containing a Haskell type, using an explicit mode.-parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo)-parseTypeWithMode mode = runParserWithMode mode mparseType---- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment])-parseTypeWithComments mode str = runParserWithModeComments mode mparseType str---- | Parse of a string containing a Haskell statement.-parseStmt :: String -> ParseResult (Stmt SrcSpanInfo)-parseStmt = simpleParse mparseStmt---- | Parse of a string containing a Haskell type, using an explicit mode.-parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo)-parseStmtWithMode = modeParse mparseStmt---- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment])-parseStmtWithComments = commentParse mparseStmt---simpleParse :: AppFixity a => P (a L) -> String -> ParseResult (a L)-simpleParse p = applyFixities preludeFixities <=< runParser p--modeParse :: AppFixity a => P (a L) -> ParseMode -> String -> ParseResult (a L)-modeParse p mode = applyFixities' (fixities mode) <=< runParserWithMode mode p--commentParse :: AppFixity a => P (a L) -> ParseMode -> String -> ParseResult (a L, [Comment])-commentParse p mode str = do (ast, cs) <- runParserWithModeComments mode p str- ast' <- applyFixities' (fixities mode) ast- return (ast', cs)---- | Partial parse of a string starting with a series of top-level option pragmas.-getTopPragmas :: String -> ParseResult [ModulePragma SrcSpanInfo]-getTopPragmas = runParser (mfindOptPragmas >>= \(ps,_,_) -> return ps)---- | Parse of a string, which should contain a complete Haskell module.-parseModules :: String -> ParseResult [Module SrcSpanInfo]-parseModules = mapM (applyFixities preludeFixities) <=< runParser mparseModules---- | Parse of a string containing a complete Haskell module, using an explicit mode.-parseModulesWithMode :: ParseMode -> String -> ParseResult [Module SrcSpanInfo]-parseModulesWithMode mode = mapM (applyFixities' (fixities mode)) <=< runParserWithMode mode mparseModules---- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseModulesWithComments :: ParseMode -> String -> ParseResult ([Module SrcSpanInfo], [Comment])-parseModulesWithComments mode str = do (ast,cs) <- runParserWithModeComments mode mparseModules str- ast' <- mapM (applyFixities' (fixities mode)) ast- return (ast', cs)-applyFixities' :: (AppFixity a) => Maybe [Fixity] -> a L -> ParseResult (a L)-applyFixities' Nothing ast = return ast-applyFixities' (Just fixs) ast = applyFixities fixs ast-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 8 "<command-line>" #-}-# 1 "/usr/include/stdc-predef.h" 1 3 4--# 17 "/usr/include/stdc-predef.h" 3 4--------------------# 47 "/usr/include/stdc-predef.h" 3 4--# 59 "/usr/include/stdc-predef.h" 3 4---------{-# LINE 8 "<command-line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp --{-# LINE 13 "templates/GenericTemplate.hs" #-}-------- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ > 706-#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)-#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)-#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)-#else-#define LT(n,m) (n Happy_GHC_Exts.<# m)-#define GTE(n,m) (n Happy_GHC_Exts.>=# m)-#define EQ(n,m) (n Happy_GHC_Exts.==# m)-#endif-{-# LINE 46 "templates/GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList------{-# LINE 67 "templates/GenericTemplate.hs" #-}--{-# LINE 77 "templates/GenericTemplate.hs" #-}--{-# LINE 86 "templates/GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser). We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =- happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = - (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st- = {- nothing -}--- case action of- 0# -> {- nothing -}- happyFail i tk st- -1# -> {- nothing -}- happyAccept i tk st- n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}-- (happyReduceArr Happy_Data_Array.! rule) i tk st- where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))- n -> {- nothing -}--- happyShift new_state i tk st- where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))- where off = indexShortOffAddr happyActOffsets st- off_i = (off Happy_GHC_Exts.+# i)- check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))- then EQ(indexShortOffAddr happyCheck off_i, i)- else False- action- | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st---indexShortOffAddr (HappyA# arr) off =- Happy_GHC_Exts.narrow16Int# i- where- i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)- high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))- low = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))- off' = off Happy_GHC_Exts.*# 2#------data HappyAddr = HappyA# Happy_GHC_Exts.Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "templates/GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "shifting the error token" $- happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =- happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk- = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) ->- let r = fn stk in -- it doesn't hurt to always seq here...- happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk in- happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))--happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk-- off = indexShortOffAddr happyGotoOffsets st1- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i---- in- happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))--happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = - {- nothing -}- happyDoAction j tk new_state- where off = indexShortOffAddr happyGotoOffsets st- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail 0# tk old_st _ stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "failing" $ - happyError_ i tk--{- We don't need state discarding for our restricted implementation of- "error". In fact, it can cause some bogus parses, so I've disabled it- for now --SDM---- discard a state-happyFail 0# tk old_st (HappyCons ((action)) (sts)) - (saved_tok `HappyStk` _ `HappyStk` stk) =--- trace ("discarding state, depth " ++ show (length stk)) $- happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,--- save the old token and carry on.-happyFail i tk (action) sts stk =--- trace "entering error recovery" $- happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll :: a-notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Happy_GHC_Exts.Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq--- otherwise it emits--- happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template. GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
haskell-src-exts.cabal view
@@ -1,40 +1,29 @@ Name: haskell-src-exts-Version: 1.15.0.1+Version: 1.24.0 License: BSD3 License-File: LICENSE Build-Type: Simple Author: Niklas Broberg-Maintainer: Niklas Broberg <niklas.broberg@chalmers.se>+Maintainer: Dan Burton <danburton.email@gmail.com> Category: Language Synopsis: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer Description: Haskell-Source with Extensions (HSE, haskell-src-exts)- is an extension of the standard haskell-src package,- and handles most registered syntactic extensions to Haskell, including:- .- * Multi-parameter type classes with functional dependencies- .- * Indexed type families (including associated types)- .- * Empty data declarations- .- * GADTs- .- * Implicit parameters- .- * Template Haskell+ is a standalone parser for Haskell. In addition to+ standard Haskell, all extensions implemented in GHC are supported. .- and a few more. All extensions implemented in GHC are supported. Apart from these standard extensions, it also handles regular patterns as per the HaRP extension as well as HSX-style embedded XML syntax. Homepage: https://github.com/haskell-suite/haskell-src-exts+Bug-Reports: https://github.com/haskell-suite/haskell-src-exts/issues Stability: Stable-Build-Type: Custom Cabal-Version: >= 1.10+Tested-With: GHC == 9.14.1 Extra-Source-Files: README.md CHANGELOG+ RELEASENOTES-1.17.0 tests/examples/*.hs tests/examples/*.lhs tests/examples/*.hs.parser.golden@@ -50,39 +39,41 @@ Library Default-language: Haskell98- Build-Tools: happy >= 1.17- Build-Depends: array >= 0.1, pretty >= 1.0, cpphs >= 1.3,+ Build-Tools: happy >= 1.19+ Build-Depends: array >= 0.1 && < 0.6,+ pretty >= 1.0 && < 1.2, base >= 4.5 && < 5, -- this is needed to access GHC.Generics on GHC 7.4- ghc-prim+ ghc-prim < 0.14+ -- this is needed to access Data.Semigroup and Control.Monad.Fail on GHCs+ -- before 8.0+ if !impl(ghc >= 8.0)+ Build-Depends:+ semigroups >= 0.18.3 && < 0.21,+ fail == 4.9.* Exposed-modules: Language.Haskell.Exts, Language.Haskell.Exts.Lexer,- Language.Haskell.Exts.Parser, Language.Haskell.Exts.Pretty,- Language.Haskell.Exts.Syntax, Language.Haskell.Exts.Extension, Language.Haskell.Exts.Build,- Language.Haskell.Exts.Fixity,- Language.Haskell.Exts.Comments, Language.Haskell.Exts.SrcLoc,- - Language.Haskell.Exts.Annotated,- Language.Haskell.Exts.Annotated.Syntax,- Language.Haskell.Exts.Annotated.Fixity,- Language.Haskell.Exts.Annotated.Build,- Language.Haskell.Exts.Annotated.ExactPrint,- Language.Haskell.Exts.Annotated.Simplify + Language.Haskell.Exts.Syntax,+ Language.Haskell.Exts.Fixity,+ Language.Haskell.Exts.ExactPrint,+ Language.Haskell.Exts.Parser,+ Language.Haskell.Exts.Comments+ Other-modules: Language.Haskell.Exts.ExtScheme,- Language.Haskell.Exts.ParseMonad, Language.Haskell.Exts.ParseSyntax, Language.Haskell.Exts.InternalLexer, Language.Haskell.Exts.ParseUtils, Language.Haskell.Exts.InternalParser+ Language.Preprocessor.Unlit Hs-source-dirs: src- Ghc-options: -fwarn-incomplete-patterns+ Ghc-options: -Wall Source-Repository head Type: git@@ -92,17 +83,17 @@ type: exitcode-stdio-1.0 hs-source-dirs: tests main-is: Runner.hs- GHC-Options: -threaded+ other-modules: Extensions+ GHC-Options: -threaded -Wall Default-language: Haskell2010- Build-depends: base < 5,+ Build-depends: base, mtl, containers,- filemanip, haskell-src-exts, smallcheck >= 1.0, tasty >= 0.3, tasty-smallcheck,- tasty-golden,+ tasty-golden >= 2.2.2, filepath, directory,- syb+ pretty-show >= 1.6.16
src/Language/Haskell/Exts.hs view
@@ -18,16 +18,19 @@ module Language.Haskell.Exts.Syntax , module Language.Haskell.Exts.Build , module Language.Haskell.Exts.Lexer- , module Language.Haskell.Exts.Parser , module Language.Haskell.Exts.Pretty- , module Language.Haskell.Exts.Extension , module Language.Haskell.Exts.Fixity+ , module Language.Haskell.Exts.ExactPrint+ , module Language.Haskell.Exts.SrcLoc , module Language.Haskell.Exts.Comments+ , module Language.Haskell.Exts.Extension+ , module Language.Haskell.Exts.Parser -- * Parsing of Haskell source files , parseFile , parseFileWithMode , parseFileWithExts , parseFileWithComments+ , parseFileWithCommentsAndPragmas , parseFileContents , parseFileContentsWithMode , parseFileContentsWithExts@@ -37,78 +40,87 @@ ) where import Language.Haskell.Exts.Build-import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.Comments import Language.Haskell.Exts.Parser-import Language.Haskell.Exts.Lexer+import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.Lexer ( lexTokenStream, lexTokenStreamWithMode, Token(..) ) import Language.Haskell.Exts.Pretty-import Language.Haskell.Exts.Extension import Language.Haskell.Exts.Fixity-import Language.Haskell.Exts.Comments+import Language.Haskell.Exts.ExactPrint+import Language.Haskell.Exts.SrcLoc+import Language.Haskell.Exts.Extension import Data.List+import Data.Maybe (fromMaybe) import Language.Preprocessor.Unlit+import System.IO -- | Parse a source file on disk, using the default parse mode.-parseFile :: FilePath -> IO (ParseResult Module)+parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo)) parseFile fp = parseFileWithMode (defaultParseMode { parseFilename = fp }) fp -- | Parse a source file on disk, with an extra set of extensions to know about -- on top of what the file itself declares.-parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult Module)-parseFileWithExts exts fp = parseFileWithMode (defaultParseMode { extensions = exts, parseFilename = fp }) fp+parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))+parseFileWithExts exts fp =+ parseFileWithMode (defaultParseMode {+ extensions = exts,+ parseFilename = fp }) fp -- | Parse a source file on disk, supplying a custom parse mode.-parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult Module)-parseFileWithMode p fp = readFile fp >>= (return . parseFileContentsWithMode p)+parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo))+parseFileWithMode p fp = readUTF8File fp >>= return . parseFileContentsWithMode p --- | Parse a source file on disk, supplying a custom parse mode, and retaining comments.-parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment]))-parseFileWithComments p fp = readFile fp >>= (return . parseFileContentsWithComments p)+parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))+parseFileWithComments p fp = readUTF8File fp >>= return . parseFileContentsWithComments p +-- | Parse a source file on disk, supplying a custom parse mode, and retaining comments+-- as well as unknown pragmas.+parseFileWithCommentsAndPragmas+ :: ParseMode -> FilePath+ -> IO (ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma]))+parseFileWithCommentsAndPragmas p fp =+ readUTF8File fp >>= return . parseFileContentsWithCommentsAndPragmas p++-- | Parse a source file from a string using a custom parse mode retaining comments+-- as well as unknown pragmas.+parseFileContentsWithCommentsAndPragmas+ :: ParseMode -> String+ -> ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma])+parseFileContentsWithCommentsAndPragmas pmode str = separatePragmas parseResult+ where parseResult = parseFileContentsWithComments pmode str+ -- | Parse a source file from a string using the default parse mode.-parseFileContents :: String -> ParseResult Module+parseFileContents :: String -> ParseResult (Module SrcSpanInfo) parseFileContents = parseFileContentsWithMode defaultParseMode -- | Parse a source file from a string, with an extra set of extensions to know about -- on top of what the file itself declares.-parseFileContentsWithExts :: [Extension] -> String -> ParseResult Module-parseFileContentsWithExts exts = parseFileContentsWithMode (defaultParseMode { extensions = exts })+parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)+parseFileContentsWithExts exts =+ parseFileContentsWithMode (defaultParseMode { extensions = exts }) -- | Parse a source file from a string using a custom parse mode.-parseFileContentsWithMode :: ParseMode -> String -> ParseResult Module-parseFileContentsWithMode p@(ParseMode fn oldLang exts ign _ _) rawStr =+parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)+parseFileContentsWithMode p@(ParseMode fn oldLang exts ign _ _ _) rawStr = let md = delit fn $ ppContents rawStr- (bLang, extraExts) = + (bLang, extraExts) = case (ign, readExtensions md) of- (False, Just (mLang, es)) -> - (case mLang of {Nothing -> oldLang;Just newLang -> newLang}, es)+ (False, Just (mLang, es)) ->+ (fromMaybe oldLang mLang, es) _ -> (oldLang, [])- in parseWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md+ in -- trace (fn ++ ": " ++ show extraExts) $+ parseModuleWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md --- | Parse a source file from a string using a custom parse mode and retaining comments.-parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module, [Comment])-parseFileContentsWithComments p@(ParseMode fn oldLang exts ign _ _) rawStr =+parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])+parseFileContentsWithComments p@(ParseMode fn oldLang exts ign _ _ _) rawStr = let md = delit fn $ ppContents rawStr- (bLang, extraExts) = + (bLang, extraExts) = case (ign, readExtensions md) of- (False, Just (mLang, es)) -> - (case mLang of {Nothing -> oldLang;Just newLang -> newLang}, es)+ (False, Just (mLang, es)) ->+ (fromMaybe oldLang mLang, es) _ -> (oldLang, [])- in parseWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md---{-- | Gather the extensions declared in LANGUAGE pragmas--- at the top of the file. Returns 'Nothing' if the--- parse of the pragmas fails.-readExtensions :: String -> Maybe [Extension]-readExtensions str = case getTopPragmas str of- ParseOk pgms -> Just (concatMap getExts pgms)- _ -> Nothing- where getExts :: ModulePragma -> [Extension]- getExts (LanguagePragma _ ns) = map readExt ns- getExts _ = []-- readExt (Ident e) = classifyExtension e -}+ in parseModuleWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md -- | Gather the extensions declared in LANGUAGE pragmas -- at the top of the file. Returns 'Nothing' if the@@ -117,11 +129,11 @@ readExtensions str = case getTopPragmas str of ParseOk pgms -> extractLang $ concatMap getExts pgms _ -> Nothing- where getExts :: ModulePragma -> [Either Language Extension]+ where getExts :: ModulePragma l -> [Either Language Extension] getExts (LanguagePragma _ ns) = map readExt ns getExts _ = [] - readExt (Ident e) = + readExt (Ident _ e) = case classifyLanguage e of UnknownLanguage _ -> Right $ classifyExtension e lang -> Left lang@@ -143,3 +155,26 @@ delit :: String -> String -> String delit fn = if ".lhs" `isSuffixOf` fn then unlit fn else id++readUTF8File :: FilePath -> IO String+readUTF8File fp = do+ h <- openFile fp ReadMode+ hSetEncoding h utf8+ c <- hGetContents h >>= \s -> length s `seq` return s+ hClose h+ return c++-- | Converts a parse result with comments to a parse result with comments and+-- unknown pragmas.+separatePragmas :: ParseResult (Module SrcSpanInfo, [Comment])+ -> ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma])+separatePragmas r =+ case r of+ ParseOk (m, comments) ->+ let (pragmas, comments') = partition pragLike comments+ in ParseOk (m, comments', map commentToPragma pragmas)+ where commentToPragma (Comment _ l s) =+ UnknownPragma l $ init $ drop 1 s+ pragLike (Comment b _ s) = b && pcond s+ pcond s = length s > 1 && take 1 s == "#" && last s == '#'+ ParseFailed l s -> ParseFailed l s
− src/Language/Haskell/Exts/Annotated.hs
@@ -1,147 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts--- Copyright : (c) Niklas Broberg 2004-2009--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ An umbrella module for the various functionality--- of the package. Also provides some convenient--- functionality for dealing directly with source files.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated (- -- * Re-exported modules- module Language.Haskell.Exts.Annotated.Syntax- , module Language.Haskell.Exts.Annotated.Build- , module Language.Haskell.Exts.Parser- , module Language.Haskell.Exts.Lexer- , module Language.Haskell.Exts.Pretty- , module Language.Haskell.Exts.Annotated.Fixity- , module Language.Haskell.Exts.Annotated.ExactPrint- , module Language.Haskell.Exts.SrcLoc- , module Language.Haskell.Exts.Comments- , module Language.Haskell.Exts.Extension- -- * Parsing of Haskell source files- , parseFile- , parseFileWithMode- , parseFileWithExts- , parseFileWithComments- , parseFileContents- , parseFileContentsWithMode- , parseFileContentsWithExts- , parseFileContentsWithComments- -- * Parsing of Haskell source elements,- , parseModule, parseModuleWithMode, parseModuleWithComments- , parseExp, parseExpWithMode, parseExpWithComments- , parseStmt, parseStmtWithMode, parseStmtWithComments- , parsePat, parsePatWithMode, parsePatWithComments- , parseDecl, parseDeclWithMode, parseDeclWithComments- , parseType, parseTypeWithMode, parseTypeWithComments- -- * Read extensions declared in LANGUAGE pragmas- , readExtensions- ) where--import Language.Haskell.Exts.Annotated.Build-import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.Parser ( Parseable(..), ParseResult(..), fromParseResult, ParseMode(..), defaultParseMode )-import Language.Haskell.Exts.Lexer ( lexTokenStream, lexTokenStreamWithMode, Token(..) )-import Language.Haskell.Exts.Pretty-import Language.Haskell.Exts.Annotated.Fixity-import Language.Haskell.Exts.Annotated.ExactPrint-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Extension-import Language.Haskell.Exts.Comments--import Language.Haskell.Exts.InternalParser--import Data.List-import Language.Preprocessor.Unlit---- | Parse a source file on disk, using the default parse mode.-parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo))-parseFile fp = parseFileWithMode (defaultParseMode { parseFilename = fp }) fp---- | Parse a source file on disk, with an extra set of extensions to know about--- on top of what the file itself declares.-parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))-parseFileWithExts exts fp = - parseFileWithMode (defaultParseMode { - extensions = exts, - parseFilename = fp }) fp---- | Parse a source file on disk, supplying a custom parse mode.-parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo))-parseFileWithMode p fp = readFile fp >>= (return . parseFileContentsWithMode p)--parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))-parseFileWithComments p fp = readFile fp >>= (return . parseFileContentsWithComments p)---- | Parse a source file from a string using the default parse mode.-parseFileContents :: String -> ParseResult (Module SrcSpanInfo)-parseFileContents = parseFileContentsWithMode defaultParseMode---- | Parse a source file from a string, with an extra set of extensions to know about--- on top of what the file itself declares.-parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)-parseFileContentsWithExts exts = - parseFileContentsWithMode (defaultParseMode { extensions = exts })---- | Parse a source file from a string using a custom parse mode.-parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)-parseFileContentsWithMode p@(ParseMode fn oldLang exts ign _ _) rawStr =- let md = delit fn $ ppContents rawStr- (bLang, extraExts) = - case (ign, readExtensions md) of- (False, Just (mLang, es)) -> - (case mLang of {Nothing -> oldLang;Just newLang -> newLang}, es)- _ -> (oldLang, [])- in -- trace (fn ++ ": " ++ show extraExts) $- parseModuleWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md--parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])-parseFileContentsWithComments p@(ParseMode fn oldLang exts ign _ _) rawStr =- let md = delit fn $ ppContents rawStr- (bLang, extraExts) = - case (ign, readExtensions md) of- (False, Just (mLang, es)) -> - (case mLang of {Nothing -> oldLang;Just newLang -> newLang}, es)- _ -> (oldLang, [])- in parseModuleWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md---- | Gather the extensions declared in LANGUAGE pragmas--- at the top of the file. Returns 'Nothing' if the--- parse of the pragmas fails.-readExtensions :: String -> Maybe (Maybe Language, [Extension])-readExtensions str = case getTopPragmas str of- ParseOk pgms -> extractLang $ concatMap getExts pgms- _ -> Nothing- where getExts :: ModulePragma l -> [Either Language Extension]- getExts (LanguagePragma _ ns) = map readExt ns- getExts _ = []-- readExt (Ident _ e) = - case classifyLanguage e of- UnknownLanguage _ -> Right $ classifyExtension e- lang -> Left lang- readExt Symbol {} = error "readExt: Symbol"-- extractLang = extractLang' Nothing []-- extractLang' lacc eacc [] = Just (lacc, eacc)- extractLang' Nothing eacc (Left l : rest) = extractLang' (Just l) eacc rest- extractLang' (Just l1) eacc (Left l2:rest)- | l1 == l2 = extractLang' (Just l1) eacc rest- | otherwise = Nothing- extractLang' lacc eacc (Right ext : rest) = extractLang' lacc (ext:eacc) rest--ppContents :: String -> String-ppContents = unlines . f . lines- where f (('#':_):rest) = rest- f x = x--delit :: String -> String -> String-delit fn = if ".lhs" `isSuffixOf` fn then unlit fn else id
− src/Language/Haskell/Exts/Annotated/Build.hs
@@ -1,291 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Build--- Copyright : (c) The GHC Team, 1997-2000,--- (c) Niklas Broberg 2004--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : experimental--- Portability : portable------ This module contains combinators to use when building--- Haskell source trees programmatically, as opposed to--- parsing them from a string. The contents here are quite--- experimental and will likely receive a lot of attention--- when the rest has stabilised.-----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Build (-- -- * Syntax building functions- name, -- :: String -> Name- sym, -- :: String -> Name- var, -- :: Name -> Exp- op, -- :: Name -> QOp- qvar, -- :: Module -> Name -> Exp- pvar, -- :: Name -> Pat- app, -- :: Exp -> Exp -> Exp- infixApp, -- :: Exp -> QOp -> Exp -> Exp- appFun, -- :: Exp -> [Exp] -> Exp- pApp, -- :: Name -> [Pat] -> Pat- tuple, -- :: [Exp] -> Exp- pTuple, -- :: [Pat] -> Pat- varTuple, -- :: [Name] -> Exp- pvarTuple, -- :: [Name] -> Pat- function, -- :: String -> Exp- strE, -- :: String -> Exp- charE, -- :: Char -> Exp- intE, -- :: Integer -> Exp- strP, -- :: String -> Pat- charP, -- :: Char -> Pat- intP, -- :: Integer -> Pat- doE, -- :: [Stmt] -> Exp- lamE, -- :: SrcLoc -> [Pat] -> Exp -> Exp- letE, -- :: [Decl] -> Exp -> Exp- caseE, -- :: Exp -> [Alt] -> Exp- alt, -- :: SrcLoc -> Pat -> Exp -> Alt- altGW, -- :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt- listE, -- :: [Exp] -> Exp- eList, -- :: Exp- peList, -- :: Pat- paren, -- :: Exp -> Exp- pParen, -- :: Pat -> Pat- qualStmt, -- :: Exp -> Stmt- genStmt, -- :: SrcLoc -> Pat -> Exp -> Stmt- letStmt, -- :: [Decl] -> Stmt- binds, -- :: [Decl] -> Binds- noBinds, -- :: Binds- wildcard, -- :: Pat- genNames, -- :: String -> Int -> [Name]-- -- * More advanced building- sfun, -- :: SrcLoc -> Name -> [Name] -> Rhs -> Binds -> Decl- simpleFun, -- :: SrcLoc -> Name -> Name -> Exp -> Decl- patBind, -- :: SrcLoc -> Pat -> Exp -> Decl- patBindWhere, -- :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl- nameBind, -- :: SrcLoc -> Name -> Exp -> Decl- metaFunction, -- :: String -> [Exp] -> Exp- metaConPat -- :: String -> [Pat] -> Pat- ) where--import Language.Haskell.Exts.Annotated.Syntax---------------------------------------------------------------------------------- Help functions for Abstract syntax---- | An identifier with the given string as its name.--- The string should be a valid Haskell identifier.-name :: l -> String -> Name l-name = Ident---- | A symbol identifier. The string should be a valid--- Haskell symbol identifier.-sym :: l -> String -> Name l-sym = Symbol---- | A local variable as expression.-var :: l -> Name l -> Exp l-var l = Var l . UnQual l---- | Use the given identifier as an operator.-op :: l -> Name l -> QOp l-op l = QVarOp l . UnQual l---- | A qualified variable as expression.-qvar :: l -> ModuleName l -> Name l -> Exp l-qvar l m = Var l . Qual l m---- | A pattern variable.-pvar :: l -> Name l -> Pat l-pvar = PVar---- | Application of expressions by juxtaposition.-app :: l -> Exp l -> Exp l -> Exp l-app = App---- | Apply an operator infix.-infixApp :: l -> Exp l -> QOp l -> Exp l -> Exp l-infixApp = InfixApp---- | Apply a function to a list of arguments.-appFun :: [l] -> Exp l -> [Exp l] -> Exp l-appFun _ f [] = f-appFun (l:ls) f (a:as) = appFun ls (app l f a) as-appFun [] f (_:_) = error "haskell-src-exts: Build: appFun: too few annotations supplied"---- | A constructor pattern, with argument patterns.-pApp :: l -> Name l -> [Pat l] -> Pat l-pApp l n = PApp l (UnQual l n)---- | A tuple expression.-tuple :: l -> [Exp l] -> Exp l-tuple l = Tuple l Boxed---- | A tuple pattern.-pTuple :: l -> [Pat l] -> Pat l-pTuple l = PTuple l Boxed---- | A tuple expression consisting of variables only.-varTuple :: l -> [Name l] -> Exp l-varTuple l ns = tuple l $ map (var l) ns---- | A tuple pattern consisting of variables only.-pvarTuple :: l -> [Name l] -> Pat l-pvarTuple l ns = pTuple l $ map (pvar l) ns---- | A function with a given name.-function :: l -> String -> Exp l-function l = var l . Ident l---- | A literal string expression.-strE :: l -> String -> Exp l-strE l s = Lit l $ String l s s---- | A literal character expression.-charE :: l -> Char -> Exp l-charE l c = Lit l $ Char l c [c]---- | A literal integer expression.-intE :: l -> Integer -> Exp l-intE l i = Lit l $ Int l i (show i)---- | A literal string pattern.-strP :: l -> String -> Pat l-strP l s = PLit l $ String l s s---- | A literal character pattern.-charP :: l -> Char -> Pat l-charP l c = PLit l $ Char l c [c]---- | A literal integer pattern.-intP :: l -> Integer -> Pat l-intP l i = PLit l $ Int l i (show i)---- | A do block formed by the given statements.--- The last statement in the list should be--- a 'Qualifier' expression.-doE :: l -> [Stmt l] -> Exp l-doE = Do---- | Lambda abstraction, given a list of argument--- patterns and an expression body.-lamE :: l -> [Pat l] -> Exp l -> Exp l-lamE = Lambda---- | A @let@ ... @in@ block.-letE :: l -> [Decl l] -> Exp l -> Exp l-letE l ds e = Let l (binds l ds) e---- | A @case@ expression.-caseE :: l -> Exp l -> [Alt l] -> Exp l-caseE = Case---- | An unguarded alternative in a @case@ expression.-alt :: l -> Pat l -> Exp l -> Alt l-alt l p e = Alt l p (unGAlt l e) Nothing---- | An alternative with a single guard in a @case@ expression.-altGW :: l -> Pat l -> [Stmt l] -> Exp l -> Binds l -> Alt l-altGW l p gs e w = Alt l p (gAlt l gs e) (Just w)---- | An unguarded righthand side of a @case@ alternative.-unGAlt :: l -> Exp l -> GuardedAlts l-unGAlt = UnGuardedAlt---- | An list of guarded righthand sides for a @case@ alternative.-gAlts :: l -> [([Stmt l], Exp l)] -> GuardedAlts l-gAlts l as = GuardedAlts l $ map (\(gs,e) -> GuardedAlt l gs e) as---- | A single guarded righthand side for a @case@ alternative.-gAlt :: l -> [Stmt l] -> Exp l -> GuardedAlts l-gAlt l gs e = gAlts l [(gs,e)]---- | A list expression.-listE :: l -> [Exp l] -> Exp l-listE = List---- | The empty list expression.-eList :: l -> Exp l-eList l = List l []---- | The empty list pattern.-peList :: l -> Pat l-peList l = PList l []---- | Put parentheses around an expression.-paren :: l -> Exp l -> Exp l-paren = Paren---- | Put parentheses around a pattern.-pParen :: l -> Pat l -> Pat l-pParen = PParen---- | A qualifier expression statement.-qualStmt :: l -> Exp l -> Stmt l-qualStmt = Qualifier---- | A generator statement: /pat/ @<-@ /exp/-genStmt :: l -> Pat l -> Exp l -> Stmt l-genStmt = Generator---- | A @let@ binding group as a statement.-letStmt :: l -> [Decl l] -> Stmt l-letStmt l ds = LetStmt l $ binds l ds---- | Hoist a set of declarations to a binding group.-binds :: l -> [Decl l] -> Binds l-binds = BDecls---- | An empty binding group.-noBinds :: l -> Binds l-noBinds l = binds l []---- | The wildcard pattern: @_@-wildcard :: l -> Pat l-wildcard = PWildCard---- | Generate k names by appending numbers 1 through k to a given string.-genNames :: l -> String -> Int -> [Name l]-genNames l s k = [ Ident l $ s ++ show i | i <- [1..k] ]------------------------------------------------------------------------------------ Some more specialised help functions---- | A function with a single clause-sfun :: l -> Name l -> [Name l] -> Rhs l -> Maybe (Binds l) -> Decl l-sfun l f pvs rhs mbs = FunBind l [Match l f (map (pvar l) pvs) rhs mbs]---- | A function with a single clause, a single argument, no guards--- and no where declarations-simpleFun :: l -> Name l -> Name l -> Exp l -> Decl l-simpleFun l f a e = let rhs = UnGuardedRhs l e- in sfun l f [a] rhs Nothing---- | A pattern bind where the pattern is a variable, and where--- there are no guards and no 'where' clause.-patBind :: l -> Pat l -> Exp l -> Decl l-patBind l p e = let rhs = UnGuardedRhs l e- in PatBind l p Nothing rhs Nothing---- | A pattern bind where the pattern is a variable, and where--- there are no guards, but with a 'where' clause.-patBindWhere :: l -> Pat l -> Exp l -> [Decl l] -> Decl l-patBindWhere l p e ds = let rhs = UnGuardedRhs l e- in PatBind l p Nothing rhs (Just $ binds l ds)---- | Bind an identifier to an expression.-nameBind :: l -> Name l -> Exp l -> Decl l-nameBind l n e = patBind l (pvar l n) e---- | Apply function of a given name to a list of arguments.-metaFunction :: l -> String -> [Exp l] -> Exp l-metaFunction l s es = mf l s (reverse es)- where mf l s [] = var l $ name l s- mf l s (e:es) = app l (mf l s es) e---- | Apply a constructor of a given name to a list of pattern--- arguments, forming a constructor pattern.-metaConPat :: l -> String -> [Pat l] -> Pat l-metaConPat l s ps = pApp l (name l s) ps
− src/Language/Haskell/Exts/Annotated/ExactPrint.hs
@@ -1,1885 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.ExactPrint--- Copyright : (c) Niklas Broberg 2009--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ Exact-printer for Haskell abstract syntax. The input is a (semi-concrete)--- abstract syntax tree, annotated with exact source information to enable--- printing the tree exactly as it was parsed.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.ExactPrint- ( exactPrint- , ExactP- ) where--import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Comments--import Control.Monad (when, liftM, ap)-import Control.Applicative (Applicative(..))-import Control.Arrow ((***), (&&&))-import Data.List (intersperse)---- import Debug.Trace (trace)----------------------------------------------------------- The EP monad and basic combinators--type Pos = (Int,Int)--pos :: (SrcInfo loc) => loc -> Pos-pos ss = (startLine ss, startColumn ss)--newtype EP x = EP (Pos -> [Comment] -> (x, Pos, [Comment], ShowS))--instance Functor EP where- fmap = liftM- -instance Applicative EP where- pure = return- (<*>) = ap--instance Monad EP where- return x = EP $ \l cs -> (x, l, cs, id)-- EP m >>= k = EP $ \l0 c0 -> let- (a, l1, c1, s1) = m l0 c0- EP f = k a- (b, l2, c2, s2) = f l1 c1- in (b, l2, c2, s1 . s2)--runEP :: EP () -> [Comment] -> String-runEP (EP f) cs = let (_,_,_,s) = f (1,1) cs in s ""--getPos :: EP Pos-getPos = EP (\l cs -> (l,l,cs,id))--setPos :: Pos -> EP ()-setPos l = EP (\_ cs -> ((),l,cs,id))--printString :: String -> EP ()-printString str = EP (\(l,c) cs -> ((), (l,c+length str), cs, showString str))--getComment :: EP (Maybe Comment)-getComment = EP $ \l cs ->- let x = case cs of- c:_ -> Just c- _ -> Nothing- in (x, l, cs, id)--dropComment :: EP ()-dropComment = EP $ \l cs ->- let cs' = case cs of- (_:cs) -> cs- _ -> cs- in ((), l, cs', id)--newLine :: EP ()-newLine = do- (l,_) <- getPos- printString "\n"- setPos (l+1,1)--padUntil :: Pos -> EP ()-padUntil (l,c) = do- (l1,c1) <- getPos- case {- trace (show ((l,c), (l1,c1))) -} () of- _ {-()-} | l1 >= l && c1 <= c -> printString $ replicate (c - c1) ' '- | l1 < l -> newLine >> padUntil (l,c)- | otherwise -> return ()---mPrintComments :: Pos -> EP ()-mPrintComments p = do- mc <- getComment- case mc of- Nothing -> return ()- Just (Comment multi s str) ->- when (pos s < p) $ do- dropComment- padUntil (pos s)- printComment multi str- setPos (srcSpanEndLine s, srcSpanEndColumn s)- mPrintComments p--printComment :: Bool -> String -> EP ()-printComment b str- | b = printString $ "{-" ++ str ++ "-}"- | otherwise = printString $ "--" ++ str--printWhitespace :: Pos -> EP ()-printWhitespace p = mPrintComments p >> padUntil p--printStringAt :: Pos -> String -> EP ()-printStringAt p str = printWhitespace p >> printString str--errorEP :: String -> EP a-errorEP = fail----------------------------------------------------------------------------------- Printing of source elements---- | Print an AST exactly as specified by the annotations on the nodes in the tree.-exactPrint :: (ExactP ast) => ast SrcSpanInfo -> [Comment] -> String-exactPrint ast cs = runEP (exactPC ast) cs--exactPC :: (ExactP ast) => ast SrcSpanInfo -> EP ()-exactPC ast = let p = pos (ann ast) in mPrintComments p >> padUntil p >> exactP ast--printSeq :: [(Pos, EP ())] -> EP ()-printSeq [] = return ()-printSeq ((p,pr):xs) = printWhitespace p >> pr >> printSeq xs--printStrs :: SrcInfo loc => [(loc, String)] -> EP ()-printStrs = printSeq . map (pos *** printString)--printPoints :: SrcSpanInfo -> [String] -> EP ()-printPoints l = printStrs . zip (srcInfoPoints l)--printInterleaved, printInterleaved' :: (Annotated ast, ExactP ast, SrcInfo loc) => [(loc, String)] -> [ast SrcSpanInfo] -> EP ()-printInterleaved sistrs asts = printSeq $- interleave (map (pos *** printString ) sistrs)- (map (pos . ann &&& exactP) asts)--printInterleaved' sistrs (a:asts) = exactPC a >> printInterleaved sistrs asts-printInterleaved' _ _ = internalError--printStreams :: [(Pos, EP ())] -> [(Pos, EP ())] -> EP ()-printStreams [] ys = printSeq ys-printStreams xs [] = printSeq xs-printStreams (x@(p1,ep1):xs) (y@(p2,ep2):ys)- | p1 <= p2 = printWhitespace p1 >> ep1 >> printStreams xs (y:ys)- | otherwise = printWhitespace p2 >> ep2 >> printStreams (x:xs) ys---interleave :: [a] -> [a] -> [a]-interleave [] ys = ys-interleave xs [] = xs-interleave (x:xs) (y:ys) = x:y: interleave xs ys--maybeEP :: (a -> EP ()) -> Maybe a -> EP ()-maybeEP = maybe (return ())--bracketList :: (Annotated ast, ExactP ast) => (String, String, String) -> [SrcSpan] -> [ast SrcSpanInfo] -> EP ()-bracketList (a,b,c) poss asts = printInterleaved (pList poss (a,b,c)) asts--pList (p:ps) (a,b,c) = (p,a) : pList' ps (b,c)-pList _ _ = internalError-pList' [] _ = []-pList' [p] (_,c) = [(p,c)]-pList' (p:ps) (b,c) = (p, b) : pList' ps (b,c)--parenList, squareList, curlyList, parenHashList :: (Annotated ast, ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()-parenList = bracketList ("(",",",")")-squareList = bracketList ("[",",","]")-curlyList = bracketList ("{",",","}")-parenHashList = bracketList ("(#",",","#)")--layoutList :: (Functor ast, Show (ast ()), Annotated ast, ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()-layoutList poss asts = printStreams- (map (pos *** printString) $ lList poss)- (map (pos . ann &&& exactP) asts)--lList (p:ps) = (if isNullSpan p then (p,"") else (p,"{")) : lList' ps-lList _ = internalError-lList' [] = []-lList' [p] = [if isNullSpan p then (p,"") else (p,"}")]-lList' (p:ps) = (if isNullSpan p then (p,"") else (p,";")) : lList' ps--printSemi :: SrcSpan -> EP ()-printSemi p = do- printWhitespace (pos p)- when (not $ isNullSpan p) $ printString ";"-------------------------------------------------------- Exact printing--class Annotated ast => ExactP ast where- exactP :: ast SrcSpanInfo -> EP ()--instance ExactP Literal where- exactP lit = case lit of- Char _ _ rw -> printString ('\'':rw ++ "\'")- String _ _ rw -> printString ('\"':rw ++ "\"")- Int _ _ rw -> printString (rw)- Frac _ _ rw -> printString (rw)- PrimInt _ _ rw -> printString (rw ++ "#" )- PrimWord _ _ rw -> printString (rw ++ "##")- PrimFloat _ _ rw -> printString (rw ++ "#" )- PrimDouble _ _ rw -> printString (rw ++ "##")- PrimChar _ _ rw -> printString ('\'':rw ++ "\'#" )- PrimString _ _ rw -> printString ('\"':rw ++ "\"#" )--instance ExactP ModuleName where- exactP (ModuleName l str) = printString str--instance ExactP SpecialCon where- exactP sc = case sc of- UnitCon l -> printPoints l ["(",")"]- ListCon l -> printPoints l ["[","]"]- FunCon l -> printPoints l ["(","->",")"]- TupleCon l b n -> printPoints l $- case b of- Unboxed -> "(#": replicate (n-1) "," ++ ["#)"]- _ -> "(" : replicate (n-1) "," ++ [")"]- Cons l -> printString ":"- UnboxedSingleCon l -> printPoints l ["(#","#)"]--isSymbol :: Name l -> Bool-isSymbol (Symbol _ _) = True-isSymbol _ = False--getName :: QName l -> Name l-getName (UnQual _ s) = s-getName (Qual _ _ s) = s-getName (Special l (Cons _)) = Symbol l ":"-getName (Special l (FunCon _)) = Symbol l "->"-getName (Special l s) = Ident l (specialName s)--specialName :: SpecialCon l -> String-specialName (UnitCon _) = "()"-specialName (ListCon _) = "[]"-specialName (FunCon _) = "->"-specialName (TupleCon _ b n) = "(" ++ hash ++ replicate (n-1) ',' ++ hash ++ ")"- where hash = case b of- Unboxed -> "#"- _ -> ""-specialName (Cons _) = ":"-specialName (UnboxedSingleCon _) = "(# #)"--instance ExactP QName where- exactP qn- | isSymbol (getName qn) = do- case srcInfoPoints (ann qn) of- [a,b,c] -> do- printString "("- printWhitespace (pos b)- epQName qn- printStringAt (pos c) ")"- _ -> errorEP "ExactP: QName is given wrong number of srcInfoPoints"- | otherwise = epQName qn--epQName :: QName SrcSpanInfo -> EP ()-epQName qn = case qn of- Qual l mn n -> exactP mn >> printString "." >> epName n- UnQual l n -> epName n- Special l sc -> exactP sc--epInfixQName :: QName SrcSpanInfo -> EP ()-epInfixQName qn- | isSymbol (getName qn) = printWhitespace (pos (ann qn)) >> epQName qn- | otherwise = do- case srcInfoPoints (ann qn) of- [a,b,c] -> do- printStringAt (pos a) "`"- printWhitespace (pos b)- epQName qn- printStringAt (pos c) "`"- _ -> errorEP "ExactP: QName (epInfixName) is given wrong number of srcInfoPoints"--instance ExactP Name where- exactP n = case n of- Ident l str -> printString str- Symbol l str -> do- case srcInfoPoints l of- [a,b,c] -> do- printString "("- printWhitespace (pos b)- printString str- printStringAt (pos c) ")"- _ -> errorEP "ExactP: Name is given wrong number of srcInfoPoints"--epName :: Name SrcSpanInfo -> EP ()-epName (Ident _ str) = printString str-epName (Symbol _ str) = printString str--epInfixName :: Name SrcSpanInfo -> EP ()-epInfixName n- | isSymbol n = printWhitespace (pos (ann n)) >> epName n- | otherwise = do- case srcInfoPoints (ann n) of- [a,b,c] -> do- printStringAt (pos a) "`"- printWhitespace (pos b)- epName n- printStringAt (pos c) "`"- _ -> errorEP "ExactP: Name (epInfixName) is given wrong number of srcInfoPoints"--instance ExactP IPName where- exactP ipn = case ipn of- IPDup l str -> printString $ '?':str- IPLin l str -> printString $ '%':str--instance ExactP QOp where- exactP qop = case qop of- QVarOp l qn -> epInfixQName qn- QConOp l qn -> epInfixQName qn--instance ExactP Op where- exactP op = case op of- VarOp l n -> epInfixName n- ConOp l n -> epInfixName n----instance ExactP CName where- exactP cn = case cn of- VarName l n -> exactP n- ConName l n -> exactP n--instance ExactP ExportSpec where- exactP espec = case espec of- EVar l qn -> exactP qn- EAbs l qn -> exactP qn- EThingAll l qn -> exactP qn >> printPoints l ["(","..",")"]- EThingWith l qn cns ->- let k = length (srcInfoPoints l)- in exactP qn >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns- EModuleContents l mn -> printString "module" >> exactPC mn--instance ExactP ExportSpecList where- exactP (ExportSpecList l ess) =- let k = length (srcInfoPoints l)- in printInterleaved (zip (srcInfoPoints l) $ "(": replicate (k-2) "," ++ [")"]) ess--instance ExactP ImportSpecList where- exactP (ImportSpecList l hid ispecs) = do- let pts = srcInfoPoints l- pts <- if hid then do- let (x:pts') = pts- printStringAt (pos x) "hiding"- return pts'- else return pts- let k = length pts- printInterleaved (zip pts $ "(": replicate (k-2) "," ++ [")"]) ispecs--instance ExactP ImportSpec where- exactP ispec = case ispec of- IVar l n -> exactP n- IAbs l n -> exactP n- IThingAll l n -> exactP n >> printPoints l ["(","..",")"]- IThingWith l n cns ->- let k = length (srcInfoPoints l)- in exactP n >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns--instance ExactP ImportDecl where- exactP (ImportDecl l mn qf src mpkg mas mispecs) = do- printString "import"- case srcInfoPoints l of- (a:pts) -> do- pts <- if src then- case pts of- x:y:pts' -> do- printStringAt (pos x) "{-# SOURCE"- printStringAt (pos y) "#-}"- return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"- else return pts- pts <- if qf then- case pts of- x:pts' -> do- printStringAt (pos x) "qualified"- return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"- else return pts- pts <- case mpkg of- Just pkg ->- case pts of- x:pts' -> do- printStringAt (pos x) $ show pkg- return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"- _ -> return pts- exactPC mn- pts <- case mas of- Just as ->- case pts of- x:pts' -> do- printStringAt (pos x) "as"- exactPC as- return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"- _ -> return pts- case mispecs of- Nothing -> return ()- Just ispecs -> exactPC ispecs- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"--instance ExactP Module where- exactP mdl = case mdl of- Module l mmh oss ids decls -> do- let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)- layoutList oPts oss- maybeEP exactPC mmh- printStreams (map (pos *** printString) $ lList pts)- (map (pos . ann &&& exactPC) ids ++ map (pos . ann &&& exactPC) (sepFunBinds decls))- XmlPage l _mn oss xn attrs mat es -> do- let (oPts, pPts) = splitAt (max (length oss + 1) 2) $ srcInfoPoints l- case pPts of- [a,b,c,d,e] -> do- layoutList oPts oss- printStringAt (pos a) "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC es- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- _ -> errorEP "ExactP: Module: XmlPage is given wrong number of srcInfoPoints"- XmlHybrid l mmh oss ids decls xn attrs mat es -> do- let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)- layoutList oPts oss- maybeEP exactPC mmh- let (dPts, pPts) = splitAt (length pts - 5) pts- case pPts of- [a,b,c,d,e] -> do- printStreams (map (\(p,s) -> (pos p, printString s)) $ lList dPts)- (map (\i -> (pos $ ann i, exactPC i)) ids ++ map (\d -> (pos $ ann d, exactPC d)) (sepFunBinds decls))-- printStringAt (pos a) "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC es- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- _ -> errorEP "ExactP: Module: XmlHybrid is given wrong number of srcInfoPoints"--instance ExactP ModuleHead where- exactP (ModuleHead l mn mwt mess) = do- case srcInfoPoints l of- [a,b] -> do- printStringAt (pos a) "module"- exactPC mn- maybeEP exactPC mwt- maybeEP exactPC mess- printStringAt (pos b) "where"- _ -> errorEP "ExactP: ModuleHead is given wrong number of srcInfoPoints"--instance ExactP ModulePragma where- exactP op = case op of- LanguagePragma l ns ->- let pts = srcInfoPoints l- k = length ns - 1 -- number of commas- m = length pts - k - 2 -- number of virtual semis, likely 0- in printInterleaved (zip pts ("{-# LANGUAGE":replicate k "," ++ replicate m "" ++ ["#-}"])) ns- OptionsPragma l mt str ->- let k = length (srcInfoPoints l)- opstr = "{-# OPTIONS" ++ case mt of { Just t -> "_" ++ show t ; _ -> "" } ++ " " ++ str- in printPoints l $ opstr : replicate (k-2) "" ++ ["#-}"]- AnnModulePragma l ann ->- case srcInfoPoints l of- [a,b] -> do- printString $ "{-# ANN"- exactPC ann- printStringAt (pos b) "#-}"- _ -> errorEP "ExactP: ModulePragma: AnnPragma is given wrong number of srcInfoPoints"--instance ExactP WarningText where- exactP (DeprText l str) = printPoints l ["{-# DEPRECATED", str, "#-}"]- exactP (WarnText l str) = printPoints l ["{-# WARNING", str, "#-}"]--instance ExactP Assoc where- exactP a = case a of- AssocNone l -> printString "infix"- AssocLeft l -> printString "infixl"- AssocRight l -> printString "infixr"--instance ExactP DataOrNew where- exactP (DataType l) = printString "data"- exactP (NewType l) = printString "newtype"--instance ExactP Decl where- exactP decl = case decl of- TypeDecl l dh t ->- case srcInfoPoints l of- [a,b] -> do- printStringAt (pos a) "type"- exactPC dh- printStringAt (pos b) "="- exactPC t- _ -> errorEP "ExactP: Decl: TypeDecl is given wrong number of srcInfoPoints"- TypeFamDecl l dh mk ->- case srcInfoPoints l of- a:b:ps -> do- printStringAt (pos a) "type"- printStringAt (pos b) "family"- exactPC dh- maybeEP (\k -> printStringAt (pos (head ps)) "::" >> exactPC k) mk- _ -> errorEP "ExactP: Decl: TypeFamDecl is given wrong number of srcInfoPoints"- DataDecl l dn mctxt dh constrs mder -> do- exactP dn- maybeEP exactPC mctxt- exactPC dh- -- the next line works for empty data types since the srcInfoPoints will be empty then- printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs- maybeEP exactPC mder- GDataDecl l dn mctxt dh mk gds mder -> do- let pts = srcInfoPoints l- exactP dn- maybeEP exactPC mctxt- exactPC dh- pts <- case mk of- Nothing -> return pts- Just kd -> case pts of- p:pts' -> do- printStringAt (pos p) "::"- exactPC kd- return pts'- _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"- case pts of- x:pts -> do- printStringAt (pos x) "where"- layoutList pts gds- maybeEP exactPC mder- _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"- DataFamDecl l mctxt dh mk -> do- printString "data"- maybeEP exactPC mctxt- exactPC dh- maybeEP (\kd -> printStringAt (pos (head (srcInfoPoints l))) "::" >> exactPC kd) mk- TypeInsDecl l t1 t2 ->- case srcInfoPoints l of- [a,b,c] -> do- printString "type"- printStringAt (pos b) "instance"- exactPC t1- printStringAt (pos c) "="- exactPC t2- _ -> errorEP "ExactP: Decl: TypeInsDecl is given wrong number of srcInfoPoints"- DataInsDecl l dn t constrs mder ->- case srcInfoPoints l of- p:pts -> do- exactP dn- printStringAt (pos p) "instance"- exactPC t- printInterleaved (zip pts ("=": repeat "|")) constrs- maybeEP exactPC mder- _ -> errorEP "ExactP: Decl: DataInsDecl is given too few srcInfoPoints"- GDataInsDecl l dn t mk gds mder ->- case srcInfoPoints l of- p:pts -> do- exactP dn- printStringAt (pos p) "instance"- exactPC t- pts <- case mk of- Nothing -> return pts- Just kd -> case pts of- p:pts' -> do- printStringAt (pos p) "::"- exactPC kd- return pts'- _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"- case pts of- x:pts -> do- printStringAt (pos x) "where"- layoutList pts gds- maybeEP exactPC mder- _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"- _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"- ClassDecl l mctxt dh fds mcds ->- case srcInfoPoints l of- a:pts -> do- printString "class"- maybeEP exactPC mctxt- exactPC dh- pts <- case fds of- [] -> return pts- _ -> do- let (pts1, pts2) = splitAt (length fds) pts- printInterleaved (zip pts1 ("|":repeat ",")) fds- return pts2- maybeEP (\cds ->- case pts of- p:pts' -> do- printStringAt (pos p) "where"- layoutList pts' $ sepClassFunBinds cds- _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"- ) mcds- _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"- InstDecl l mctxt ih mids ->- case srcInfoPoints l of- a:pts -> do- printString "instance"- maybeEP exactPC mctxt- exactPC ih- maybeEP (\ids -> do- let (p:pts') = pts- printStringAt (pos p) "where"- layoutList pts' $ sepInstFunBinds ids- ) mids- _ -> errorEP "ExactP: Decl: InstDecl is given too few srcInfoPoints"- DerivDecl l mctxt ih ->- case srcInfoPoints l of- [a,b] -> do- printString "deriving"- printStringAt (pos b) "instance"- maybeEP exactPC mctxt- exactPC ih- _ -> errorEP "ExactP: Decl: DerivDecl is given wrong number of srcInfoPoints"- InfixDecl l assoc mprec ops -> do- let pts = srcInfoPoints l- exactP assoc- pts <- case mprec of- Nothing -> return pts- Just prec ->- case pts of- p:pts' -> do- printStringAt (pos p) (show prec)- return pts'- _ -> errorEP "ExactP: Decl: InfixDecl is given too few srcInfoPoints"- printInterleaved' (zip pts (repeat ",")) ops- DefaultDecl l ts ->- case srcInfoPoints l of- a:pts -> do- printString "default"- printInterleaved (zip (init pts) ("(":repeat ",")) ts- printStringAt (pos (last pts)) ")"- _ -> errorEP "ExactP: Decl: DefaultDecl is given too few srcInfoPoints"- SpliceDecl l spl -> exactP spl- TypeSig l ns t -> do- let pts = srcInfoPoints l- printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns- exactPC t- FunBind l ms -> mapM_ exactPC ms- PatBind l p mt rhs mbs -> do- let pts = srcInfoPoints l- exactP p- pts <- case mt of- Nothing -> return pts- Just t -> case pts of- x:pts'-> do- printStringAt (pos x) "::"- exactPC t- return pts'- _ -> errorEP "ExactP: Decl: PatBind is given too few srcInfoPoints"- exactPC rhs- maybeEP (\bs -> printStringAt (pos (head pts)) "where" >> exactPC bs) mbs- ForImp l cc msf mstr n t ->- case srcInfoPoints l of- a:b:pts -> do- printString "foreign"- printStringAt (pos b) "import"- exactPC cc- maybeEP exactPC msf- pts <- case mstr of- Nothing -> return pts- Just str -> case pts of- x:pts' -> do- printStringAt (pos x) (show str)- return pts'- _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"- case pts of- y:_ -> do- exactPC n- printStringAt (pos y) "::"- exactPC t- _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"- _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"- ForExp l cc mstr n t ->- case srcInfoPoints l of- a:b:pts -> do- printString "foreign"- printStringAt (pos b) "export"- exactPC cc- pts <- case mstr of- Nothing -> return pts- Just str -> case pts of- x:pts' -> do- printStringAt (pos x) (show str)- return pts'- _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"- case pts of- y:_ -> do- exactPC n- printStringAt (pos y) "::"- exactPC t- _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"- _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"- RulePragmaDecl l rs ->- case srcInfoPoints l of- [a,b] -> do- printString "{-# RULES"- mapM_ exactPC rs- printStringAt (pos b) "#-}"- _ -> errorEP "ExactP: Decl: RulePragmaDecl is given too few srcInfoPoints"- DeprPragmaDecl l nstrs ->- case srcInfoPoints l of- a:pts -> do- printString "{-# DEPRECATED"- printWarndeprs (map pos (init pts)) nstrs- printStringAt (pos (last pts)) "#-}"- _ -> errorEP "ExactP: Decl: DeprPragmaDecl is given too few srcInfoPoints"- WarnPragmaDecl l nstrs ->- case srcInfoPoints l of- a:pts -> do- printString "{-# WARNING"- printWarndeprs (map pos (init pts)) nstrs- printStringAt (pos (last pts)) "#-}"- _ -> errorEP "ExactP: Decl: WarnPragmaDecl is given too few srcInfoPoints"- InlineSig l inl mact qn ->- case srcInfoPoints l of- [a,b] -> do- printString $ if inl then "{-# INLINE" else "{-# NOINLINE"- maybeEP exactPC mact- exactPC qn- printStringAt (pos b) "#-}"- _ -> errorEP "ExactP: Decl: InlineSig is given wrong number of srcInfoPoints"- InlineConlikeSig l mact qn ->- case srcInfoPoints l of- [a,b] -> do- printString "{-# INLINE_CONLIKE"- maybeEP exactPC mact- exactPC qn- printStringAt (pos b) "#-}"- _ -> errorEP "ExactP: Decl: InlineConlikeSig is given wrong number of srcInfoPoints"- SpecSig l mact qn ts ->- case srcInfoPoints l of- a:pts -> do- printString "{-# SPECIALISE"- maybeEP exactPC mact- exactPC qn- printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts- _ -> errorEP "ExactP: Decl: SpecSig is given too few srcInfoPoints"- SpecInlineSig l b mact qn ts ->- case srcInfoPoints l of- a:pts -> do- printString $ "{-# SPECIALISE " ++ if b then "INLINE" else "NOINLINE"- maybeEP exactPC mact- exactPC qn- printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts- _ -> errorEP "ExactP: Decl: SpecInlineSig is given too few srcInfoPoints"- InstSig l mctxt ih ->- case srcInfoPoints l of- [a,b,c] -> do- printString $ "{-# SPECIALISE"- printStringAt (pos b) "instance"- maybeEP exactPC mctxt- exactPC ih- printStringAt (pos c) "#-}"- _ -> errorEP "ExactP: Decl: InstSig is given wrong number of srcInfoPoints"- AnnPragma l ann ->- case srcInfoPoints l of- [a,b] -> do- printString $ "{-# ANN"- exactPC ann- printStringAt (pos b) "#-}"- _ -> errorEP "ExactP: Decl: AnnPragma is given wrong number of srcInfoPoints"---instance ExactP Annotation where- exactP ann = case ann of- Ann l n e -> do- exactP n- exactPC e- TypeAnn l n e -> do- printString "type"- exactPC n- exactPC e- ModuleAnn l e -> do- printString "module"- exactPC e--printWarndeprs :: [Pos] -> [([Name SrcSpanInfo], String)] -> EP ()-printWarndeprs _ [] = return ()-printWarndeprs ps ((ns,str):nsts) = printWd ps ns str nsts- where printWd :: [Pos] -> [Name SrcSpanInfo] -> String -> [([Name SrcSpanInfo], String)] -> EP ()- printWd (p:ps) [] str nsts = printStringAt p (show str) >> printWarndeprs ps nsts- printWd ps [n] str nsts = exactPC n >> printWd ps [] str nsts- printWd (p:ps) (n:ns) str nsts = exactPC n >> printStringAt p "," >> printWd ps ns str nsts- printWd _ _ _ _ = internalError---sepFunBinds :: [Decl SrcSpanInfo] -> [Decl SrcSpanInfo]-sepFunBinds [] = []-sepFunBinds (FunBind _ ms:ds) = map (\m -> FunBind (ann m) [m]) ms ++ sepFunBinds ds-sepFunBinds (d:ds) = d : sepFunBinds ds--sepClassFunBinds :: [ClassDecl SrcSpanInfo] -> [ClassDecl SrcSpanInfo]-sepClassFunBinds [] = []-sepClassFunBinds (ClsDecl _ (FunBind _ ms):ds) = map (\m -> ClsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepClassFunBinds ds-sepClassFunBinds (d:ds) = d : sepClassFunBinds ds--sepInstFunBinds :: [InstDecl SrcSpanInfo] -> [InstDecl SrcSpanInfo]-sepInstFunBinds [] = []-sepInstFunBinds (InsDecl _ (FunBind _ ms):ds) = map (\m -> InsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepInstFunBinds ds-sepInstFunBinds (d:ds) = d : sepInstFunBinds ds--instance ExactP DeclHead where- exactP dh = case dh of- DHead l n tvs -> exactP n >> mapM_ exactPC tvs- DHInfix l tva n tvb -> exactP tva >> epInfixName n >> exactPC tvb- DHParen l dh ->- case srcInfoPoints l of- [_,b] -> printString "(" >> exactPC dh >> printStringAt (pos b) ")"- _ -> errorEP "ExactP: DeclHead: DeclParen is given wrong number of srcInfoPoints"--instance ExactP InstHead where- exactP ih = case ih of- IHead l qn ts -> exactP qn >> mapM_ exactPC ts- IHInfix l ta qn tb -> exactP ta >> epInfixQName qn >> exactPC tb- IHParen l ih ->- case srcInfoPoints l of- [_,b] -> printString "(" >> exactPC ih >> printStringAt (pos b) ")"- _ -> errorEP "ExactP: InstHead: IHParen is given wrong number of srcInfoPoints"--instance ExactP TyVarBind where- exactP (KindedVar l n k) =- case srcInfoPoints l of- [a,b,c] -> do- printString "("- exactPC n- printStringAt (pos b) "::"- exactPC k- printStringAt (pos c) ")"- _ -> errorEP "ExactP: TyVarBind: KindedVar is given wrong number of srcInfoPoints"- exactP (UnkindedVar l n) = exactP n--instance ExactP Kind where- exactP kd = case kd of- KindStar l -> printString "*"- KindBang l -> printString "!"- KindFn l k1 k2 ->- case srcInfoPoints l of- [a] -> do- exactP k1- printStringAt (pos a) "->"- exactPC k2- _ -> errorEP "ExactP: Kind: KindFn is given wrong number of srcInfoPoints"- KindParen l kd -> do- case srcInfoPoints l of- [a,b] -> do- printString "("- exactPC kd- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Kind: KindParen is given wrong number of srcInfoPoints"- KindVar l n -> epQName n- KindApp l k1 k2 -> do- exactP k1- exactPC k2- KindTuple l ks ->- let o = "("- e = ")"- pts = srcInfoPoints l- in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) ks- KindList l ks ->- let o = "["- e = "]"- pts = srcInfoPoints l- in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) ks----instance ExactP Type where- exactP t = case t of- TyForall l mtvs mctxt t -> do- let pts = srcInfoPoints l- pts <- case mtvs of- Nothing -> return pts- Just tvs ->- case pts of- a:b:pts' -> do- printString "forall"- mapM_ exactPC tvs- printStringAt (pos b) "."- return pts'- _ -> errorEP "ExactP: Type: TyForall is given too few srcInfoPoints"- maybeEP exactPC mctxt- exactPC t- TyFun l t1 t2 -> do- case srcInfoPoints l of- [a] -> do- exactP t1- printStringAt (pos a) "->"- exactPC t2- _ -> errorEP "ExactP: Type: TyFun is given wrong number of srcInfoPoints"- TyTuple l bx ts -> do- case bx of- Boxed -> parenList (srcInfoPoints l) ts- Unboxed -> parenHashList (srcInfoPoints l) ts- TyList l t -> do- case srcInfoPoints l of- [a,b] -> do- printString "["- exactPC t- printStringAt (pos b) "]"- _ -> errorEP "ExactP: Type: TyList is given wrong number of srcInfoPoints"- TyApp l t1 t2 -> exactP t1 >> exactPC t2- TyVar l n -> exactP n- TyCon l qn -> exactP qn- TyParen l t -> do- case srcInfoPoints l of- [a,b] -> do- printString "("- exactPC t- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Type: TyParen is given wrong number of srcInfoPoints"- TyInfix l t1 qn t2 -> exactP t1 >> epInfixQName qn >> exactPC t2- TyKind l t kd -> do- case srcInfoPoints l of- [a,b,c] -> do- printString "("- exactPC t- printStringAt (pos b) "::"- exactPC kd- printStringAt (pos c) ")"- _ -> errorEP "ExactP: Type: TyKind is given wrong number of srcInfoPoints"- TyPromoted l p -> exactPC p--instance ExactP Promoted where- exactP (PromotedInteger _ _ rw) = printString rw- exactP (PromotedString _ _ rw) = printString ('\"':rw ++ "\"")- exactP (PromotedCon l True qn) = case srcInfoPoints l of- [a] -> (printStringAt (pos a) "'") >> epQName qn- _ -> errorEP "ExactP: Promoted: PromotedCon is given wrong number of srcInfoPoints"- exactP (PromotedCon l False qn) = epQName qn- exactP (PromotedList l b pl) =- let o | b = "'[" | otherwise = "["- e = "]"- pts = srcInfoPoints l- in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl- exactP (PromotedTuple l pl) =- let o = "'("- e = ")"- pts = srcInfoPoints l- in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl- exactP (PromotedUnit l) = case srcInfoPoints l of- [a,b] -> do- printString "("- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Promoted: PromotedUnit is given wrong number of srcInfoPoints"---instance ExactP Context where- exactP ctxt = do- printContext ctxt- printStringAt (pos . last . srcInfoPoints . ann $ ctxt) "=>"--printContext ctxt = do- let l = ann ctxt- pts = init $ srcInfoPoints l- case ctxt of- CxParen l ctxt ->- case pts of- [a,b] -> do- printStringAt (pos a) "("- printContext ctxt- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Context: CxParen is given wrong number of srcInfoPoints"- CxSingle l asst -> exactP asst- CxEmpty l ->- case pts of- [a,b] -> do- printStringAt (pos a) "("- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Context: CxEmpty is given wrong number of srcInfoPoints"- CxTuple l assts -> parenList pts assts---instance ExactP Asst where- exactP asst = case asst of- ClassA l qn ts -> exactP qn >> mapM_ exactPC ts- InfixA l ta qn tb -> exactP ta >> epInfixQName qn >> exactPC tb- IParam l ipn t ->- case srcInfoPoints l of- [a] -> do- exactP ipn- printStringAt (pos a) "::"- exactPC t- _ -> errorEP "ExactP: Asst: IParam is given wrong number of srcInfoPoints"- EqualP l t1 t2 ->- case srcInfoPoints l of- [a] -> do- exactP t1- printStringAt (pos a) "~"- exactPC t2- _ -> internalError--instance ExactP Deriving where- exactP (Deriving l ihs) =- case srcInfoPoints l of- x:pts -> do- printString "deriving"- case pts of- [] -> exactPC $ head ihs- _ -> parenList pts ihs- _ -> errorEP "ExactP: Deriving is given too few srcInfoPoints"--instance ExactP ClassDecl where- exactP cdecl = case cdecl of- ClsDecl l d -> exactP d- ClsDataFam l mctxt dh mk ->- case srcInfoPoints l of- x:pts -> do- printString "data"- maybeEP exactPC mctxt- exactPC dh- maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk- _ -> errorEP "ExactP: ClassDecl: ClsDataFam is given too few srcInfoPoints"- ClsTyFam l dh mk ->- case srcInfoPoints l of- x:pts -> do- printString "type"- exactPC dh- maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk- _ -> errorEP "ExactP: ClassDecl: ClsTyFam is given too few srcInfoPoints"- ClsTyDef l t1 t2 ->- case srcInfoPoints l of- a:b:pts -> do- printString "type"- exactPC t1- printStringAt (pos b) "="- exactPC t2- _ -> errorEP "ExactP: ClassDecl: ClsTyDef is given too few srcInfoPoints"--instance ExactP InstDecl where- exactP idecl = case idecl of- InsDecl l d -> exactP d- InsType l t1 t2 ->- case srcInfoPoints l of- [a,b] -> do- printString "type"- exactPC t1- printStringAt (pos b) "="- exactPC t2- _ -> internalError- InsData l dn t constrs mder -> do- exactP dn- exactPC t- printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs- maybeEP exactPC mder- InsGData l dn t mk gds mder -> do- let pts = srcInfoPoints l- exactP dn- exactPC t- pts <- case mk of- Nothing -> return pts- Just kd -> case pts of- p:pts' -> do- printStringAt (pos p) "::"- exactPC kd- return pts'- _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"- case pts of- x:_ -> do- printStringAt (pos x) "where"- mapM_ exactPC gds- maybeEP exactPC mder- _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"--- InsInline l inl mact qn -> do--- case srcInfoPoints l of--- [a,b] -> do--- printString $ if inl then "{-# INLINE" else "{-# NOINLINE"--- maybeEP exactPC mact--- exactPC qn--- printStringAt (pos b) "#-}"--- _ -> errorEP "ExactP: InstDecl: InsInline is given wrong number of srcInfoPoints"--instance ExactP FunDep where- exactP (FunDep l nxs nys) =- case srcInfoPoints l of- [a] -> do- mapM_ exactPC nxs- printStringAt (pos a) "->"- mapM_ exactPC nys- _ -> errorEP "ExactP: FunDep is given wrong number of srcInfoPoints"--instance ExactP QualConDecl where- exactP (QualConDecl l mtvs mctxt cd) = do- let pts = srcInfoPoints l- pts <- case mtvs of- Nothing -> return pts- Just tvs ->- case pts of- a:b:pts' -> do- printString "forall"- mapM_ exactPC tvs- printStringAt (pos b) "."- return pts'- _ -> errorEP "ExactP: QualConDecl is given wrong number of srcInfoPoints"- maybeEP exactPC mctxt- exactPC cd--instance ExactP ConDecl where- exactP cd = case cd of- ConDecl l n bts -> exactP n >> mapM_ exactPC bts- InfixConDecl l bta n btb -> exactP bta >> epInfixName n >> exactP btb- RecDecl l n fds -> exactP n >> curlyList (srcInfoPoints l) fds--instance ExactP GadtDecl where- exactP (GadtDecl l n t) =- case srcInfoPoints l of- [a] -> do- exactP n- printStringAt (pos a) "::"- exactPC t- _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"--instance ExactP BangType where- exactP bt = case bt of- UnBangedTy l t -> exactP t- BangedTy l t -> printString "!" >> exactPC t- UnpackedTy l t ->- case srcInfoPoints l of- [a,b,c] -> do- printString "{-# UNPACK"- printStringAt (pos b) "#-}"- printStringAt (pos c) "!"- exactPC t- _ -> errorEP "ExactP: BangType: UnpackedTy is given wrong number of srcInfoPoints"--instance ExactP Splice where- exactP (IdSplice l str) = printString $ '$':str- exactP (ParenSplice l e) =- case srcInfoPoints l of- [a,b] -> do- printString "$("- exactPC e- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Splice: ParenSplice is given wrong number of srcInfoPoints"--instance ExactP Exp where- exactP exp = case exp of- Var l qn -> exactP qn- IPVar l ipn -> exactP ipn- Con l qn -> exactP qn- Lit l lit -> exactP lit- InfixApp l e1 op e2 -> exactP e1 >> exactPC op >> exactPC e2- App l e1 e2 -> exactP e1 >> exactPC e2- NegApp l e -> printString "-" >> exactPC e- Lambda l ps e ->- case srcInfoPoints l of- [a,b] -> do- printString "\\"- mapM_ exactPC ps- printStringAt (pos b) "->"- exactPC e- _ -> errorEP "ExactP: Exp: Lambda is given wrong number of srcInfoPoints"- Let l bs e ->- case srcInfoPoints l of- [a,b] -> do- printString "let"- exactPC bs- printStringAt (pos b) "in"- exactPC e- _ -> errorEP "ExactP: Exp: Let is given wrong number of srcInfoPoints"- If l ec et ee -> -- traceShow (srcInfoPoints l) $ do- -- First we need to sort out if there are any optional- -- semicolons hiding among the srcInfoPoints.- case srcInfoPoints l of- (pIf:b:c:rest) -> do- let (mpSemi1,pThen,rest2) =- if snd (spanSize b) == 4 -- this is "then", not a semi- then (Nothing, b, c:rest)- else (Just b, c, rest)- case rest2 of- (c:rest3) -> do- let (mpSemi2,rest4) = if snd (spanSize c) == 4 -- this is "else", not a semi- then (Nothing, rest2)- else (Just c, rest3)- case rest4 of- [pElse] -> do- -- real work starts here:- printString "if"- exactPC ec- maybeEP printSemi mpSemi1- printStringAt (pos pThen) "then"- exactPC et- maybeEP printSemi mpSemi2- printStringAt (pos pElse) "else"- exactPC ee- [] -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"- _ -> errorEP "ExactP: Exp: If is given too many srcInfoPoints"- _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"-- _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"- MultiIf l alts ->- case srcInfoPoints l of- a:pts -> do- printString "if"- layoutList pts alts- _ -> internalError- Case l e alts ->- case srcInfoPoints l of- a:b:pts -> do- printString "case"- exactPC e- printStringAt (pos b) "of"- layoutList pts alts- _ -> errorEP "ExactP: Exp: Case is given too few srcInfoPoints"- Do l stmts ->- case srcInfoPoints l of- a:pts -> do- printString "do"- layoutList pts stmts- _ -> errorEP "ExactP: Exp: Do is given too few srcInfoPoints"- MDo l stmts ->- case srcInfoPoints l of- a:pts -> do- printString "mdo"- layoutList pts stmts- _ -> errorEP "ExactP: Exp: Mdo is given wrong number of srcInfoPoints"- Tuple l bx es ->- case bx of- Boxed -> parenList (srcInfoPoints l) es- Unboxed -> parenHashList (srcInfoPoints l) es- TupleSection l bx mexps -> do- let pts = srcInfoPoints l- (o, e) = case bx of Boxed -> ("(", ")"); Unboxed -> ("(#", "#)")- printSeq $ interleave (zip (map pos $ init pts) (map printString (o: repeat ",")) ++ [(pos $ last pts, printString e)])- (map (maybe (0,0) (pos . ann) &&& maybeEP exactPC) mexps)- List l es -> squareList (srcInfoPoints l) es- Paren l p -> parenList (srcInfoPoints l) [p]- LeftSection l e qop ->- case srcInfoPoints l of- [a,b] -> do- printString "("- exactPC e- exactPC qop- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Exp: LeftSection is given wrong number of srcInfoPoints"- RightSection l qop e ->- case srcInfoPoints l of- [a,b] -> do- printString "("- exactPC qop- exactPC e- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Exp: RightSection is given wrong number of srcInfoPoints"- RecConstr l qn fups -> do- let pts = srcInfoPoints l- exactP qn- curlyList pts fups- RecUpdate l e fups -> do- let pts = srcInfoPoints l- exactP e- curlyList pts fups- EnumFrom l e ->- case srcInfoPoints l of- [a,b,c] -> do- printString "["- exactPC e- printStringAt (pos b) ".."- printStringAt (pos c) "]"- _ -> errorEP "ExactP: Exp: EnumFrom is given wrong number of srcInfoPoints"- EnumFromTo l e1 e2 ->- case srcInfoPoints l of- [a,b,c] -> do- printString "["- exactPC e1- printStringAt (pos b) ".."- exactPC e2- printStringAt (pos c) "]"- _ -> errorEP "ExactP: Exp: EnumFromTo is given wrong number of srcInfoPoints"- EnumFromThen l e1 e2 ->- case srcInfoPoints l of- [a,b,c,d] -> do- printString "["- exactPC e1- printStringAt (pos b) ","- exactPC e2- printStringAt (pos c) ".."- printStringAt (pos d) "]"- _ -> errorEP "ExactP: Exp: EnumFromThen is given wrong number of srcInfoPoints"- EnumFromThenTo l e1 e2 e3 ->- case srcInfoPoints l of- [a,b,c,d] -> do- printString "["- exactPC e1- printStringAt (pos b) ","- exactPC e2- printStringAt (pos c) ".."- exactPC e3- printStringAt (pos d) "]"- _ -> errorEP "ExactP: Exp: EnumFromToThen is given wrong number of srcInfoPoints"- ListComp l e qss ->- case srcInfoPoints l of- a:pts -> do- printString "["- exactPC e- bracketList ("|",",","]") pts qss- _ -> errorEP "ExactP: Exp: ListComp is given too few srcInfoPoints"- ParComp l e qsss ->- case srcInfoPoints l of- a:pts -> do- let (strs, qss) = unzip $ pairUp qsss- printString "["- exactPC e- printInterleaved (zip pts (strs ++ ["]"])) qss- _ -> errorEP "ExactP: Exp: ParComp is given wrong number of srcInfoPoints"- where pairUp [] = []- pairUp ((a:as):xs) = ("|", a) : zip (repeat ",") as ++ pairUp xs- pairUp _ = internalError-- ExpTypeSig l e t ->- case srcInfoPoints l of- [a] -> do- exactP e- printStringAt (pos a) "::"- exactPC t- _ -> errorEP "ExactP: Exp: ExpTypeSig is given wrong number of srcInfoPoints"- VarQuote l qn -> do- printString "'"- exactPC qn- TypQuote l qn -> do- printString "''"- exactPC qn- BracketExp l br -> exactP br- SpliceExp l sp -> exactP sp- QuasiQuote l name qt -> do- let qtLines = lines qt- printString $ "[" ++ name ++ "|"- sequence_ (intersperse newLine $ map printString qtLines)- printString "|]"- XTag l xn attrs mat es -> do- case srcInfoPoints l of- [a,b,c,d,e] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC es- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- -- TODO: Fugly hack/duplication, should be refactored- -- For the case when there's an optional semicolon- [a,b,semi,c,d,e] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC es- printSemi semi- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- _ -> errorEP "ExactP: Exp: XTag is given wrong number of srcInfoPoints"- XETag l xn attrs mat ->- case srcInfoPoints l of- [a,b] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) "/>"- _ -> errorEP "ExactP: Exp: XETag is given wrong number of srcInfoPoints"- XPcdata l str -> do- let strLines = lines str- sequence_ (intersperse newLine $ map printString strLines)- XExpTag l e ->- case srcInfoPoints l of- [a,b] -> do- printString "<%"- exactPC e- printStringAt (pos b) "%>"- _ -> errorEP "ExactP: Exp: XExpTag is given wrong number of srcInfoPoints"- XChildTag l es ->- case srcInfoPoints l of- [a,b,c] -> do- printString "<%>"- mapM_ exactPC es- printStringAt (pos b) "</"- printStringAt (pos c) "%>"- -- Ugly duplication for when there's an optional semi- [a,semi,b,c] -> do- printString "<%>"- mapM_ exactPC es- printSemi semi- printStringAt (pos b) "</"- printStringAt (pos c) "%>"- _ -> errorEP "ExactP: Exp: XChildTag is given wrong number of srcInfoPoints"- CorePragma l str e ->- case srcInfoPoints l of- [a,b] -> do- printString $ "{-# CORE " ++ show str- printStringAt (pos b) "#-}"- exactPC e- _ -> errorEP "ExactP: Exp: CorePragma is given wrong number of srcInfoPoints"- SCCPragma l str e ->- case srcInfoPoints l of- [a,b] -> do- printString $ "{-# SCC " ++ show str- printStringAt (pos b) "#-}"- exactPC e- _ -> errorEP "ExactP: Exp: SCCPragma is given wrong number of srcInfoPoints"- GenPragma l str (i1,i2) (i3,i4) e -> do- printStrs $ zip (srcInfoPoints l) ["{-# GENERATED", show str, show i1, ":", show i2, "-", show i3, ":", show i4, "#-}"]- exactPC e- Proc l p e ->- case srcInfoPoints l of- [a,b] -> do- printString "proc"- exactPC p- printStringAt (pos b) "->"- exactPC e- _ -> errorEP "ExactP: Exp: Proc is given wrong number of srcInfoPoints"- LeftArrApp l e1 e2 ->- case srcInfoPoints l of- [a] -> do- exactP e1- printStringAt (pos a) "-<"- exactPC e2- _ -> errorEP "ExactP: Exp: LeftArrApp is given wrong number of srcInfoPoints"- RightArrApp l e1 e2 -> do- case srcInfoPoints l of- [a] -> do- exactP e1- printStringAt (pos a) ">-"- exactPC e2- _ -> errorEP "ExactP: Exp: RightArrApp is given wrong number of srcInfoPoints"- LeftArrHighApp l e1 e2 -> do- case srcInfoPoints l of- [a] -> do- exactP e1- printStringAt (pos a) "-<<"- exactPC e2- _ -> errorEP "ExactP: Exp: LeftArrHighApp is given wrong number of srcInfoPoints"- RightArrHighApp l e1 e2 -> do- case srcInfoPoints l of- [a] -> do- exactP e1- printStringAt (pos a) ">>-"- exactPC e2- _ -> errorEP "ExactP: Exp: RightArrHighApp is given wrong number of srcInfoPoints"-- LCase l alts ->- case srcInfoPoints l of- a:b:pts -> do- printString "\\"- printStringAt (pos b) "case"- layoutList pts alts- _ -> errorEP "ExactP: Exp: LCase is given wrong number of srcInfoPoints"--instance ExactP FieldUpdate where- exactP fup = case fup of- FieldUpdate l qn e -> do- case srcInfoPoints l of- [a] -> do- exactP qn- printStringAt (pos a) "="- exactPC e- _ -> errorEP "ExactP: FieldUpdate is given wrong number of srcInfoPoints"- FieldPun l n -> exactP n- FieldWildcard l -> printString ".."--instance ExactP Stmt where- exactP stmt = case stmt of- Generator l p e ->- case srcInfoPoints l of- [a] -> do- exactP p- printStringAt (pos a) "<-"- exactPC e- _ -> errorEP "ExactP: Stmt: Generator is given wrong number of srcInfoPoints"- Qualifier l e -> exactP e- LetStmt l bds -> do- printString "let"- exactPC bds- RecStmt l ss ->- case srcInfoPoints l of- a:pts -> do- printString "rec"- layoutList pts ss- _ -> errorEP "ExactP: Stmt: RecStmt is given too few srcInfoPoints"--instance ExactP QualStmt where- exactP qstmt = case qstmt of- QualStmt l stmt -> exactP stmt- ThenTrans l e -> printString "then" >> exactPC e- ThenBy l e1 e2 -> do- case srcInfoPoints l of- [a,b] -> do- printString "then"- exactPC e1- printStringAt (pos b) "by"- exactPC e2- _ -> errorEP "ExactP: QualStmt: ThenBy is given wrong number of srcInfoPoints"- GroupBy l e -> do- printStrs $ zip (srcInfoPoints l) ["then","group","by"]- exactPC e- GroupUsing l e -> do- printStrs $ zip (srcInfoPoints l) ["then","group","using"]- exactPC e- GroupByUsing l e1 e2 -> do- let pts = srcInfoPoints l- printStrs $ zip (init pts) ["then","group","by"]- exactPC e1- printStringAt (pos (last pts)) "using"- exactPC e2--instance ExactP Bracket where- exactP br = case br of- ExpBracket l e ->- case srcInfoPoints l of- [a,b] -> do- printString "[|"- exactPC e- printStringAt (pos b) "|]"- _ -> errorEP "ExactP: Bracket: ExpBracket is given wrong number of srcInfoPoints"- PatBracket l p ->- case srcInfoPoints l of- [a,b] -> do- printString "[p|"- exactPC p- printStringAt (pos b) "|]"- _ -> errorEP "ExactP: Bracket: PatBracket is given wrong number of srcInfoPoints"- TypeBracket l t -> do- case srcInfoPoints l of- [a,b] -> do- printString "[t|"- exactPC t- printStringAt (pos b) "|]"- _ -> errorEP "ExactP: Bracket: TypeBracket is given wrong number of srcInfoPoints"- DeclBracket l ds ->- case srcInfoPoints l of- a:pts -> do- printString "[d|"- layoutList (init pts) (sepFunBinds ds)- printStringAt (pos (last pts)) "|]"- _ -> errorEP "ExactP: Bracket: DeclBracket is given too few srcInfoPoints"--instance ExactP XAttr where- exactP (XAttr l xn e) =- case srcInfoPoints l of- [a] -> do- exactP xn- printStringAt (pos a) "="- exactPC e- _ -> errorEP "ExactP: XAttr is given wrong number of srcInfoPoints"--instance ExactP Alt where- exactP (Alt l p galts mbs) = do- exactP p- exactPC galts- maybeEP (\bs -> printStringAt (pos (head (srcInfoPoints l))) "where" >> exactPC bs) mbs--instance ExactP GuardedAlts where- exactP (UnGuardedAlt l e) = printString "->" >> exactPC e- exactP (GuardedAlts l galts) = mapM_ exactPC galts--instance ExactP GuardedAlt where- exactP (GuardedAlt l stmts e) = do- bracketList ("|",",","->") (srcInfoPoints l) stmts- exactPC e--instance ExactP IfAlt where- exactP (IfAlt l e1 e2) =- case srcInfoPoints l of- a:b:pts -> do- printString "|"- exactPC e1- printStringAt (pos b) "->"- exactPC e2- _ -> internalError--instance ExactP Match where- exactP (Match l n ps rhs mbinds) = do- let pts = srcInfoPoints l- len = length pts- pars = len `div` 2- (oPars,cParsWh) = splitAt pars pts- (cPars,whPt) = splitAt pars cParsWh -- whPt is either singleton or empty- printStrs (zip oPars (repeat "("))- exactPC n- printStreams (zip (map pos cPars) (repeat $ printString ")")) (map (pos . ann &&& exactPC) ps)- exactPC rhs- maybeEP (\bds -> printStringAt (pos (head pts)) "where" >> exactPC bds) mbinds- exactP (InfixMatch l a n bs rhs mbinds) = do- let pts = srcInfoPoints l- len = length pts- pars = len `div` 2- (oPars,cParsWh) = splitAt pars pts- (cPars,whPt) = splitAt pars cParsWh -- whPt is either singleton or empty- printStrs (zip oPars (repeat "("))- exactPC a- epInfixName n- printInterleaved' (zip cPars (repeat ")")) bs- exactPC rhs- maybeEP (\bds -> printStringAt (pos (head whPt)) "where" >> exactPC bds) mbinds--instance ExactP Rhs where- exactP (UnGuardedRhs l e) = printString "=" >> exactPC e- exactP (GuardedRhss l grhss) = mapM_ exactPC grhss--instance ExactP GuardedRhs where- exactP (GuardedRhs l ss e) =- case srcInfoPoints l of- a:pts -> do- printString "|"- printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "=")]) ss- exactPC e- _ -> errorEP "ExactP: GuardedRhs is given wrong number of srcInfoPoints"--instance ExactP Pat where- exactP pat = case pat of- PVar l n -> exactP n- PLit l lit -> exactP lit- PNeg l p -> printString "-" >> exactPC p- PNPlusK l n k ->- case srcInfoPoints l of- [a,b] -> do- exactP n- printStringAt (pos a) "+"- printStringAt (pos b) (show k)- _ -> errorEP "ExactP: Pat: PNPlusK is given wrong number of srcInfoPoints"- PInfixApp l pa qn pb -> exactP pa >> epInfixQName qn >> exactPC pb- PApp l qn ps -> exactP qn >> mapM_ exactPC ps- PTuple l bx ps ->- case bx of- Boxed -> parenList (srcInfoPoints l) ps- Unboxed -> parenHashList (srcInfoPoints l) ps- PList l ps -> squareList (srcInfoPoints l) ps- PParen l p -> parenList (srcInfoPoints l) [p]- PRec l qn pfs -> exactP qn >> curlyList (srcInfoPoints l) pfs- PAsPat l n p ->- case srcInfoPoints l of- [a] -> do- exactP n- printStringAt (pos a) "@"- exactPC p- _ -> errorEP "ExactP: Pat: PAsPat is given wrong number of srcInfoPoints"- PWildCard l -> printString "_"- PIrrPat l p -> printString "~" >> exactPC p- PatTypeSig l p t ->- case srcInfoPoints l of- [a] -> do- exactP p- printStringAt (pos a) "::"- exactPC t- _ -> errorEP "ExactP: Pat: PatTypeSig is given wrong number of srcInfoPoints"- PViewPat l e p ->- case srcInfoPoints l of- [a] -> do- exactP e- printStringAt (pos a) "->"- exactPC p- _ -> errorEP "ExactP: Pat: PViewPat is given wrong number of srcInfoPoints"- PRPat l rps -> squareList (srcInfoPoints l) rps- PXTag l xn attrs mat ps ->- case srcInfoPoints l of- [a,b,c,d,e] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC ps- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- -- Optional semi- [a,b,semi,c,d,e] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC ps- printSemi semi- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- _ -> errorEP "ExactP: Pat: PXTag is given wrong number of srcInfoPoints"- PXETag l xn attrs mat ->- case srcInfoPoints l of- [a,b] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) "/>"- _ -> errorEP "ExactP: Pat: PXETag is given wrong number of srcInfoPoints"- PXPcdata l str -> printString str- PXPatTag l p ->- case srcInfoPoints l of- [a,b] -> do- printString "<%"- exactPC p- printString "%>"- _ -> errorEP "ExactP: Pat: PXPatTag is given wrong number of srcInfoPoints"- PXRPats l rps -> bracketList ("<[",",","]>") (srcInfoPoints l) rps- PQuasiQuote l name qt -> printString $ "[$" ++ name ++ "|" ++ qt ++ "]"- PBangPat l p -> printString "!" >> exactPC p--instance ExactP PatField where- exactP pf = case pf of- PFieldPat l qn p ->- case srcInfoPoints l of- [a] -> do- exactP qn- printStringAt (pos a) "="- exactPC p- _ -> errorEP "ExactP: PatField: PFieldPat is given wrong number of srcInfoPoints"- PFieldPun l n -> exactP n- PFieldWildcard l -> printString ".."--instance ExactP RPat where- exactP rpat = case rpat of- RPOp l rp op -> exactP rp >> exactPC op- RPEither l r1 r2 ->- case srcInfoPoints l of- [a] -> do- exactP r1- printStringAt (pos a) "|"- exactPC r2- _ -> errorEP "ExactP: RPat: RPEither is given wrong number of srcInfoPoints"- RPSeq l rps -> bracketList ("(|",",","|)") (srcInfoPoints l) rps- RPGuard l p stmts ->- case srcInfoPoints l of- a:pts -> do- printString "(|"- exactPC p- bracketList ("|",",","|)") pts stmts- _ -> errorEP "ExactP: RPat: RPGuard is given wrong number of srcInfoPoints"- RPCAs l n rp ->- case srcInfoPoints l of- [a] -> do- exactP n- printStringAt (pos a) "@:"- exactPC rp- _ -> errorEP "ExactP: RPat: RPCAs is given wrong number of srcInfoPoints"- RPAs l n rp ->- case srcInfoPoints l of- [a] -> do- exactP n- printStringAt (pos a) "@"- exactPC rp- _ -> errorEP "ExactP: RPat: RPAs is given wrong number of srcInfoPoints"- RPParen l rp -> do- parenList (srcInfoPoints l) [rp]- RPPat l p -> exactP p--instance ExactP RPatOp where- exactP rop = printString $ case rop of- RPStar l -> "*"- RPStarG l -> "*!"- RPPlus l -> "+"- RPPlusG l -> "+!"- RPOpt l -> "?"- RPOptG l -> "?!"--instance ExactP PXAttr where- exactP (PXAttr l xn p) =- case srcInfoPoints l of- [a] -> do- exactP xn- printStringAt (pos a) "="- exactPC p- _ -> errorEP "ExactP: PXAttr is given wrong number of srcInfoPoints"--instance ExactP XName where- exactP xn = case xn of- XName l name -> printString name- XDomName l dom name ->- case srcInfoPoints l of- [a,b,c] -> do- printString dom- printStringAt (pos b) ":"- printStringAt (pos c) name- _ -> errorEP "ExactP: XName: XDomName is given wrong number of srcInfoPoints"--instance ExactP Binds where- exactP (BDecls l ds) = layoutList (srcInfoPoints l) (sepFunBinds ds)- exactP (IPBinds l ips) = layoutList (srcInfoPoints l) ips--instance ExactP CallConv where- exactP (StdCall _) = printString "stdcall"- exactP (CCall _) = printString "ccall"- exactP (CPlusPlus _) = printString "cplusplus"- exactP (DotNet _) = printString "dotnet"- exactP (Jvm _) = printString "jvm"- exactP (Js _) = printString "js"- exactP (CApi _) = printString "capi"--instance ExactP Safety where- exactP (PlayRisky _) = printString "unsafe"- exactP (PlaySafe _ b) = printString $ if b then "threadsafe" else "safe"- exactP (PlayInterruptible _) = printString "interruptible"--instance ExactP Rule where- exactP (Rule l str mact mrvs e1 e2) =- case srcInfoPoints l of- a:pts -> do- printString (show str)- maybeEP exactP mact- pts <- case mrvs of- Nothing -> return pts- Just rvs ->- case pts of- a:b:pts' -> do- printStringAt (pos a) "forall"- mapM_ exactPC rvs- printStringAt (pos b) "."- return pts'- _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"- case pts of- [x] -> do- exactPC e1- printStringAt (pos x) "="- exactPC e2- _ -> errorEP "ExactP: Rule is given wrong number of srcInfoPoints"- _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"--instance ExactP RuleVar where- exactP (TypedRuleVar l n t) = do- case srcInfoPoints l of- [a,b,c] -> do- printString "("- exactPC n- printStringAt (pos b) "::"- exactPC t- printStringAt (pos c) ")"- _ -> errorEP "ExactP: RuleVar: TypedRuleVar is given wrong number of srcInfoPoints"- exactP (RuleVar l n) = exactP n--instance ExactP Activation where- exactP (ActiveFrom l i) =- printPoints l ["[", show i, "]"]- exactP (ActiveUntil l i) =- printPoints l ["[", "~", show i, "]"]--instance ExactP FieldDecl where- exactP (FieldDecl l ns bt) = do- let pts = srcInfoPoints l- printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "::")]) ns- exactPC bt--instance ExactP IPBind where- exactP (IPBind l ipn e) = do- case srcInfoPoints l of- [a] -> do- exactP ipn- printStringAt (pos a) "="- exactPC e- _ -> errorEP "ExactP: IPBind is given wrong number of srcInfoPoints"---- Hopefully, this will never fire.--- If it does, hopefully by that time https://github.com/sol/rewrite-with-location--- will be implemented.--- If not, then removing all calls to internalError should give a better--- idea where the error comes from.--- So far, it's necessary to eliminate non-exhaustive patterns warnings.--- We don't want to turn them off, as we want unhandled AST nodes to be--- reported.-internalError = error "haskell-src-exts: ExactPrint: internal error (non-exhaustive pattern)"
− src/Language/Haskell/Exts/Annotated/Fixity.hs
@@ -1,351 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Fixity--- Copyright : (c) Niklas Broberg 2009--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ Fixity information to give the parser so that infix operators can--- be parsed properly.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Fixity- (- -- * Fixity representation- Fixity(..)- -- | The following three functions all create lists of- -- fixities from textual representations of operators.- -- The intended usage is e.g.- --- -- > fixs = infixr_ 0 ["$","$!","`seq`"]- --- -- Note that the operators are expected as you would- -- write them infix, i.e. with ` characters surrounding- -- /varid/ operators, and /varsym/ operators written as is.- , infix_, infixl_, infixr_- -- ** Collections of fixities- , preludeFixities, baseFixities-- -- * Applying fixities to an AST- , AppFixity(..)- ) where--import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.ParseMonad (ParseResult(..))--import Language.Haskell.Exts.Fixity ( Fixity(..), infix_, infixl_, infixr_, preludeFixities, baseFixities, prefixMinusFixity )-import qualified Language.Haskell.Exts.Syntax as S ( Assoc(..), QOp(..), Op(..), QName(..), Name(..), SpecialCon(..), ModuleName )-import Language.Haskell.Exts.Annotated.Simplify ( sQOp, sOp, sAssoc, sQName, sModuleHead, sName )--import Data.Char (isUpper)-import Control.Monad (when, (<=<), liftM, liftM2, liftM3, liftM4)-import Data.Traversable (mapM)-import Prelude hiding (mapM)---- | All AST elements that may include expressions which in turn may--- need fixity tweaking will be instances of this class.-class AppFixity ast where- -- | Tweak any expressions in the element to account for the- -- fixities given. Assumes that all operator expressions are- -- fully left associative chains to begin with.- applyFixities :: Monad m => [Fixity] -- ^ The fixities to account for.- -> ast SrcSpanInfo -- ^ The element to tweak.- -> m (ast SrcSpanInfo) -- ^ The same element, but with operator expressions updated, or a failure.---instance AppFixity Exp where- applyFixities fixs = infFix fixs <=< leafFix fixs- where -- This is the real meat case. We can assume a left-associative list to begin with.- infFix fixs (InfixApp l2 a op2 z) = do- e <- infFix fixs a- let fixup (a1,p1) (a2,p2) l1 y pre = do- when (p1 == p2 && (a1 /= a2 || a1 == S.AssocNone)) -- Ambiguous infix expression!- $ fail "Ambiguous infix expression"- if (p1 > p2 || p1 == p2 && (a1 == S.AssocLeft || a2 == S.AssocNone)) -- Already right order- then return $ InfixApp l2 e op2 z- else liftM pre (infFix fixs $ InfixApp (ann y <++> ann z) y op2 z)- case e of- InfixApp l1 x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) l1 y (InfixApp l2 x op1)- NegApp l1 y -> fixup prefixMinusFixity (askFixity fixs op2) l1 y (NegApp l2)- _ -> return $ InfixApp l2 e op2 z-- infFix _ e = return e----ambOps l = ParseFailed (getPointLoc l) $ "Ambiguous infix expression"--instance AppFixity Pat where- applyFixities fixs = infFix fixs <=< leafFixP fixs- where -- This is the real meat case. We can assume a left-associative list to begin with.- infFix fixs (PInfixApp l2 a op2 z) = do- p <- infFix fixs a- let fixup (a1,p1) (a2,p2) l1 y pre = do- when (p1 == p2 && (a1 /= a2 || a1 == S.AssocNone )) -- Ambiguous infix expression!- $ fail "Ambiguous infix expression"- if (p1 > p2 || p1 == p2 && (a1 == S.AssocLeft || a2 == S.AssocNone)) -- Already right order- then return $ PInfixApp l2 p op2 z- else liftM pre (infFix fixs $ PInfixApp (ann y <++> ann z) y op2 z)- case p of- PInfixApp l1 x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) l1 y (PInfixApp l2 x op1)- PNeg l1 y -> fixup prefixMinusFixity (askFixityP fixs op2) l1 y (PNeg l2)- _ -> return $ PInfixApp l2 p op2 z-- infFix _ p = return p---- Internal: lookup associativity and precedence of an operator-askFixity :: [Fixity] -> QOp l -> (S.Assoc, Int)-askFixity xs k = askFix xs (f $ sQOp k) -- undefined -- \k -> askFixityP xs (f k) -- lookupWithDefault (AssocLeft, 9) (f k) mp- where- f (S.QVarOp x) = g x- f (S.QConOp x) = g x-- g (S.Special S.Cons) = S.UnQual (S.Symbol ":")- g x = x---- Same using patterns-askFixityP :: [Fixity] -> QName l -> (S.Assoc, Int)-askFixityP xs qn = askFix xs (g $ sQName qn)- where- g (S.Special S.Cons) = S.UnQual (S.Symbol ":")- g x = x- -askFix :: [Fixity] -> S.QName -> (S.Assoc, Int)-askFix xs = \k -> lookupWithDefault (S.AssocLeft, 9) k mp- where- lookupWithDefault def k mp = case lookup k mp of- Nothing -> def- Just x -> x-- mp = [(x,(a,p)) | Fixity a p x <- xs]------------------------------------------------------------------------- Boilerplate - yuck!! Everything below here is internal stuff--instance AppFixity Module where- applyFixities fixs (Module l mmh prs imp decls) =- liftM (Module l mmh prs imp) $ appFixDecls (Just mn) fixs decls- where (mn, _, _) = sModuleHead mmh- applyFixities fixs (XmlPage l mn os xn xas mexp cs) =- liftM3 (XmlPage l mn os xn) (fix xas) (fix mexp) (fix cs)- where fix xs = mapM (applyFixities fixs) xs- applyFixities fixs (XmlHybrid l mmh prs imp decls xn xas mexp cs) =- liftM4 (flip (XmlHybrid l mmh prs imp) xn) (appFixDecls (Just mn) fixs decls)- (fixe xas) (fixe mexp) (fixe cs)- where fixe xs = let extraFixs = getFixities (Just mn) decls- in mapM (applyFixities (fixs++extraFixs)) xs- (mn, _, _) = sModuleHead mmh--instance AppFixity Decl where- applyFixities fixs decl = case decl of- ClassDecl l ctxt dh deps cdecls -> liftM (ClassDecl l ctxt dh deps) $ mapM (mapM fix) cdecls- InstDecl l ctxt ih idecls -> liftM (InstDecl l ctxt ih) $ mapM (mapM fix) idecls- SpliceDecl l spl -> liftM (SpliceDecl l) $ fix spl- FunBind l matches -> liftM (FunBind l) $ mapM fix matches- PatBind l p mt rhs bs -> liftM3 (flip (PatBind l) mt) (fix p) (fix rhs) (mapM fix bs)- AnnPragma l ann -> liftM (AnnPragma l) $ fix ann- _ -> return decl- where fix x = applyFixities fixs x--appFixDecls :: Monad m => Maybe S.ModuleName -> [Fixity] -> [Decl SrcSpanInfo] -> m [Decl SrcSpanInfo]-appFixDecls mmdl fixs decls =- let extraFixs = getFixities mmdl decls- in mapM (applyFixities (fixs++extraFixs)) decls--getFixities mmdl = concatMap (getFixity mmdl)-getFixity mmdl (InfixDecl _ a mp ops) = let p = maybe 9 id mp in map (Fixity (sAssoc a) p) (concatMap g ops)- where g (VarOp l x) = f $ sName x- g (ConOp l x) = f $ sName x- f x = case mmdl of- Nothing -> [ S.UnQual x]- Just m -> [S.Qual m x, S.UnQual x]-getFixity _ _ = []--instance AppFixity Annotation where- applyFixities fixs ann = case ann of- Ann l n e -> liftM (Ann l n) $ fix e- TypeAnn l n e -> liftM (TypeAnn l n) $ fix e- ModuleAnn l e -> liftM (ModuleAnn l) $ fix e- where fix x = applyFixities fixs x--instance AppFixity ClassDecl where- applyFixities fixs (ClsDecl l decl) = liftM (ClsDecl l) $ applyFixities fixs decl- applyFixities _ cdecl = return cdecl--instance AppFixity InstDecl where- applyFixities fixs (InsDecl l decl) = liftM (InsDecl l) $ applyFixities fixs decl- applyFixities _ idecl = return idecl--instance AppFixity Match where- applyFixities fixs match = case match of- Match l n ps rhs bs -> liftM3 (Match l n) (mapM fix ps) (fix rhs) (mapM fix bs)- InfixMatch l a n ps rhs bs -> liftM4 (flip (InfixMatch l) n) (fix a) (mapM fix ps) (fix rhs) (mapM fix bs)- where fix x = applyFixities fixs x--instance AppFixity Rhs where- applyFixities fixs rhs = case rhs of- UnGuardedRhs l e -> liftM (UnGuardedRhs l) $ fix e- GuardedRhss l grhss -> liftM (GuardedRhss l) $ mapM fix grhss- where fix x = applyFixities fixs x--instance AppFixity GuardedRhs where- applyFixities fixs (GuardedRhs l stmts e) = liftM2 (GuardedRhs l) (mapM fix stmts) $ fix e- where fix x = applyFixities fixs x--instance AppFixity PatField where- applyFixities fixs (PFieldPat l n p) = liftM (PFieldPat l n) $ applyFixities fixs p- applyFixities _ pf = return pf--instance AppFixity RPat where- applyFixities fixs rp = case rp of- RPOp l rp op -> liftM (flip (RPOp l) op) $ fix rp- RPEither l a b -> liftM2 (RPEither l) (fix a) (fix b)- RPSeq l rps -> liftM (RPSeq l) $ mapM fix rps- RPGuard l p stmts -> liftM2 (RPGuard l) (fix p) $ mapM fix stmts- RPCAs l n rp -> liftM (RPCAs l n) $ fix rp- RPAs l n rp -> liftM (RPAs l n) $ fix rp- RPParen l rp -> liftM (RPParen l) $ fix rp- RPPat l p -> liftM (RPPat l) $ fix p- where fix x = applyFixities fixs x--instance AppFixity PXAttr where- applyFixities fixs (PXAttr l n p) = liftM (PXAttr l n) $ applyFixities fixs p--instance AppFixity Stmt where- applyFixities fixs stmt = case stmt of- Generator l p e -> liftM2 (Generator l) (fix p) (fix e)- Qualifier l e -> liftM (Qualifier l) $ fix e- LetStmt l bs -> liftM (LetStmt l) $ fix bs -- special behavior- RecStmt l stmts -> liftM (RecStmt l) $ mapM fix stmts- where fix x = applyFixities fixs x--instance AppFixity Binds where- applyFixities fixs bs = case bs of- BDecls l decls -> liftM (BDecls l) $ appFixDecls Nothing fixs decls -- special behavior- IPBinds l ips -> liftM (IPBinds l) $ mapM fix ips- where fix x = applyFixities fixs x---instance AppFixity IPBind where- applyFixities fixs (IPBind l n e) = liftM (IPBind l n) $ applyFixities fixs e--instance AppFixity FieldUpdate where- applyFixities fixs (FieldUpdate l n e) = liftM (FieldUpdate l n) $ applyFixities fixs e- applyFixities _ fup = return fup--instance AppFixity Alt where- applyFixities fixs (Alt l p galts bs) = liftM3 (Alt l) (fix p) (fix galts) (mapM fix bs)- where fix x = applyFixities fixs x--instance AppFixity GuardedAlts where- applyFixities fixs galts = case galts of- UnGuardedAlt l e -> liftM (UnGuardedAlt l) $ fix e- GuardedAlts l galts -> liftM (GuardedAlts l) $ mapM fix galts- where fix x = applyFixities fixs x--instance AppFixity GuardedAlt where- applyFixities fixs (GuardedAlt l stmts e) = liftM2 (GuardedAlt l) (mapM fix stmts) (fix e)- where fix x = applyFixities fixs x--instance AppFixity IfAlt where- applyFixities y (IfAlt loc e1 e2) = liftM2 (IfAlt loc) (fix e1) (fix e2)- where fix x = applyFixities y x--instance AppFixity QualStmt where- applyFixities fixs qstmt = case qstmt of- QualStmt l s -> liftM (QualStmt l) $ fix s- ThenTrans l e -> liftM (ThenTrans l) $ fix e- ThenBy l e1 e2 -> liftM2 (ThenBy l) (fix e1) (fix e2)- GroupBy l e -> liftM (GroupBy l) (fix e)- GroupUsing l e -> liftM (GroupUsing l) (fix e)- GroupByUsing l e1 e2 -> liftM2 (GroupByUsing l) (fix e1) (fix e2)- where fix x = applyFixities fixs x--instance AppFixity Bracket where- applyFixities fixs br = case br of- ExpBracket l e -> liftM (ExpBracket l) $ fix e- PatBracket l p -> liftM (PatBracket l) $ fix p- DeclBracket l ds -> liftM (DeclBracket l) $ mapM fix ds- _ -> return br- where fix x = applyFixities fixs x--instance AppFixity Splice where- applyFixities fixs (ParenSplice l e) = liftM (ParenSplice l) $ applyFixities fixs e- applyFixities _ s = return s--instance AppFixity XAttr where- applyFixities fixs (XAttr l n e) = liftM (XAttr l n) $ applyFixities fixs e----- the boring boilerplate stuff for expressions too--- Recursively fixes the "leaves" of the infix chains,--- without yet touching the chain itself. We assume all chains are--- left-associate to begin with.-leafFix fixs e = case e of- InfixApp l e1 op e2 -> liftM2 (flip (InfixApp l) op) (leafFix fixs e1) (fix e2)- App l e1 e2 -> liftM2 (App l) (fix e1) (fix e2)- NegApp l e -> liftM (NegApp l) $ fix e- Lambda l pats e -> liftM2 (Lambda l) (mapM fix pats) $ fix e- Let l bs e -> liftM2 (Let l) (fix bs) $ fix e- If l e a b -> liftM3 (If l) (fix e) (fix a) (fix b)- MultiIf l alts -> liftM (MultiIf l) (mapM fix alts)- Case l e alts -> liftM2 (Case l) (fix e) $ mapM fix alts- Do l stmts -> liftM (Do l) $ mapM fix stmts- MDo l stmts -> liftM (MDo l) $ mapM fix stmts- Tuple l bx exps -> liftM (Tuple l bx) $ mapM fix exps- List l exps -> liftM (List l) $ mapM fix exps- Paren l e -> liftM (Paren l) $ fix e- LeftSection l e op -> liftM (flip (LeftSection l) op) (fix e)- RightSection l op e -> liftM (RightSection l op) $ fix e- RecConstr l n fups -> liftM (RecConstr l n) $ mapM fix fups- RecUpdate l e fups -> liftM2 (RecUpdate l) (fix e) $ mapM fix fups- EnumFrom l e -> liftM (EnumFrom l) $ fix e- EnumFromTo l e1 e2 -> liftM2 (EnumFromTo l) (fix e1) (fix e2)- EnumFromThen l e1 e2 -> liftM2 (EnumFromThen l) (fix e1) (fix e2)- EnumFromThenTo l e1 e2 e3 -> liftM3 (EnumFromThenTo l) (fix e1) (fix e2) (fix e3)- ListComp l e quals -> liftM2 (ListComp l) (fix e) $ mapM fix quals- ParComp l e qualss -> liftM2 (ParComp l) (fix e) $ mapM (mapM fix) qualss- ExpTypeSig l e t -> liftM (flip (ExpTypeSig l) t) (fix e)- BracketExp l b -> liftM (BracketExp l) $ fix b- SpliceExp l s -> liftM (SpliceExp l) $ fix s- XTag l n ats mexp cs -> liftM3 (XTag l n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)- XETag l n ats mexp -> liftM2 (XETag l n) (mapM fix ats) (mapM fix mexp)- XExpTag l e -> liftM (XExpTag l) $ fix e- XChildTag l cs -> liftM (XChildTag l) $ mapM fix cs- Proc l p e -> liftM2 (Proc l) (fix p) (fix e)- LeftArrApp l e1 e2 -> liftM2 (LeftArrApp l) (fix e1) (fix e2)- RightArrApp l e1 e2 -> liftM2 (RightArrApp l) (fix e1) (fix e2)- LeftArrHighApp l e1 e2 -> liftM2 (LeftArrHighApp l) (fix e1) (fix e2)- RightArrHighApp l e1 e2 -> liftM2 (RightArrHighApp l) (fix e1) (fix e2)- CorePragma l s e -> liftM (CorePragma l s) (fix e)- SCCPragma l s e -> liftM (SCCPragma l s) (fix e)- GenPragma l s ab cd e -> liftM (GenPragma l s ab cd) (fix e)- LCase l alts -> liftM (LCase l) $ mapM fix alts-- _ -> return e- where- fix x = applyFixities fixs x--leafFixP fixs p = case p of- PInfixApp l p1 op p2 -> liftM2 (flip (PInfixApp l) op) (leafFixP fixs p1) (fix p2)- PNeg l p -> liftM (PNeg l) $ fix p- PApp l n ps -> liftM (PApp l n) $ mapM fix ps- PTuple l bx ps -> liftM (PTuple l bx) $ mapM fix ps- PList l ps -> liftM (PList l) $ mapM fix ps- PParen l p -> liftM (PParen l) $ fix p- PRec l n pfs -> liftM (PRec l n) $ mapM fix pfs- PAsPat l n p -> liftM (PAsPat l n) $ fix p- PIrrPat l p -> liftM (PIrrPat l) $ fix p- PatTypeSig l p t -> liftM (flip (PatTypeSig l) t) (fix p)- PViewPat l e p -> liftM2 (PViewPat l) (fix e) (fix p)- PRPat l rps -> liftM (PRPat l) $ mapM fix rps- PXTag l n ats mp ps -> liftM3 (PXTag l n) (mapM fix ats) (mapM fix mp) (mapM fix ps)- PXETag l n ats mp -> liftM2 (PXETag l n) (mapM fix ats) (mapM fix mp)- PXPatTag l p -> liftM (PXPatTag l) $ fix p- PXRPats l rps -> liftM (PXRPats l) $ mapM fix rps- PBangPat l p -> liftM (PBangPat l) $ fix p- _ -> return p- where fix x = applyFixities fixs x
− src/Language/Haskell/Exts/Annotated/Simplify.hs
@@ -1,544 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Simplify--- Copyright : (c) Niklas Broberg 2009--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : experimental--- Portability : portable------ This module contains code for translating from the annotated--- complex AST in Language.Haskell.Exts.Annotated.Syntax--- to the simpler, sparsely annotated AST in Language.Haskell.Exts.Syntax.------ A function @sXYZ@ translates an annotated AST node of type @XYZ l@ into--- a simple AST node of type @XYZ@. I would have prefered to use a MPTC--- with an fd/type family to get a single exported function name, but--- I wish to stay Haskell 2010 compliant. Let's hope for Haskell 2011.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Simplify where--import Language.Haskell.Exts.Annotated.Syntax-import qualified Language.Haskell.Exts.Syntax as S--import Language.Haskell.Exts.SrcLoc---- | Translate an annotated AST node representing a Haskell module, into--- a simpler version that retains (almost) only abstract information.--- In particular, XML and hybrid XML pages enabled by the XmlSyntax extension--- are translated into standard Haskell modules with a @page@ function.-sModule :: SrcInfo loc => Module loc -> S.Module-sModule md = case md of- Module l mmh oss ids ds ->- let (mn, mwt, mes) = sModuleHead mmh- in S.Module (getPointLoc l) mn (map sModulePragma oss) mwt mes (map sImportDecl ids) (map sDecl ds)- XmlPage l mn oss xn attrs mat es ->- let loc = getPointLoc l- in S.Module loc (sModuleName mn) (map sModulePragma oss)- Nothing- (Just [S.EVar $ S.UnQual $ S.Ident "page"])- []- [pageFun loc $ S.XTag loc (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)]- XmlHybrid l mmh oss ids ds xn attrs mat es ->- let loc1 = getPointLoc l- loc2 = getPointLoc (ann xn)- (mn, mwt, mes) = sModuleHead mmh- in S.Module loc1 mn (map sModulePragma oss) mwt mes (map sImportDecl ids)- (map sDecl ds ++ [pageFun loc2 $ S.XTag loc2 (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)])- where pageFun :: SrcLoc -> S.Exp -> S.Decl- pageFun loc e = S.PatBind loc namePat Nothing rhs (S.BDecls [])- where namePat = S.PVar $ S.Ident "page"- rhs = S.UnGuardedRhs e----- | Translate an annotated AST node representing a Haskell declaration--- into a simpler version. Note that in the simpler version, all declaration--- nodes are still annotated by 'SrcLoc's.-sDecl :: SrcInfo loc => Decl loc -> S.Decl-sDecl decl = case decl of- TypeDecl l dh t ->- let (n, tvs) = sDeclHead dh- in S.TypeDecl (getPointLoc l) n tvs (sType t)- TypeFamDecl l dh mk ->- let (n, tvs) = sDeclHead dh- in S.TypeFamDecl (getPointLoc l) n tvs (fmap sKind mk)- DataDecl l dn mctxt dh constrs mder ->- let (n, tvs) = sDeclHead dh- in S.DataDecl (getPointLoc l) (sDataOrNew dn) (maybe [] sContext mctxt) n tvs (map sQualConDecl constrs) (maybe [] sDeriving mder)- GDataDecl l dn mctxt dh mk gds mder ->- let (n, tvs) = sDeclHead dh- in S.GDataDecl (getPointLoc l) (sDataOrNew dn) (maybe [] sContext mctxt) n tvs (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)- DataFamDecl l mctxt dh mk ->- let (n, tvs) = sDeclHead dh- in S.DataFamDecl (getPointLoc l) (maybe [] sContext mctxt) n tvs (fmap sKind mk)- TypeInsDecl l t1 t2 -> S.TypeInsDecl (getPointLoc l) (sType t1) (sType t2)- DataInsDecl l dn t constrs mder ->- S.DataInsDecl (getPointLoc l) (sDataOrNew dn) (sType t) (map sQualConDecl constrs) (maybe [] sDeriving mder)- GDataInsDecl l dn t mk gds mder ->- S.GDataInsDecl (getPointLoc l) (sDataOrNew dn) (sType t) (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)- ClassDecl l mctxt dh fds mcds ->- let (n, tvs) = sDeclHead dh- in S.ClassDecl (getPointLoc l) (maybe [] sContext mctxt) n tvs (map sFunDep fds) (maybe [] (map sClassDecl) mcds)- InstDecl l mctxt ih mids ->- let (qn, ts) = sInstHead ih- in S.InstDecl (getPointLoc l) (maybe [] sContext mctxt) qn ts (maybe [] (map sInstDecl) mids)- DerivDecl l mctxt ih ->- let (qn, ts) = sInstHead ih- in S.DerivDecl (getPointLoc l) (maybe [] sContext mctxt) qn ts- InfixDecl l ass prec ops -> S.InfixDecl (getPointLoc l) (sAssoc ass) (maybe 9 id prec) (map sOp ops)- DefaultDecl l ts -> S.DefaultDecl (getPointLoc l) (map sType ts)- SpliceDecl l sp -> S.SpliceDecl (getPointLoc l) (sExp sp)- TypeSig l ns t -> S.TypeSig (getPointLoc l) (map sName ns) (sType t)- FunBind _ ms -> S.FunBind (map sMatch ms)- PatBind l p mt rhs mbs ->- S.PatBind (getPointLoc l) (sPat p) (fmap sType mt) (sRhs rhs) (maybe (S.BDecls []) sBinds mbs)- ForImp l cc msaf mstr n t ->- S.ForImp (getPointLoc l) (sCallConv cc) (maybe (S.PlaySafe False) sSafety msaf) (maybe "" id mstr) (sName n) (sType t)- ForExp l cc mstr n t ->- S.ForExp (getPointLoc l) (sCallConv cc) (maybe "" id mstr) (sName n) (sType t)- RulePragmaDecl l rs -> S.RulePragmaDecl (getPointLoc l) (map sRule rs)- DeprPragmaDecl l nsstrs -> S.DeprPragmaDecl (getPointLoc l) (map (\(ns, str) -> (map sName ns, str)) nsstrs)- WarnPragmaDecl l nsstrs -> S.WarnPragmaDecl (getPointLoc l) (map (\(ns, str) -> (map sName ns, str)) nsstrs)- InlineSig l b mact qn -> S.InlineSig (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn)- InlineConlikeSig l mact qn -> S.InlineConlikeSig (getPointLoc l) (maybe S.AlwaysActive sActivation mact) (sQName qn)- SpecSig l mact qn ts -> S.SpecSig (getPointLoc l) (maybe S.AlwaysActive sActivation mact) (sQName qn) (map sType ts)- SpecInlineSig l b mact qn ts ->- S.SpecInlineSig (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn) (map sType ts)- InstSig l mctxt ih ->- let (qn, ts) = sInstHead ih- in S.InstSig (getPointLoc l) (maybe [] sContext mctxt) qn ts- AnnPragma l ann ->- S.AnnPragma (getPointLoc l) (sAnnotation ann)--sAnnotation :: SrcInfo loc => Annotation loc -> S.Annotation-sAnnotation ann = case ann of- Ann _ n e -> S.Ann (sName n) (sExp e)- TypeAnn _ n e -> S.TypeAnn (sName n) (sExp e)- ModuleAnn _ e -> S.ModuleAnn (sExp e)--sModuleName :: ModuleName l -> S.ModuleName-sModuleName (ModuleName _ str) = S.ModuleName str--sSpecialCon :: SpecialCon l -> S.SpecialCon-sSpecialCon sc = case sc of- UnitCon _ -> S.UnitCon- ListCon _ -> S.ListCon- FunCon _ -> S.FunCon- TupleCon _ b k -> S.TupleCon b k- Cons _ -> S.Cons- UnboxedSingleCon _ -> S.UnboxedSingleCon--sQName :: QName l -> S.QName-sQName qn = case qn of- Qual _ mn n -> S.Qual (sModuleName mn) (sName n)- UnQual _ n -> S.UnQual (sName n)- Special _ sc -> S.Special (sSpecialCon sc)--sName :: Name l -> S.Name-sName (Ident _ str) = S.Ident str-sName (Symbol _ str) = S.Symbol str--sIPName :: IPName l -> S.IPName-sIPName (IPDup _ str) = S.IPDup str-sIPName (IPLin _ str) = S.IPLin str--sQOp :: QOp l -> S.QOp-sQOp (QVarOp _ qn) = S.QVarOp (sQName qn)-sQOp (QConOp _ qn) = S.QConOp (sQName qn)--sOp :: Op l -> S.Op-sOp (VarOp _ n) = S.VarOp (sName n)-sOp (ConOp _ n) = S.ConOp (sName n)--sCName :: CName l -> S.CName-sCName (VarName _ n) = S.VarName (sName n)-sCName (ConName _ n) = S.ConName (sName n)--sModuleHead :: Maybe (ModuleHead l) -> (S.ModuleName, Maybe (S.WarningText), Maybe [S.ExportSpec])-sModuleHead mmh = case mmh of- Nothing -> (S.main_mod, Nothing, Just [S.EVar (S.UnQual S.main_name)])- Just (ModuleHead _ mn mwt mel) -> (sModuleName mn, fmap sWarningText mwt, fmap sExportSpecList mel)--sExportSpecList :: ExportSpecList l -> [S.ExportSpec]-sExportSpecList (ExportSpecList _ ess) = map sExportSpec ess--sExportSpec :: ExportSpec l -> S.ExportSpec-sExportSpec es = case es of- EVar _ qn -> S.EVar (sQName qn)- EAbs _ qn -> S.EAbs (sQName qn)- EThingAll _ qn -> S.EThingAll (sQName qn)- EThingWith _ qn cns -> S.EThingWith (sQName qn) (map sCName cns)- EModuleContents _ mn -> S.EModuleContents (sModuleName mn)--sImportDecl :: SrcInfo loc => ImportDecl loc -> S.ImportDecl-sImportDecl (ImportDecl l mn qu src mpkg as misl) =- S.ImportDecl (getPointLoc l) (sModuleName mn) qu src mpkg (fmap sModuleName as) (fmap sImportSpecList misl)--sImportSpecList :: ImportSpecList l -> (Bool, [S.ImportSpec])-sImportSpecList (ImportSpecList _ b iss) = (b, map sImportSpec iss)--sImportSpec :: ImportSpec l -> S.ImportSpec-sImportSpec is = case is of- IVar _ n -> S.IVar (sName n)- IAbs _ n -> S.IAbs (sName n)- IThingAll _ n -> S.IThingAll (sName n)- IThingWith _ n cns -> S.IThingWith (sName n) (map sCName cns)--sAssoc :: Assoc l -> S.Assoc-sAssoc a = case a of- AssocNone _ -> S.AssocNone- AssocLeft _ -> S.AssocLeft- AssocRight _ -> S.AssocRight--sDeclHead :: DeclHead l -> (S.Name, [S.TyVarBind])-sDeclHead dh = case dh of- DHead _ n tvs -> (sName n, map sTyVarBind tvs)- DHInfix _ tva n tvb -> (sName n, map sTyVarBind [tva,tvb])- DHParen _ dh -> sDeclHead dh--sInstHead :: InstHead l -> (S.QName, [S.Type])-sInstHead ih = case ih of- IHead _ qn ts -> (sQName qn, map sType ts)- IHInfix _ ta qn tb -> (sQName qn, map sType [ta,tb])- IHParen _ ih -> sInstHead ih--sDataOrNew :: DataOrNew l -> S.DataOrNew-sDataOrNew (DataType _) = S.DataType-sDataOrNew (NewType _) = S.NewType--sDeriving :: (Deriving l) -> [(S.QName, [S.Type])]-sDeriving (Deriving _ ihs) = map sInstHead ihs--sBinds :: SrcInfo loc => Binds loc -> S.Binds-sBinds bs = case bs of- BDecls _ decls -> S.BDecls (map sDecl decls)- IPBinds _ ipbds -> S.IPBinds (map sIPBind ipbds)--sIPBind :: SrcInfo loc => IPBind loc -> S.IPBind-sIPBind (IPBind l ipn e) = S.IPBind (getPointLoc l) (sIPName ipn) (sExp e)--sMatch :: SrcInfo loc => Match loc -> S.Match-sMatch (Match l n ps rhs mwhere) =- S.Match (getPointLoc l) (sName n) (map sPat ps) Nothing (sRhs rhs) (maybe (S.BDecls []) sBinds mwhere)-sMatch (InfixMatch l pa n pbs rhs mwhere) =- S.Match (getPointLoc l) (sName n) (map sPat (pa:pbs)) Nothing (sRhs rhs) (maybe (S.BDecls []) sBinds mwhere)--sQualConDecl :: SrcInfo loc => QualConDecl loc -> S.QualConDecl-sQualConDecl (QualConDecl l mtvs mctxt cd) =- S.QualConDecl (getPointLoc l) (maybe [] (map sTyVarBind) mtvs) (maybe [] sContext mctxt) (sConDecl cd)--sConDecl :: ConDecl l -> S.ConDecl-sConDecl cd = case cd of- ConDecl _ n bts -> S.ConDecl (sName n) (map sBangType bts)- InfixConDecl _ bta n btb -> S.InfixConDecl (sBangType bta) (sName n) (sBangType btb)- RecDecl _ n fds -> S.RecDecl (sName n) (map sFieldDecl fds)--sFieldDecl :: FieldDecl l -> ([S.Name], S.BangType)-sFieldDecl (FieldDecl _ ns bt) = (map sName ns, sBangType bt)--sGadtDecl :: SrcInfo loc => GadtDecl loc -> S.GadtDecl-sGadtDecl (GadtDecl l n t) = S.GadtDecl (getPointLoc l) (sName n) (sType t)--sClassDecl :: SrcInfo loc => ClassDecl loc -> S.ClassDecl-sClassDecl cd = case cd of- ClsDecl _ d -> S.ClsDecl (sDecl d)- ClsDataFam l mctxt dh mk ->- let (n, tvs) = sDeclHead dh- in S.ClsDataFam (getPointLoc l) (maybe [] sContext mctxt) n tvs (fmap sKind mk)- ClsTyFam l dh mk ->- let (n, tvs) = sDeclHead dh- in S.ClsTyFam (getPointLoc l) n tvs (fmap sKind mk)- ClsTyDef l t1 t2 ->- S.ClsTyDef (getPointLoc l) (sType t1) (sType t2)--sInstDecl :: SrcInfo loc => InstDecl loc -> S.InstDecl-sInstDecl id = case id of- InsDecl _ d -> S.InsDecl (sDecl d)- InsType l t1 t2 -> S.InsType (getPointLoc l) (sType t1) (sType t2)- InsData l dn t constrs mder ->- S.InsData (getPointLoc l) (sDataOrNew dn) (sType t) (map sQualConDecl constrs) (maybe [] sDeriving mder)- InsGData l dn t mk gds mder ->- S.InsGData (getPointLoc l) (sDataOrNew dn) (sType t) (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)--- InsInline l b mact qn -> S.InsInline (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn)--sBangType :: BangType l -> S.BangType-sBangType bt = case bt of- BangedTy _ t -> S.BangedTy (sType t)- UnBangedTy _ t -> S.UnBangedTy (sType t)- UnpackedTy _ t -> S.UnpackedTy (sType t)--sRhs :: SrcInfo loc => Rhs loc -> S.Rhs-sRhs (UnGuardedRhs _ e) = S.UnGuardedRhs (sExp e)-sRhs (GuardedRhss _ grhss) = S.GuardedRhss (map sGuardedRhs grhss)--sGuardedRhs :: SrcInfo loc => GuardedRhs loc -> S.GuardedRhs-sGuardedRhs (GuardedRhs l ss e) = S.GuardedRhs (getPointLoc l) (map sStmt ss) (sExp e)--sType :: Type l -> S.Type-sType t = case t of- TyForall _ mtvs mctxt t -> S.TyForall (fmap (map sTyVarBind) mtvs) (maybe [] sContext mctxt) (sType t)- TyFun _ t1 t2 -> S.TyFun (sType t1) (sType t2)- TyTuple _ bx ts -> S.TyTuple bx (map sType ts)- TyList _ t -> S.TyList (sType t)- TyApp _ t1 t2 -> S.TyApp (sType t1) (sType t2)- TyVar _ n -> S.TyVar (sName n)- TyCon _ qn -> S.TyCon (sQName qn)- TyParen _ t -> S.TyParen (sType t)- TyInfix _ ta qn tb -> S.TyInfix (sType ta) (sQName qn) (sType tb)- TyKind _ t k -> S.TyKind (sType t) (sKind k)- TyPromoted _ t -> S.TyPromoted (sPromoted t)--sPromoted :: Promoted l -> S.Promoted-sPromoted p = case p of- PromotedInteger _ n _ -> S.PromotedInteger n- PromotedString _ s _ -> S.PromotedString s- PromotedCon _ b qn -> S.PromotedCon b (sQName qn)- PromotedList _ b ps -> S.PromotedList b (map sPromoted ps)- PromotedTuple _ ps -> S.PromotedTuple (map sPromoted ps)- PromotedUnit _ -> S.PromotedUnit---sTyVarBind :: TyVarBind l -> S.TyVarBind-sTyVarBind (KindedVar _ n k) = S.KindedVar (sName n) (sKind k)-sTyVarBind (UnkindedVar _ n) = S.UnkindedVar (sName n)--sKind :: Kind l -> S.Kind-sKind k = case k of- KindStar _ -> S.KindStar- KindBang _ -> S.KindBang- KindFn _ k1 k2 -> S.KindFn (sKind k1) (sKind k2)- KindParen _ k -> S.KindParen (sKind k)- KindVar _ n -> S.KindVar (sQName n)- KindApp _ k1 k2 -> S.KindApp (sKind k1) (sKind k2)- KindTuple _ ks -> S.KindTuple (map sKind ks)- KindList _ ks -> S.KindList (map sKind ks)--sFunDep :: FunDep l -> S.FunDep-sFunDep (FunDep _ as bs) = S.FunDep (map sName as) (map sName bs)--sContext :: Context l -> S.Context-sContext ctxt = case ctxt of- CxSingle _ asst -> [sAsst asst]- CxTuple _ assts -> map sAsst assts- CxParen _ ct -> sContext ct- CxEmpty _ -> []--sAsst :: Asst l -> S.Asst-sAsst asst = case asst of- ClassA _ qn ts -> S.ClassA (sQName qn) (map sType ts)- InfixA _ ta qn tb -> S.InfixA (sType ta) (sQName qn) (sType tb)- IParam _ ipn t -> S.IParam (sIPName ipn) (sType t)- EqualP _ t1 t2 -> S.EqualP (sType t1) (sType t2)--sLiteral :: Literal l -> S.Literal-sLiteral lit = case lit of- Char _ c _ -> S.Char c- String _ s _ -> S.String s- Int _ i _ -> S.Int i- Frac _ r _ -> S.Frac r- PrimInt _ i _ -> S.PrimInt i- PrimWord _ i _ -> S.PrimWord i- PrimFloat _ r _ -> S.PrimFloat r- PrimDouble _ r _ -> S.PrimDouble r- PrimChar _ c _ -> S.PrimChar c- PrimString _ s _ -> S.PrimString s--sExp :: SrcInfo loc => Exp loc -> S.Exp-sExp e = case e of- Var _ qn -> S.Var (sQName qn)- IPVar _ ipn -> S.IPVar (sIPName ipn)- Con _ qn -> S.Con (sQName qn)- Lit _ lit -> S.Lit (sLiteral lit)- InfixApp _ e1 op e2 -> S.InfixApp (sExp e1) (sQOp op) (sExp e2)- App _ e1 e2 -> S.App (sExp e1) (sExp e2)- NegApp _ e -> S.NegApp (sExp e)- Lambda l ps e -> S.Lambda (getPointLoc l) (map sPat ps) (sExp e)- Let _ bs e -> S.Let (sBinds bs) (sExp e)- If _ e1 e2 e3 -> S.If (sExp e1) (sExp e2) (sExp e3)- MultiIf _ alts -> S.MultiIf (map sIfAlt alts)- Case _ e alts -> S.Case (sExp e) (map sAlt alts)- Do _ ss -> S.Do (map sStmt ss)- MDo _ ss -> S.MDo (map sStmt ss)- Tuple _ bx es -> S.Tuple bx (map sExp es)- TupleSection _ bx mes -> S.TupleSection bx (map (fmap sExp) mes)- List _ es -> S.List (map sExp es)- Paren _ e -> S.Paren (sExp e)- LeftSection _ e op -> S.LeftSection (sExp e) (sQOp op)- RightSection _ op e -> S.RightSection (sQOp op) (sExp e)- RecConstr _ qn fups -> S.RecConstr (sQName qn) (map sFieldUpdate fups)- RecUpdate _ e fups -> S.RecUpdate (sExp e) (map sFieldUpdate fups)- EnumFrom _ e -> S.EnumFrom (sExp e)- EnumFromTo _ e1 e2 -> S.EnumFromTo (sExp e1) (sExp e2)- EnumFromThen _ e1 e2 -> S.EnumFromThen (sExp e1) (sExp e2)- EnumFromThenTo _ e1 e2 e3 -> S.EnumFromThenTo (sExp e1) (sExp e2) (sExp e3)- ListComp _ e qss -> S.ListComp (sExp e) (map sQualStmt qss)- ParComp _ e qsss -> S.ParComp (sExp e) (map (map sQualStmt) qsss)- ExpTypeSig l e t -> S.ExpTypeSig (getPointLoc l) (sExp e) (sType t)- VarQuote _ qn -> S.VarQuote (sQName qn)- TypQuote _ qn -> S.TypQuote (sQName qn)- BracketExp _ br -> S.BracketExp (sBracket br)- SpliceExp _ sp -> S.SpliceExp (sSplice sp)- QuasiQuote _ nm qt -> S.QuasiQuote nm qt- XTag l xn attrs mat es -> S.XTag (getPointLoc l) (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)- XETag l xn attrs mat -> S.XETag (getPointLoc l) (sXName xn) (map sXAttr attrs) (fmap sExp mat)- XPcdata _ str -> S.XPcdata str- XExpTag _ e -> S.XExpTag (sExp e)- XChildTag l es -> S.XChildTag (getPointLoc l) (map sExp es)- CorePragma _ str e -> S.CorePragma str (sExp e)- SCCPragma _ str e -> S.SCCPragma str (sExp e)- GenPragma _ str i12 i34 e -> S.GenPragma str i12 i34 (sExp e)- Proc l p e -> S.Proc (getPointLoc l) (sPat p) (sExp e)- LeftArrApp _ e1 e2 -> S.LeftArrApp (sExp e1) (sExp e2)- RightArrApp _ e1 e2 -> S.RightArrApp (sExp e1) (sExp e2)- LeftArrHighApp _ e1 e2 -> S.LeftArrHighApp (sExp e1) (sExp e2)- RightArrHighApp _ e1 e2 -> S.RightArrHighApp (sExp e1) (sExp e2)- LCase _ alts -> S.LCase (map sAlt alts)---sXName :: XName l -> S.XName-sXName (XName _ str) = S.XName str-sXName (XDomName _ dom str) = S.XDomName dom str--sXAttr :: SrcInfo loc => XAttr loc -> S.XAttr-sXAttr (XAttr _ xn e) = S.XAttr (sXName xn) (sExp e)--sBracket:: SrcInfo loc => Bracket loc -> S.Bracket-sBracket br = case br of- ExpBracket _ e -> S.ExpBracket (sExp e)- PatBracket _ p -> S.PatBracket (sPat p)- TypeBracket _ t -> S.TypeBracket (sType t)- DeclBracket _ ds -> S.DeclBracket (map sDecl ds)--sSplice :: SrcInfo loc => Splice loc -> S.Splice-sSplice (IdSplice _ str) = S.IdSplice str-sSplice (ParenSplice _ e) = S.ParenSplice (sExp e)--sSafety :: Safety l -> S.Safety-sSafety (PlayRisky _) = S.PlayRisky-sSafety (PlaySafe _ b) = S.PlaySafe b-sSafety (PlayInterruptible _) = S.PlayInterruptible--sCallConv :: CallConv l -> S.CallConv-sCallConv (StdCall _) = S.StdCall-sCallConv (CCall _) = S.CCall-sCallConv (CPlusPlus _) = S.CPlusPlus-sCallConv (DotNet _) = S.DotNet-sCallConv (Jvm _) = S.Jvm-sCallConv (Js _) = S.Js-sCallConv (CApi _) = S.CApi--sModulePragma :: SrcInfo loc => ModulePragma loc -> S.ModulePragma-sModulePragma pr = case pr of- LanguagePragma l ns -> S.LanguagePragma (getPointLoc l) (map sName ns)- OptionsPragma l mt str -> S.OptionsPragma (getPointLoc l) mt str- AnnModulePragma l ann -> S.AnnModulePragma (getPointLoc l) (sAnnotation ann)--sActivation :: Activation l -> S.Activation-sActivation act = case act of- ActiveFrom _ k -> S.ActiveFrom k- ActiveUntil _ k -> S.ActiveUntil k--sRule :: SrcInfo loc => Rule loc -> S.Rule-sRule (Rule _ str mact mrvs e1 e2) =- S.Rule str (maybe S.AlwaysActive sActivation mact) (fmap (map sRuleVar) mrvs) (sExp e1) (sExp e2)--sRuleVar :: RuleVar l -> S.RuleVar-sRuleVar (RuleVar _ n) = S.RuleVar (sName n)-sRuleVar (TypedRuleVar _ n t) = S.TypedRuleVar (sName n) (sType t)--sWarningText :: WarningText l -> S.WarningText-sWarningText (DeprText _ str) = S.DeprText str-sWarningText (WarnText _ str) = S.WarnText str--sPat :: SrcInfo loc => Pat loc -> S.Pat-sPat pat = case pat of- PVar _ n -> S.PVar (sName n)- PLit _ lit -> S.PLit (sLiteral lit)- PNeg _ p -> S.PNeg (sPat p)- PNPlusK _ n k -> S.PNPlusK (sName n) k- PInfixApp _ pa qn pb -> S.PInfixApp (sPat pa) (sQName qn) (sPat pb)- PApp _ qn ps -> S.PApp (sQName qn) (map sPat ps)- PTuple _ bx ps -> S.PTuple bx (map sPat ps)- PList _ ps -> S.PList (map sPat ps)- PParen _ p -> S.PParen (sPat p)- PRec _ qn pfs -> S.PRec (sQName qn) (map sPatField pfs)- PAsPat _ n p -> S.PAsPat (sName n) (sPat p)- PWildCard _ -> S.PWildCard- PIrrPat _ p -> S.PIrrPat (sPat p)- PatTypeSig l p t -> S.PatTypeSig (getPointLoc l) (sPat p) (sType t)- PViewPat _ e p -> S.PViewPat (sExp e) (sPat p)- PRPat _ rps -> S.PRPat (map sRPat rps)- PXTag l xn attrs mat ps -> S.PXTag (getPointLoc l) (sXName xn) (map sPXAttr attrs) (fmap sPat mat) (map sPat ps)- PXETag l xn attrs mat -> S.PXETag (getPointLoc l) (sXName xn) (map sPXAttr attrs) (fmap sPat mat)- PXPcdata _ str -> S.PXPcdata str- PXPatTag _ p -> S.PXPatTag (sPat p)- PXRPats _ rps -> S.PXRPats (map sRPat rps)- PQuasiQuote _ nm qt -> S.PQuasiQuote nm qt- PBangPat _ p -> S.PBangPat (sPat p)--sPXAttr :: SrcInfo loc => PXAttr loc -> S.PXAttr-sPXAttr (PXAttr _ xn p) = S.PXAttr (sXName xn) (sPat p)--sRPatOp :: RPatOp l -> S.RPatOp-sRPatOp rpop = case rpop of- RPStar _ -> S.RPStar- RPStarG _ -> S.RPStarG- RPPlus _ -> S.RPPlus- RPPlusG _ -> S.RPPlusG- RPOpt _ -> S.RPOpt- RPOptG _ -> S.RPOptG--sRPat :: SrcInfo loc => RPat loc -> S.RPat-sRPat rp = case rp of- RPOp _ rp rop -> S.RPOp (sRPat rp) (sRPatOp rop)- RPEither _ rp1 rp2 -> S.RPEither (sRPat rp1) (sRPat rp2)- RPSeq _ rps -> S.RPSeq (map sRPat rps)- RPGuard _ p ss -> S.RPGuard (sPat p) (map sStmt ss)- RPCAs _ n rp -> S.RPCAs (sName n) (sRPat rp)- RPAs _ n rp -> S.RPAs (sName n) (sRPat rp)- RPParen _ rp -> S.RPParen (sRPat rp)- RPPat _ p -> S.RPPat (sPat p)--sPatField :: SrcInfo loc => PatField loc -> S.PatField-sPatField pf = case pf of- PFieldPat _ qn p -> S.PFieldPat (sQName qn) (sPat p)- PFieldPun _ n -> S.PFieldPun (sName n)- PFieldWildcard _ -> S.PFieldWildcard--sStmt :: SrcInfo loc => Stmt loc -> S.Stmt-sStmt stmt = case stmt of- Generator l p e -> S.Generator (getPointLoc l) (sPat p) (sExp e)- Qualifier _ e -> S.Qualifier (sExp e)- LetStmt _ bs -> S.LetStmt (sBinds bs)- RecStmt _ ss -> S.RecStmt (map sStmt ss)--sQualStmt :: SrcInfo loc => QualStmt loc -> S.QualStmt-sQualStmt qs = case qs of- QualStmt _ stmt -> S.QualStmt (sStmt stmt)- ThenTrans _ e -> S.ThenTrans (sExp e)- ThenBy _ e1 e2 -> S.ThenBy (sExp e1) (sExp e2)- GroupBy _ e -> S.GroupBy (sExp e)- GroupUsing _ e -> S.GroupUsing (sExp e)- GroupByUsing _ e1 e2 -> S.GroupByUsing (sExp e1) (sExp e2)--sFieldUpdate :: SrcInfo loc => FieldUpdate loc -> S.FieldUpdate-sFieldUpdate fu = case fu of- FieldUpdate _ qn e -> S.FieldUpdate (sQName qn) (sExp e)- FieldPun _ n -> S.FieldPun (sName n)- FieldWildcard _ -> S.FieldWildcard--sAlt :: SrcInfo loc => Alt loc -> S.Alt-sAlt (Alt l p galts mbs) = S.Alt (getPointLoc l) (sPat p) (sGuardedAlts galts) (maybe (S.BDecls []) sBinds mbs)--sGuardedAlts :: SrcInfo loc => GuardedAlts loc -> S.GuardedAlts-sGuardedAlts galts = case galts of- UnGuardedAlt _ e -> S.UnGuardedAlt (sExp e)- GuardedAlts _ gs -> S.GuardedAlts (map sGuardedAlt gs)--sGuardedAlt :: SrcInfo loc => GuardedAlt loc -> S.GuardedAlt-sGuardedAlt (GuardedAlt l ss e) = S.GuardedAlt (getPointLoc l) (map sStmt ss) (sExp e)--sIfAlt :: SrcInfo loc => IfAlt loc -> S.IfAlt-sIfAlt (IfAlt _ e1 e2) = S.IfAlt (sExp e1) (sExp e2)
− src/Language/Haskell/Exts/Annotated/Syntax.hs
@@ -1,1605 +0,0 @@-{-# LANGUAGE DeriveDataTypeable, DeriveFoldable, DeriveTraversable, DeriveFunctor, DeriveGeneric #-}--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Syntax--- Copyright : (c) Niklas Broberg 2004-2009,--- (c) The GHC Team, 1997-2000--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ A suite of datatypes describing the (semi-concrete) abstract syntax of Haskell 98--- <http://www.haskell.org/onlinereport/> plus registered extensions, including:------ * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)------ * parameters of type class assertions are unrestricted (FlexibleContexts)------ * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)------ * pattern guards (PatternGuards)------ * implicit parameters (ImplicitParameters)------ * generalised algebraic data types (GADTs)------ * template haskell (TemplateHaskell)------ * empty data type declarations (EmptyDataDecls)------ * unboxed tuples (UnboxedTuples)------ * regular patterns (RegularPatterns)------ * HSP-style XML expressions and patterns (XmlSyntax)------ All nodes in the syntax tree are annotated with something of a user-definable data type.--- When parsing, this annotation will contain information about the source location that the--- particular node comes from.-----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Syntax (- -- * Modules- Module(..), ModuleHead(..), WarningText(..), ExportSpecList(..), ExportSpec(..),- ImportDecl(..), ImportSpecList(..), ImportSpec(..), Assoc(..),- -- * Declarations- Decl(..), DeclHead(..), InstHead(..), Binds(..), IPBind(..),- -- ** Type classes and instances- ClassDecl(..), InstDecl(..), Deriving(..),- -- ** Data type declarations- DataOrNew(..), ConDecl(..), FieldDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),- -- ** Function bindings- Match(..), Rhs(..), GuardedRhs(..),- -- * Class Assertions and Contexts- Context(..), FunDep(..), Asst(..),- -- * Types- Type(..), Boxed(..), Kind(..), TyVarBind(..), Promoted(..),- -- * Expressions- Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),- Alt(..), GuardedAlts(..), GuardedAlt(..), XAttr(..), IfAlt(..),- -- * Patterns- Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),- -- * Literals- Literal(..),- -- * Variables, Constructors and Operators- ModuleName(..), QName(..), Name(..), QOp(..), Op(..),- SpecialCon(..), CName(..), IPName(..), XName(..),-- -- * Template Haskell- Bracket(..), Splice(..),-- -- * FFI- Safety(..), CallConv(..),-- -- * Pragmas- ModulePragma(..), Tool(..),- Rule(..), RuleVar(..), Activation(..),- Annotation(..),-- -- * Builtin names-- -- ** Modules- prelude_mod, main_mod,- -- ** Main function of a program- main_name,- -- ** Constructors- unit_con_name, tuple_con_name, list_cons_name, unboxed_singleton_con_name,- unit_con, tuple_con, unboxed_singleton_con,- -- ** Special identifiers- as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name,- export_name, safe_name, unsafe_name, threadsafe_name,- stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name,- forall_name, family_name,- -- ** Type constructors- unit_tycon_name, fun_tycon_name, list_tycon_name, tuple_tycon_name, unboxed_singleton_tycon_name,- unit_tycon, fun_tycon, list_tycon, tuple_tycon, unboxed_singleton_tycon,-- -- * Source coordinates- -- SrcLoc(..),-- -- * Annotated trees- Annotated(..), (=~=),- ) where---import Data.Data-import GHC.Generics (Generic)-import Data.Foldable (Foldable)-import Data.Traversable (Traversable)---- | The name of a Haskell module.-data ModuleName l = ModuleName l String- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Constructors with special syntax.--- These names are never qualified, and always refer to builtin type or--- data constructors.-data SpecialCon l- = UnitCon l -- ^ unit type and data constructor @()@- | ListCon l -- ^ list type constructor @[]@- | FunCon l -- ^ function type constructor @->@- | TupleCon l Boxed Int -- ^ /n/-ary tuple type and data- -- constructors @(,)@ etc, possibly boxed @(\#,\#)@- | Cons l -- ^ list data constructor @(:)@- | UnboxedSingleCon l -- ^ unboxed singleton tuple constructor @(\# \#)@- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | This type is used to represent qualified variables, and also--- qualified constructors.-data QName l- = Qual l (ModuleName l) (Name l) -- ^ name qualified with a module name- | UnQual l (Name l) -- ^ unqualified local name- | Special l (SpecialCon l) -- ^ built-in constructor with special syntax- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | This type is used to represent variables, and also constructors.-data Name l- = Ident l String -- ^ /varid/ or /conid/.- | Symbol l String -- ^ /varsym/ or /consym/- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An implicit parameter name.-data IPName l- = IPDup l String -- ^ ?/ident/, non-linear implicit parameter- | IPLin l String -- ^ %/ident/, linear implicit parameter- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Possibly qualified infix operators (/qop/), appearing in expressions.-data QOp l- = QVarOp l (QName l) -- ^ variable operator (/qvarop/)- | QConOp l (QName l) -- ^ constructor operator (/qconop/)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Operators appearing in @infix@ declarations are never qualified.-data Op l- = VarOp l (Name l) -- ^ variable operator (/varop/)- | ConOp l (Name l) -- ^ constructor operator (/conop/)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A name (/cname/) of a component of a class or data type in an @import@--- or export specification.-data CName l- = VarName l (Name l) -- ^ name of a method or field- | ConName l (Name l) -- ^ name of a data constructor- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A complete Haskell source module.-data Module l- = Module l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]- -- ^ an ordinary Haskell module- | XmlPage l (ModuleName l) [ModulePragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]- -- ^ a module consisting of a single XML document. The ModuleName never appears in the source- -- but is needed for semantic purposes, it will be the same as the file name.- | XmlHybrid l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]- (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]- -- ^ a hybrid module combining an XML document with an ordinary module- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The head of a module, including the name and export specification.-data ModuleHead l = ModuleHead l (ModuleName l) (Maybe (WarningText l)) (Maybe (ExportSpecList l))- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An explicit export specification.-data ExportSpecList l- = ExportSpecList l [ExportSpec l]- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An item in a module's export specification.-data ExportSpec l- = EVar l (QName l) -- ^ variable- | EAbs l (QName l) -- ^ @T@:- -- a class or datatype exported abstractly,- -- or a type synonym.- | EThingAll l (QName l) -- ^ @T(..)@:- -- a class exported with all of its methods, or- -- a datatype exported with all of its constructors.- | EThingWith l (QName l) [CName l] -- ^ @T(C_1,...,C_n)@:- -- a class exported with some of its methods, or- -- a datatype exported with some of its constructors.- | EModuleContents l (ModuleName l) -- ^ @module M@:- -- re-export a module.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An import declaration.-data ImportDecl l = ImportDecl- { importAnn :: l -- ^ annotation, used by parser for position of the @import@ keyword.- , importModule :: (ModuleName l) -- ^ name of the module imported.- , importQualified :: Bool -- ^ imported @qualified@?- , importSrc :: Bool -- ^ imported with @{-\# SOURCE \#-}@?- , importPkg :: Maybe String -- ^ imported with explicit package name- , importAs :: Maybe (ModuleName l) -- ^ optional alias name in an @as@ clause.- , importSpecs :: Maybe (ImportSpecList l)- -- ^ optional list of import specifications.- }- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An explicit import specification list.-data ImportSpecList l- = ImportSpecList l Bool [ImportSpec l]- -- A list of import specifications.- -- The 'Bool' is 'True' if the names are excluded- -- by @hiding@.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An import specification, representing a single explicit item imported--- (or hidden) from a module.-data ImportSpec l- = IVar l (Name l) -- ^ variable- | IAbs l (Name l) -- ^ @T@:- -- the name of a class, datatype or type synonym.- | IThingAll l (Name l) -- ^ @T(..)@:- -- a class imported with all of its methods, or- -- a datatype imported with all of its constructors.- | IThingWith l (Name l) [CName l] -- ^ @T(C_1,...,C_n)@:- -- a class imported with some of its methods, or- -- a datatype imported with some of its constructors.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Associativity of an operator.-data Assoc l- = AssocNone l -- ^ non-associative operator (declared with @infix@)- | AssocLeft l -- ^ left-associative operator (declared with @infixl@).- | AssocRight l -- ^ right-associative operator (declared with @infixr@)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A top-level declaration.-data Decl l- = TypeDecl l (DeclHead l) (Type l)- -- ^ A type declaration- | TypeFamDecl l (DeclHead l) (Maybe (Kind l))- -- ^ A type family declaration- | DataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) [QualConDecl l] (Maybe (Deriving l))- -- ^ A data OR newtype declaration- | GDataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l] (Maybe (Deriving l))- -- ^ A data OR newtype declaration, GADT style- | DataFamDecl l {-data-} (Maybe (Context l)) (DeclHead l) (Maybe (Kind l))- -- ^ A data family declaration- | TypeInsDecl l (Type l) (Type l)- -- ^ A type family instance declaration- | DataInsDecl l (DataOrNew l) (Type l) [QualConDecl l] (Maybe (Deriving l))- -- ^ A data family instance declaration- | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] (Maybe (Deriving l))- -- ^ A data family instance declaration, GADT style- | ClassDecl l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l])- -- ^ A declaration of a type class- | InstDecl l (Maybe (Context l)) (InstHead l) (Maybe [InstDecl l])- -- ^ An declaration of a type class instance- | DerivDecl l (Maybe (Context l)) (InstHead l)- -- ^ A standalone deriving declaration- | InfixDecl l (Assoc l) (Maybe Int) [Op l]- -- ^ A declaration of operator fixity- | DefaultDecl l [Type l]- -- ^ A declaration of default types- | SpliceDecl l (Exp l)- -- ^ A Template Haskell splicing declaration- | TypeSig l [Name l] (Type l)- -- ^ A type signature declaration- | FunBind l [Match l]- -- ^ A set of function binding clauses- | PatBind l (Pat l) (Maybe (Type l)) (Rhs l) {-where-} (Maybe (Binds l))- -- ^ A pattern binding- | ForImp l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l)- -- ^ A foreign import declaration- | ForExp l (CallConv l) (Maybe String) (Name l) (Type l)- -- ^ A foreign export declaration- | RulePragmaDecl l [Rule l]- -- ^ A RULES pragma- | DeprPragmaDecl l [([Name l], String)]- -- ^ A DEPRECATED pragma- | WarnPragmaDecl l [([Name l], String)]- -- ^ A WARNING pragma- | InlineSig l Bool (Maybe (Activation l)) (QName l)- -- ^ An INLINE pragma- | InlineConlikeSig l (Maybe (Activation l)) (QName l)- -- ^ An INLINE CONLIKE pragma- | SpecSig l (Maybe (Activation l)) (QName l) [Type l]- -- ^ A SPECIALISE pragma- | SpecInlineSig l Bool (Maybe (Activation l)) (QName l) [Type l]- -- ^ A SPECIALISE INLINE pragma- | InstSig l (Maybe (Context l)) (InstHead l)- -- ^ A SPECIALISE instance pragma- | AnnPragma l (Annotation l)- -- ^ An ANN pragma- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An annotation through an ANN pragma.-data Annotation l- = Ann l (Name l) (Exp l)- -- ^ An annotation for a declared name.- | TypeAnn l (Name l) (Exp l)- -- ^ An annotation for a declared type.- | ModuleAnn l (Exp l)- -- ^ An annotation for the defining module.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)----- | A flag stating whether a declaration is a data or newtype declaration.-data DataOrNew l = DataType l | NewType l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The head of a type or class declaration.-data DeclHead l- = DHead l (Name l) [TyVarBind l]- | DHInfix l (TyVarBind l) (Name l) (TyVarBind l)- | DHParen l (DeclHead l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The head of an instance declaration.-data InstHead l- = IHead l (QName l) [Type l]- | IHInfix l (Type l) (QName l) (Type l)- | IHParen l (InstHead l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A deriving clause following a data type declaration.-data Deriving l = Deriving l [InstHead l]- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A binding group inside a @let@ or @where@ clause.-data Binds l- = BDecls l [Decl l] -- ^ An ordinary binding group- | IPBinds l [IPBind l] -- ^ A binding group for implicit parameters- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A binding of an implicit parameter.-data IPBind l = IPBind l (IPName l) (Exp l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Clauses of a function binding.-data Match l- = Match l (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))- -- ^ A clause defined with prefix notation, i.e. the function name- -- followed by its argument patterns, the right-hand side and an- -- optional where clause.- | InfixMatch l (Pat l) (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))- -- ^ A clause defined with infix notation, i.e. first its first argument- -- pattern, then the function name, then its following argument(s),- -- the right-hand side and an optional where clause.- -- Note that there can be more than two arguments to a function declared- -- infix, hence the list of pattern arguments.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A single constructor declaration within a data type declaration,--- which may have an existential quantification binding.-data QualConDecl l- = QualConDecl l- {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))- {- => -} (ConDecl l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declaration of an ordinary data constructor.-data ConDecl l- = ConDecl l (Name l) [BangType l]- -- ^ ordinary data constructor- | InfixConDecl l (BangType l) (Name l) (BangType l)- -- ^ infix data constructor- | RecDecl l (Name l) [FieldDecl l]- -- ^ record constructor- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declaration of a (list of) named field(s).-data FieldDecl l = FieldDecl l [Name l] (BangType l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)----- | A single constructor declaration in a GADT data type declaration.-data GadtDecl l- = GadtDecl l (Name l) (Type l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declarations inside a class declaration.-data ClassDecl l- = ClsDecl l (Decl l)- -- ^ ordinary declaration- | ClsDataFam l (Maybe (Context l)) (DeclHead l) (Maybe (Kind l))- -- ^ declaration of an associated data type- | ClsTyFam l (DeclHead l) (Maybe (Kind l))- -- ^ declaration of an associated type synonym- | ClsTyDef l (Type l) (Type l)- -- ^ default choice for an associated type synonym- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declarations inside an instance declaration.-data InstDecl l- = InsDecl l (Decl l)- -- ^ ordinary declaration- | InsType l (Type l) (Type l)- -- ^ an associated type definition- | InsData l (DataOrNew l) (Type l) [QualConDecl l] (Maybe (Deriving l))- -- ^ an associated data type implementation- | InsGData l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] (Maybe (Deriving l))- -- ^ an associated data type implemented using GADT style- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The type of a constructor argument or field, optionally including--- a strictness annotation.-data BangType l- = BangedTy l (Type l) -- ^ strict component, marked with \"@!@\"- | UnBangedTy l (Type l) -- ^ non-strict component- | UnpackedTy l (Type l) -- ^ unboxed component, marked with an UNPACK pragma- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The right hand side of a function or pattern binding.-data Rhs l- = UnGuardedRhs l (Exp l) -- ^ unguarded right hand side (/exp/)- | GuardedRhss l [GuardedRhs l]- -- ^ guarded right hand side (/gdrhs/)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A guarded right hand side @|@ /stmts/ @=@ /exp/.--- The guard is a series of statements when using pattern guards,--- otherwise it will be a single qualifier expression.-data GuardedRhs l- = GuardedRhs l [Stmt l] (Exp l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A type qualified with a context.--- An unqualified type has an empty context.-data Type l- = TyForall l- (Maybe [TyVarBind l])- (Maybe (Context l))- (Type l) -- ^ qualified type- | TyFun l (Type l) (Type l) -- ^ function type- | TyTuple l Boxed [Type l] -- ^ tuple type, possibly boxed- | TyList l (Type l) -- ^ list syntax, e.g. [a], as opposed to [] a- | TyApp l (Type l) (Type l) -- ^ application of a type constructor- | TyVar l (Name l) -- ^ type variable- | TyCon l (QName l) -- ^ named type or type constructor- | TyParen l (Type l) -- ^ type surrounded by parentheses- | TyInfix l (Type l) (QName l) (Type l) -- ^ infix type constructor- | TyKind l (Type l) (Kind l) -- ^ type with explicit kind signature- | TyPromoted l (Promoted l) -- ^ @'K@, a promoted data type (-XDataKinds).- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Bools here are True if there was a leading quote which may be--- left out. For example @'[k1,k2]@ means the same thing as @[k1,k2]@.-data Promoted l- = PromotedInteger l Integer String -- ^ parsed value and raw string- | PromotedString l String String -- ^ parsed value and raw string- | PromotedCon l Bool (QName l)- | PromotedList l Bool [Promoted l]- | PromotedTuple l [Promoted l]- | PromotedUnit l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Flag denoting whether a tuple is boxed or unboxed.-data Boxed = Boxed | Unboxed- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type variable declaration, optionally with an explicit kind annotation.-data TyVarBind l- = KindedVar l (Name l) (Kind l) -- ^ variable binding with kind annotation- | UnkindedVar l (Name l) -- ^ ordinary variable binding- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An explicit kind annotation.-data Kind l- = KindStar l -- ^ @*@, the kind of types- | KindBang l -- ^ @!@, the kind of unboxed types- | KindFn l (Kind l) (Kind l) -- ^ @->@, the kind of a type constructor- | KindParen l (Kind l) -- ^ a parenthesised kind- | KindVar l (QName l) -- ^ @k@, a kind variable (-XPolyKinds)- | KindApp l (Kind l) (Kind l) -- ^ @k1 k2@- | KindTuple l [Kind l] -- ^ @'(k1,k2,k3)@, a promoted tuple- | KindList l [Kind l] -- ^ @'[k1,k2,k3]@, a promoted list literal- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)----- | A functional dependency, given on the form--- l1 l2 ... ln -> r2 r3 .. rn-data FunDep l- = FunDep l [Name l] [Name l]- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A context is a set of assertions-data Context l- = CxSingle l (Asst l)- | CxTuple l [Asst l]- | CxParen l (Context l)- | CxEmpty l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Class assertions.--- In Haskell 98, the argument would be a /tyvar/, but this definition--- allows multiple parameters, and allows them to be /type/s.--- Also extended with support for implicit parameters and equality constraints.-data Asst l- = ClassA l (QName l) [Type l] -- ^ ordinary class assertion- | InfixA l (Type l) (QName l) (Type l) -- ^ class assertion where the class name is given infix- | IParam l (IPName l) (Type l) -- ^ implicit parameter assertion- | EqualP l (Type l) (Type l) -- ^ type equality constraint- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | /literal/--- Values of this type hold the abstract value of the literal, along with the--- precise string representation used. For example, @10@, @0o12@ and @0xa@--- have the same value representation, but each carry a different string representation.-data Literal l- = Char l Char String -- ^ character literal- | String l String String -- ^ string literal- | Int l Integer String -- ^ integer literal- | Frac l Rational String -- ^ floating point literal- | PrimInt l Integer String -- ^ unboxed integer literal- | PrimWord l Integer String -- ^ unboxed word literal- | PrimFloat l Rational String -- ^ unboxed float literal- | PrimDouble l Rational String -- ^ unboxed double literal- | PrimChar l Char String -- ^ unboxed character literal- | PrimString l String String -- ^ unboxed string literal- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Haskell expressions.-data Exp l- = Var l (QName l) -- ^ variable- | IPVar l (IPName l) -- ^ implicit parameter variable- | Con l (QName l) -- ^ data constructor- | Lit l (Literal l) -- ^ literal constant- | InfixApp l (Exp l) (QOp l) (Exp l) -- ^ infix application- | App l (Exp l) (Exp l) -- ^ ordinary application- | NegApp l (Exp l) -- ^ negation expression @-/exp/@ (unary minus)- | Lambda l [Pat l] (Exp l) -- ^ lambda expression- | Let l (Binds l) (Exp l) -- ^ local declarations with @let@ ... @in@ ...- | If l (Exp l) (Exp l) (Exp l) -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/- | MultiIf l [IfAlt l] -- ^ @if@ @|@ /exp/ @->@ /exp/ ...- | Case l (Exp l) [Alt l] -- ^ @case@ /exp/ @of@ /alts/- | Do l [Stmt l] -- ^ @do@-expression:- -- the last statement in the list- -- should be an expression.- | MDo l [Stmt l] -- ^ @mdo@-expression- | Tuple l Boxed [Exp l] -- ^ tuple expression- | TupleSection l Boxed [Maybe (Exp l)] -- ^ tuple section expression, e.g. @(,,3)@- | List l [Exp l] -- ^ list expression- | Paren l (Exp l) -- ^ parenthesised expression- | LeftSection l (Exp l) (QOp l) -- ^ left section @(@/exp/ /qop/@)@- | RightSection l (QOp l) (Exp l) -- ^ right section @(@/qop/ /exp/@)@- | RecConstr l (QName l) [FieldUpdate l] -- ^ record construction expression- | RecUpdate l (Exp l) [FieldUpdate l] -- ^ record update expression- | EnumFrom l (Exp l) -- ^ unbounded arithmetic sequence,- -- incrementing by 1: @[from ..]@- | EnumFromTo l (Exp l) (Exp l) -- ^ bounded arithmetic sequence,- -- incrementing by 1 @[from .. to]@- | EnumFromThen l (Exp l) (Exp l) -- ^ unbounded arithmetic sequence,- -- with first two elements given @[from, then ..]@- | EnumFromThenTo l (Exp l) (Exp l) (Exp l)- -- ^ bounded arithmetic sequence,- -- with first two elements given @[from, then .. to]@- | ListComp l (Exp l) [QualStmt l] -- ^ ordinary list comprehension- | ParComp l (Exp l) [[QualStmt l]] -- ^ parallel list comprehension- | ExpTypeSig l (Exp l) (Type l) -- ^ expression with explicit type signature-- | VarQuote l (QName l) -- ^ @'x@ for template haskell reifying of expressions- | TypQuote l (QName l) -- ^ @''T@ for template haskell reifying of types- | BracketExp l (Bracket l) -- ^ template haskell bracket expression- | SpliceExp l (Splice l) -- ^ template haskell splice expression- | QuasiQuote l String String -- ^ quasi-quotaion: @[$/name/| /string/ |]@---- Hsx- | XTag l (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]- -- ^ xml element, with attributes and children- | XETag l (XName l) [XAttr l] (Maybe (Exp l))- -- ^ empty xml element, with attributes- | XPcdata l String -- ^ PCDATA child element- | XExpTag l (Exp l) -- ^ escaped haskell expression inside xml- | XChildTag l [Exp l] -- ^ children of an xml element----- Pragmas- | CorePragma l String (Exp l) -- ^ CORE pragma- | SCCPragma l String (Exp l) -- ^ SCC pragma- | GenPragma l String (Int, Int) (Int, Int) (Exp l)- -- ^ GENERATED pragma---- Arrows- | Proc l (Pat l) (Exp l) -- ^ arrows proc: @proc@ /pat/ @->@ /exp/- | LeftArrApp l (Exp l) (Exp l) -- ^ arrow application (from left): /exp/ @-<@ /exp/- | RightArrApp l (Exp l) (Exp l) -- ^ arrow application (from right): /exp/ @>-@ /exp/- | LeftArrHighApp l (Exp l) (Exp l) -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/- | RightArrHighApp l (Exp l) (Exp l) -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/---- LambdaCase- | LCase l [Alt l] -- ^ @\case@ /alts/- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The name of an xml element or attribute,--- possibly qualified with a namespace.-data XName l- = XName l String -- <name ...- | XDomName l String String -- <dom:name ...- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An xml attribute, which is a name-expression pair.-data XAttr l = XAttr l (XName l) (Exp l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A template haskell bracket expression.-data Bracket l- = ExpBracket l (Exp l) -- ^ expression bracket: @[| ... |]@- | PatBracket l (Pat l) -- ^ pattern bracket: @[p| ... |]@- | TypeBracket l (Type l) -- ^ type bracket: @[t| ... |]@- | DeclBracket l [Decl l] -- ^ declaration bracket: @[d| ... |]@- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A template haskell splice expression-data Splice l- = IdSplice l String -- ^ variable splice: @$var@- | ParenSplice l (Exp l) -- ^ parenthesised expression splice: @$(/exp/)@- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The safety of a foreign function call.-data Safety l- = PlayRisky l -- ^ unsafe- | PlaySafe l Bool -- ^ safe ('False') or threadsafe ('True')- | PlayInterruptible l -- ^ interruptible- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The calling convention of a foreign function call.-data CallConv l- = StdCall l- | CCall l- | CPlusPlus l- | DotNet l- | Jvm l- | Js l- | CApi l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A top level options pragma, preceding the module header.-data ModulePragma l- = LanguagePragma l [Name l] -- ^ LANGUAGE pragma- | OptionsPragma l (Maybe Tool) String- -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC- | AnnModulePragma l (Annotation l)- -- ^ ANN pragma with module scope- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Recognised tools for OPTIONS pragmas.-data Tool = GHC | HUGS | NHC98 | YHC | HADDOCK | UnknownTool String- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Activation clause of a RULES pragma.-data Activation l- = ActiveFrom l Int- | ActiveUntil l Int- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The body of a RULES pragma.-data Rule l- = Rule l String (Maybe (Activation l)) (Maybe [RuleVar l]) (Exp l) (Exp l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Variables used in a RULES pragma, optionally annotated with types-data RuleVar l- = RuleVar l (Name l)- | TypedRuleVar l (Name l) (Type l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Warning text to optionally use in the module header of e.g.--- a deprecated module.-data WarningText l- = DeprText l String- | WarnText l String- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)----- | A pattern, to be matched against a value.-data Pat l- = PVar l (Name l) -- ^ variable- | PLit l (Literal l) -- ^ literal constant- | PNeg l (Pat l) -- ^ negated pattern- | PNPlusK l (Name l) Integer -- ^ n+k pattern- | PInfixApp l (Pat l) (QName l) (Pat l) -- ^ pattern with an infix data constructor- | PApp l (QName l) [Pat l] -- ^ data constructor and argument patterns- | PTuple l Boxed [Pat l] -- ^ tuple pattern- | PList l [Pat l] -- ^ list pattern- | PParen l (Pat l) -- ^ parenthesized pattern- | PRec l (QName l) [PatField l] -- ^ labelled pattern, record style- | PAsPat l (Name l) (Pat l) -- ^ @\@@-pattern- | PWildCard l -- ^ wildcard pattern: @_@- | PIrrPat l (Pat l) -- ^ irrefutable pattern: @~/pat/@- | PatTypeSig l (Pat l) (Type l) -- ^ pattern with type signature- | PViewPat l (Exp l) (Pat l) -- ^ view patterns of the form @(/exp/ -> /pat/)@- | PRPat l [RPat l] -- ^ regular list pattern- | PXTag l (XName l) [PXAttr l] (Maybe (Pat l)) [Pat l]- -- ^ XML element pattern- | PXETag l (XName l) [PXAttr l] (Maybe (Pat l))- -- ^ XML singleton element pattern- | PXPcdata l String -- ^ XML PCDATA pattern- | PXPatTag l (Pat l) -- ^ XML embedded pattern- | PXRPats l [RPat l] -- ^ XML regular list pattern- | PQuasiQuote l String String -- ^ quasi quote pattern: @[$/name/| /string/ |]@- | PBangPat l (Pat l) -- ^ strict (bang) pattern: @f !x = ...@- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An XML attribute in a pattern.-data PXAttr l = PXAttr l (XName l) (Pat l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A regular pattern operator.-data RPatOp l- = RPStar l -- ^ @*@ = 0 or more- | RPStarG l -- ^ @*!@ = 0 or more, greedy- | RPPlus l -- ^ @+@ = 1 or more- | RPPlusG l -- ^ @+!@ = 1 or more, greedy- | RPOpt l -- ^ @?@ = 0 or 1- | RPOptG l -- ^ @?!@ = 0 or 1, greedy- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An entity in a regular pattern.-data RPat l- = RPOp l (RPat l) (RPatOp l) -- ^ operator pattern, e.g. pat*- | RPEither l (RPat l) (RPat l) -- ^ choice pattern, e.g. (1 | 2)- | RPSeq l [RPat l] -- ^ sequence pattern, e.g. (| 1, 2, 3 |)- | RPGuard l (Pat l) [Stmt l] -- ^ guarded pattern, e.g. (| p | p < 3 |)- | RPCAs l (Name l) (RPat l) -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*- | RPAs l (Name l) (RPat l) -- ^ linear variable binding, e.g. foo\@(1 | 2)- | RPParen l (RPat l) -- ^ parenthesised pattern, e.g. (2*)- | RPPat l (Pat l) -- ^ an ordinary pattern- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An /fpat/ in a labeled record pattern.-data PatField l- = PFieldPat l (QName l) (Pat l) -- ^ ordinary label-pattern pair- | PFieldPun l (Name l) -- ^ record field pun- | PFieldWildcard l -- ^ record field wildcard- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A statement, representing both a /stmt/ in a @do@-expression,--- an ordinary /qual/ in a list comprehension, as well as a /stmt/--- in a pattern guard.-data Stmt l- = Generator l (Pat l) (Exp l)- -- ^ a generator: /pat/ @<-@ /exp/- | Qualifier l (Exp l) -- ^ an /exp/ by itself: in a @do@-expression,- -- an action whose result is discarded;- -- in a list comprehension and pattern guard,- -- a guard expression- | LetStmt l (Binds l) -- ^ local bindings- | RecStmt l [Stmt l] -- ^ a recursive binding group for arrows- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A general /transqual/ in a list comprehension,--- which could potentially be a transform of the kind--- enabled by TransformListComp.-data QualStmt l- = QualStmt l (Stmt l) -- ^ an ordinary statement- | ThenTrans l (Exp l) -- ^ @then@ /exp/- | ThenBy l (Exp l) (Exp l) -- ^ @then@ /exp/ @by@ /exp/- | GroupBy l (Exp l) -- ^ @then@ @group@ @by@ /exp/- | GroupUsing l (Exp l) -- ^ @then@ @group@ @using@ /exp/- | GroupByUsing l (Exp l) (Exp l) -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An /fbind/ in a labeled construction or update expression.-data FieldUpdate l- = FieldUpdate l (QName l) (Exp l) -- ^ ordinary label-expresion pair- | FieldPun l (Name l) -- ^ record field pun- | FieldWildcard l -- ^ record field wildcard- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An /alt/ alternative in a @case@ expression.-data Alt l- = Alt l (Pat l) (GuardedAlts l) (Maybe (Binds l))- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The right-hand sides of a @case@ alternative,--- which may be a single right-hand side or a--- set of guarded ones.-data GuardedAlts l- = UnGuardedAlt l (Exp l) -- ^ @->@ /exp/- | GuardedAlts l [GuardedAlt l] -- ^ /gdpat/- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A guarded case alternative @|@ /stmts/ @->@ /exp/.-data GuardedAlt l- = GuardedAlt l [Stmt l] (Exp l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An alternative in a multiway @if@ expression.-data IfAlt l- = IfAlt l (Exp l) (Exp l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)--------------------------------------------------------------------------------- Builtin names.--prelude_mod, main_mod :: l -> ModuleName l-prelude_mod l = ModuleName l "Prelude"-main_mod l = ModuleName l "Main"--main_name :: l -> Name l-main_name l = Ident l "main"--unit_con_name :: l -> QName l-unit_con_name l = Special l (UnitCon l)--tuple_con_name :: l -> Boxed -> Int -> QName l-tuple_con_name l b i = Special l (TupleCon l b (i+1))--list_cons_name :: l -> QName l-list_cons_name l = Special l (Cons l)--unboxed_singleton_con_name :: l -> QName l-unboxed_singleton_con_name l = Special l (UnboxedSingleCon l)--unit_con :: l -> Exp l-unit_con l = Con l $ unit_con_name l--tuple_con :: l -> Boxed -> Int -> Exp l-tuple_con l b i = Con l (tuple_con_name l b i)--unboxed_singleton_con :: l -> Exp l-unboxed_singleton_con l = Con l (unboxed_singleton_con_name l)--as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: l -> Name l-as_name l = Ident l "as"-qualified_name l = Ident l "qualified"-hiding_name l = Ident l "hiding"-minus_name l = Symbol l "-"-bang_name l = Symbol l "!"-dot_name l = Symbol l "."-star_name l = Symbol l "*"--export_name, safe_name, unsafe_name, threadsafe_name,- stdcall_name, ccall_name, cplusplus_name, dotnet_name,- jvm_name, js_name, forall_name, family_name :: l -> Name l-export_name l = Ident l "export"-safe_name l = Ident l "safe"-unsafe_name l = Ident l "unsafe"-threadsafe_name l = Ident l "threadsafe"-stdcall_name l = Ident l "stdcall"-ccall_name l = Ident l "ccall"-cplusplus_name l = Ident l "cplusplus"-dotnet_name l = Ident l "dotnet"-jvm_name l = Ident l "jvm"-js_name l = Ident l "js"-forall_name l = Ident l "forall"-family_name l = Ident l "family"--unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: l -> QName l-unit_tycon_name l = unit_con_name l-fun_tycon_name l = Special l (FunCon l)-list_tycon_name l = Special l (ListCon l)-unboxed_singleton_tycon_name l = Special l (UnboxedSingleCon l)--tuple_tycon_name :: l -> Boxed -> Int -> QName l-tuple_tycon_name l b i = tuple_con_name l b i--unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> Type l-unit_tycon l = TyCon l $ unit_tycon_name l-fun_tycon l = TyCon l $ fun_tycon_name l-list_tycon l = TyCon l $ list_tycon_name l-unboxed_singleton_tycon l = TyCon l $ unboxed_singleton_tycon_name l--tuple_tycon :: l -> Boxed -> Int -> Type l-tuple_tycon l b i = TyCon l (tuple_tycon_name l b i)---------------------------------------------------------------------------------- AST traversal, boiler-plate style---- | Test if two AST elements are equal modulo annotations.-(=~=) :: (Annotated a, Eq (a ())) => a l1 -> a l2 -> Bool-a =~= b = fmap (const ()) a == fmap (const ()) b---------------------------------------------------------------------------------- Reading annotations---- | AST nodes are annotated, and this class allows manipulation of the annotations.-class Functor ast => Annotated ast where- -- | Retrieve the annotation of an AST node.- ann :: ast l -> l- -- | Change the annotation of an AST node. Note that only the annotation of- -- the node itself is affected, and not the annotations of any child nodes.- -- if all nodes in the AST tree are to be affected, use 'fmap'.- amap :: (l -> l) -> ast l -> ast l--instance Annotated ModuleName where- ann (ModuleName l _) = l- amap f (ModuleName l n) = ModuleName (f l) n--instance Annotated SpecialCon where- ann sc = case sc of- UnitCon l -> l- ListCon l -> l- FunCon l -> l- TupleCon l _ _ -> l- Cons l -> l- UnboxedSingleCon l -> l- amap = fmap--instance Annotated QName where- ann qn = case qn of- Qual l mn n -> l- UnQual l n -> l- Special l sc -> l- amap f qn = case qn of- Qual l mn n -> Qual (f l) mn n- UnQual l n -> UnQual (f l) n- Special l sc -> Special (f l) sc--instance Annotated Name where- ann (Ident l s) = l- ann (Symbol l s) = l- amap = fmap--instance Annotated IPName where- ann (IPDup l s) = l- ann (IPLin l s) = l- amap = fmap--instance Annotated QOp where- ann (QVarOp l qn) = l- ann (QConOp l qn) = l- amap f (QVarOp l qn) = QVarOp (f l) qn- amap f (QConOp l qn) = QConOp (f l) qn--instance Annotated Op where- ann (VarOp l n) = l- ann (ConOp l n) = l- amap f (VarOp l n) = VarOp (f l) n- amap f (ConOp l n) = ConOp (f l) n--instance Annotated CName where- ann (VarName l n) = l- ann (ConName l n) = l- amap f (VarName l n) = VarName (f l) n- amap f (ConName l n) = ConName (f l) n--instance Annotated Module where- ann (Module l mmh ops iss dcls) = l- ann (XmlPage l mn os xn xas me es) = l- ann (XmlHybrid l mmh ops iss dcls xn xas me es) = l-- amap f (Module l mmh ops iss dcls) =- Module (f l) mmh ops iss dcls- amap f (XmlPage l mn os xn xas me es) =- XmlPage (f l) mn os xn xas me es- amap f (XmlHybrid l mmh ops iss dcls xn xas me es) =- XmlHybrid (f l) mmh ops iss dcls xn xas me es--instance Annotated ModuleHead where- ann (ModuleHead l n mwt mesl) = l- amap f (ModuleHead l n mwt mesl) = ModuleHead (f l) n mwt mesl--instance Annotated ExportSpecList where- ann (ExportSpecList l ess) = l- amap f (ExportSpecList l ess) = ExportSpecList (f l) ess--instance Annotated ExportSpec where- ann es = case es of- EVar l qn -> l- EAbs l qn -> l- EThingAll l qn -> l- EThingWith l qn cns -> l- EModuleContents l mn -> l- amap f es = case es of- EVar l qn -> EVar (f l) qn- EAbs l qn -> EAbs (f l) qn- EThingAll l qn -> EThingAll (f l) qn- EThingWith l qn cns -> EThingWith (f l) qn cns- EModuleContents l mn -> EModuleContents (f l) mn--instance Annotated ImportDecl where- ann (ImportDecl l mn qual src pkg mmn mis) = l- amap f (ImportDecl l mn qual src pkg mmn mis) =- ImportDecl (f l) mn qual src pkg mmn mis--instance Annotated ImportSpecList where- ann (ImportSpecList l b iss) = l- amap f (ImportSpecList l b iss) = ImportSpecList (f l) b iss--instance Annotated ImportSpec where- ann is = case is of- IVar l n -> l- IAbs l n -> l- IThingAll l n -> l- IThingWith l n cns -> l- amap f is = case is of- IVar l n -> IVar (f l) n- IAbs l n -> IAbs (f l) n- IThingAll l n -> IThingAll (f l) n- IThingWith l n cns -> IThingWith (f l) n cns--instance Annotated Assoc where- ann (AssocNone l) = l- ann (AssocLeft l) = l- ann (AssocRight l) = l- amap = fmap--instance Annotated Deriving where- ann (Deriving l ihs) = l- amap f (Deriving l ihs) = Deriving (f l) ihs--instance Annotated Decl where- ann decl = case decl of- TypeDecl l dh t -> l- TypeFamDecl l dh mk -> l- DataDecl l dn cx dh cds ders -> l- GDataDecl l dn cx dh mk gds ders -> l- DataFamDecl l cx dh mk -> l- TypeInsDecl l t1 t2 -> l- DataInsDecl l dn t cds ders -> l- GDataInsDecl l dn t mk gds ders -> l- ClassDecl l cx dh fds cds -> l- InstDecl l cx ih ids -> l- DerivDecl l cx ih -> l- InfixDecl l a k ops -> l- DefaultDecl l ts -> l- SpliceDecl l sp -> l- TypeSig l ns t -> l- FunBind l ms -> l- PatBind l p mt rhs bs -> l- ForImp l cc msf s n t -> l- ForExp l cc s n t -> l- RulePragmaDecl l rs -> l- DeprPragmaDecl l nss -> l- WarnPragmaDecl l nss -> l- InlineSig l b act qn -> l- InlineConlikeSig l act qn -> l- SpecSig l act qn ts -> l- SpecInlineSig l b act qn ts -> l- InstSig l cx ih -> l- AnnPragma l ann -> l- amap f decl = case decl of- TypeDecl l dh t -> TypeDecl (f l) dh t- TypeFamDecl l dh mk -> TypeFamDecl (f l) dh mk- DataDecl l dn mcx dh cds ders ->- DataDecl (f l) dn mcx dh cds ders- GDataDecl l dn mcx dh mk gds ders ->- GDataDecl (f l) dn mcx dh mk gds ders- DataFamDecl l mcx dh mk -> DataFamDecl (f l) mcx dh mk- TypeInsDecl l t1 t2 -> TypeInsDecl (f l) t1 t2- DataInsDecl l dn t cds ders -> DataInsDecl (f l) dn t cds ders- GDataInsDecl l dn t mk gds ders -> GDataInsDecl (f l) dn t mk gds ders- ClassDecl l mcx dh fds cds -> ClassDecl (f l) mcx dh fds cds- InstDecl l mcx ih ids -> InstDecl (f l) mcx ih ids- DerivDecl l mcx ih -> DerivDecl (f l) mcx ih- InfixDecl l a k ops -> InfixDecl (f l) a k ops- DefaultDecl l ts -> DefaultDecl (f l) ts- SpliceDecl l sp -> SpliceDecl (f l) sp- TypeSig l ns t -> TypeSig (f l) ns t- FunBind l ms -> FunBind (f l) ms- PatBind l p mt rhs bs -> PatBind (f l) p mt rhs bs- ForImp l cc msf s n t -> ForImp (f l) cc msf s n t- ForExp l cc s n t -> ForExp (f l) cc s n t- RulePragmaDecl l rs -> RulePragmaDecl (f l) rs- DeprPragmaDecl l nss -> DeprPragmaDecl (f l) nss- WarnPragmaDecl l nss -> WarnPragmaDecl (f l) nss- InlineSig l b act qn -> InlineSig (f l) b act qn- InlineConlikeSig l act qn -> InlineConlikeSig (f l) act qn- SpecSig l act qn ts -> SpecSig (f l) act qn ts- SpecInlineSig l b act qn ts -> SpecInlineSig (f l) b act qn ts- InstSig l mcx ih -> InstSig (f l) mcx ih- AnnPragma l ann -> AnnPragma (f l) ann--instance Annotated Annotation where- ann (Ann l n e) = l- ann (TypeAnn l n e) = l- ann (ModuleAnn l e) = l- amap f (Ann l n e) = Ann (f l) n e- amap f (TypeAnn l n e) = TypeAnn (f l) n e- amap f (ModuleAnn l e) = ModuleAnn (f l) e--instance Annotated DataOrNew where- ann (DataType l) = l- ann (NewType l) = l- amap = fmap--instance Annotated DeclHead where- ann (DHead l n tvs) = l- ann (DHInfix l tva n tvb) = l- ann (DHParen l dh) = l- amap f (DHead l n tvs) = DHead (f l) n tvs- amap f (DHInfix l tva n tvb) = DHInfix (f l) tva n tvb- amap f (DHParen l dh) = DHParen (f l) dh--instance Annotated InstHead where- ann (IHead l qn ts) = l- ann (IHInfix l ta qn tb) = l- ann (IHParen l ih) = l- amap f (IHead l qn ts) = IHead (f l) qn ts- amap f (IHInfix l ta qn tb) = IHInfix (f l) ta qn tb- amap f (IHParen l ih) = IHParen (f l) ih--instance Annotated Binds where- ann (BDecls l decls) = l- ann (IPBinds l ibs) = l- amap f (BDecls l decls) = BDecls (f l) decls- amap f (IPBinds l ibs) = IPBinds (f l) ibs--instance Annotated IPBind where- ann (IPBind l ipn e) = l- amap f (IPBind l ipn e) = IPBind (f l) ipn e--instance Annotated Match where- ann (Match l n ps rhs bs) = l- ann (InfixMatch l a n b rhs bs) = l- amap f (Match l n ps rhs bs) = Match (f l) n ps rhs bs- amap f (InfixMatch l a n b rhs bs) = InfixMatch (f l) a n b rhs bs--instance Annotated QualConDecl where- ann (QualConDecl l tvs cx cd) = l- amap f (QualConDecl l tvs cx cd) = QualConDecl (f l) tvs cx cd--instance Annotated ConDecl where- ann (ConDecl l n bts) = l- ann (InfixConDecl l ta n tb) = l- ann (RecDecl l n nsbts) = l- amap f (ConDecl l n bts) = ConDecl (f l) n bts- amap f (InfixConDecl l ta n tb) = InfixConDecl (f l) ta n tb- amap f (RecDecl l n fds) = RecDecl (f l) n fds--instance Annotated FieldDecl where- ann (FieldDecl l ns t) = l- amap f (FieldDecl l ns t) = FieldDecl (f l) ns t--instance Annotated GadtDecl where- ann (GadtDecl l n t) = l- amap f (GadtDecl l n t) = GadtDecl (f l) n t--instance Annotated ClassDecl where- ann (ClsDecl l d) = l- ann (ClsDataFam l cx dh mk) = l- ann (ClsTyFam l dh mk) = l- ann (ClsTyDef l t1 t2) = l- amap f (ClsDecl l d) = ClsDecl (f l) d- amap f (ClsDataFam l mcx dh mk) = ClsDataFam (f l) mcx dh mk- amap f (ClsTyFam l dh mk) = ClsTyFam (f l) dh mk- amap f (ClsTyDef l t1 t2) = ClsTyDef (f l) t1 t2--instance Annotated InstDecl where- ann id = case id of- InsDecl l d -> l- InsType l t1 t2 -> l- InsData l dn t cds ders -> l- InsGData l dn t mk gds ders -> l--- InsInline l b act qn -> l- amap f id = case id of- InsDecl l d -> InsDecl (f l) d- InsType l t1 t2 -> InsType (f l) t1 t2- InsData l dn t cds ders -> InsData (f l) dn t cds ders- InsGData l dn t mk gds ders -> InsGData (f l) dn t mk gds ders--- InsInline l b act qn -> InsInline (f l) b act qn--instance Annotated BangType where- ann (BangedTy l t) = l- ann (UnBangedTy l t) = l- ann (UnpackedTy l t) = l- amap f (BangedTy l t) = BangedTy (f l) t- amap f (UnBangedTy l t) = UnBangedTy (f l) t- amap f (UnpackedTy l t) = UnpackedTy (f l) t--instance Annotated Rhs where- ann (UnGuardedRhs l e) = l- ann (GuardedRhss l grhss) = l- amap f (UnGuardedRhs l e) = UnGuardedRhs (f l) e- amap f (GuardedRhss l grhss) = GuardedRhss (f l) grhss--instance Annotated GuardedRhs where- ann (GuardedRhs l ss e) = l- amap f (GuardedRhs l ss e) = GuardedRhs (f l) ss e--instance Annotated Type where- ann t = case t of- TyForall l mtvs cx t -> l- TyFun l t1 t2 -> l- TyTuple l b ts -> l- TyList l t -> l- TyApp l t1 t2 -> l- TyVar l n -> l- TyCon l qn -> l- TyParen l t -> l- TyInfix l ta qn tb -> l- TyKind l t k -> l- TyPromoted l p -> l- amap f t = case t of- TyForall l mtvs mcx t -> TyForall (f l) mtvs mcx t- TyFun l t1 t2 -> TyFun (f l) t1 t2- TyTuple l b ts -> TyTuple (f l) b ts- TyList l t -> TyList (f l) t- TyApp l t1 t2 -> TyApp (f l) t1 t2- TyVar l n -> TyVar (f l) n- TyCon l qn -> TyCon (f l) qn- TyParen l t -> TyParen (f l) t- TyInfix l ta qn tb -> TyInfix (f l) ta qn tb- TyKind l t k -> TyKind (f l) t k- TyPromoted l p -> TyPromoted (f l) p--instance Annotated TyVarBind where- ann (KindedVar l n k) = l- ann (UnkindedVar l n) = l- amap f (KindedVar l n k) = KindedVar (f l) n k- amap f (UnkindedVar l n) = UnkindedVar (f l) n--instance Annotated Kind where- ann (KindStar l) = l- ann (KindBang l) = l- ann (KindFn l k1 k2) = l- ann (KindParen l k) = l- ann (KindVar l v) = l- ann (KindApp l k1 k2) = l- ann (KindTuple l ks) = l- ann (KindList l ks) = l- amap f (KindStar l) = KindStar (f l)- amap f (KindBang l) = KindBang (f l)- amap f (KindFn l k1 k2) = KindFn (f l) k1 k2- amap f (KindParen l k) = KindParen (f l) k- amap f (KindVar l n) = KindVar (f l) n- amap f (KindApp l k1 k2) = KindApp (f l) k1 k2- amap f (KindTuple l ks) = KindTuple (f l) ks- amap f (KindList l ks) = KindList (f l) ks--instance Annotated FunDep where- ann (FunDep l ns1 ns2) = l- amap f (FunDep l ns1 ns2) = FunDep (f l) ns1 ns2--instance Annotated Context where- ann (CxSingle l asst ) = l- ann (CxTuple l assts) = l- ann (CxParen l ctxt ) = l- ann (CxEmpty l) = l- amap f (CxSingle l asst ) = CxSingle (f l) asst- amap f (CxTuple l assts) = CxTuple (f l) assts- amap f (CxParen l ctxt ) = CxParen (f l) ctxt- amap f (CxEmpty l) = CxEmpty (f l)--instance Annotated Asst where- ann asst = case asst of- ClassA l qn ts -> l- InfixA l ta qn tb -> l- IParam l ipn t -> l- EqualP l t1 t2 -> l- amap f asst = case asst of- ClassA l qn ts -> ClassA (f l) qn ts- InfixA l ta qn tb -> InfixA (f l) ta qn tb- IParam l ipn t -> IParam (f l) ipn t- EqualP l t1 t2 -> EqualP (f l) t1 t2--instance Annotated Literal where- ann lit = case lit of- Char l c rw -> l- String l s rw -> l- Int l i rw -> l- Frac l r rw -> l- PrimInt l i rw -> l- PrimWord l i rw -> l- PrimFloat l r rw -> l- PrimDouble l r rw -> l- PrimChar l c rw -> l- PrimString l s rw -> l- amap = fmap--instance Annotated Exp where- ann e = case e of- Var l qn -> l- IPVar l ipn -> l- Con l qn -> l- Lit l lit -> l- InfixApp l e1 qop e2 -> l- App l e1 e2 -> l- NegApp l e -> l- Lambda l ps e -> l- Let l bs e -> l- If l ec et ee -> l- MultiIf l alts -> l- Case l e alts -> l- Do l ss -> l- MDo l ss -> l- Tuple l bx es -> l- TupleSection l bx mes -> l- List l es -> l- Paren l e -> l- LeftSection l e qop -> l- RightSection l qop e -> l- RecConstr l qn fups -> l- RecUpdate l e fups -> l- EnumFrom l e -> l- EnumFromTo l ef et -> l- EnumFromThen l ef et -> l- EnumFromThenTo l ef eth eto -> l- ListComp l e qss -> l- ParComp l e qsss -> l- ExpTypeSig l e t -> l- VarQuote l qn -> l- TypQuote l qn -> l- BracketExp l br -> l- SpliceExp l sp -> l- QuasiQuote l sn se -> l-- XTag l xn xas me es -> l- XETag l xn xas me -> l- XPcdata l s -> l- XExpTag l e -> l- XChildTag l es -> l-- CorePragma l s e -> l- SCCPragma l s e -> l- GenPragma l s n12 n34 e -> l-- Proc l p e -> l- LeftArrApp l e1 e2 -> l- RightArrApp l e1 e2 -> l- LeftArrHighApp l e1 e2 -> l- RightArrHighApp l e1 e2 -> l-- LCase l alts -> l-- amap f e = case e of- Var l qn -> Var (f l) qn- IPVar l ipn -> IPVar (f l) ipn- Con l qn -> Con (f l) qn- Lit l lit -> Lit (f l) lit- InfixApp l e1 qop e2 -> InfixApp (f l) e1 qop e2- App l e1 e2 -> App (f l) e1 e2- NegApp l e -> NegApp (f l) e- Lambda l ps e -> Lambda (f l) ps e- Let l bs e -> Let (f l) bs e- If l ec et ee -> If (f l) ec et ee- Case l e alts -> Case (f l) e alts- Do l ss -> Do (f l) ss- MDo l ss -> MDo (f l) ss- Tuple l bx es -> Tuple (f l) bx es- TupleSection l bx mes -> TupleSection (f l) bx mes- List l es -> List (f l) es- Paren l e -> Paren (f l) e- LeftSection l e qop -> LeftSection (f l) e qop- RightSection l qop e -> RightSection (f l) qop e- RecConstr l qn fups -> RecConstr (f l) qn fups- RecUpdate l e fups -> RecUpdate (f l) e fups- EnumFrom l e -> EnumFrom (f l) e- EnumFromTo l ef et -> EnumFromTo (f l) ef et- EnumFromThen l ef et -> EnumFromThen (f l) ef et- EnumFromThenTo l ef eth eto -> EnumFromThenTo (f l) ef eth eto- ListComp l e qss -> ListComp (f l) e qss- ParComp l e qsss -> ParComp (f l) e qsss- ExpTypeSig l e t -> ExpTypeSig (f l) e t- VarQuote l qn -> VarQuote (f l) qn- TypQuote l qn -> TypQuote (f l) qn- BracketExp l br -> BracketExp (f l) br- SpliceExp l sp -> SpliceExp (f l) sp- QuasiQuote l sn se -> QuasiQuote (f l) sn se-- XTag l xn xas me es -> XTag (f l) xn xas me es- XETag l xn xas me -> XETag (f l) xn xas me- XPcdata l s -> XPcdata (f l) s- XExpTag l e -> XExpTag (f l) e- XChildTag l es -> XChildTag (f l) es-- CorePragma l s e -> CorePragma (f l) s e- SCCPragma l s e -> SCCPragma (f l) s e- GenPragma l s n12 n34 e -> GenPragma (f l) s n12 n34 e-- Proc l p e -> Proc (f l) p e- LeftArrApp l e1 e2 -> LeftArrApp (f l) e1 e2- RightArrApp l e1 e2 -> RightArrApp (f l) e1 e2- LeftArrHighApp l e1 e2 -> LeftArrHighApp (f l) e1 e2- RightArrHighApp l e1 e2 -> RightArrHighApp (f l) e1 e2-- LCase l alts -> LCase (f l) alts- MultiIf l alts -> MultiIf (f l) alts---instance Annotated XName where- ann (XName l s) = l- ann (XDomName l sd sn) = l- amap = fmap--instance Annotated XAttr where- ann (XAttr l xn e) = l- amap f (XAttr l xn e) = XAttr (f l) xn e--instance Annotated Bracket where- ann (ExpBracket l e) = l- ann (PatBracket l p) = l- ann (TypeBracket l t) = l- ann (DeclBracket l ds) = l- amap f (ExpBracket l e) = ExpBracket (f l) e- amap f (PatBracket l p) = PatBracket (f l) p- amap f (TypeBracket l t) = TypeBracket (f l) t- amap f (DeclBracket l ds) = DeclBracket (f l) ds--instance Annotated Splice where- ann (IdSplice l s) = l- ann (ParenSplice l e) = l- amap f (IdSplice l s) = IdSplice (f l) s- amap f (ParenSplice l e) = ParenSplice (f l) e--instance Annotated Safety where- ann (PlayRisky l) = l- ann (PlaySafe l b) = l- ann (PlayInterruptible l) = l- amap = fmap--instance Annotated CallConv where- ann (StdCall l) = l- ann (CCall l) = l- ann (CPlusPlus l) = l- ann (DotNet l) = l- ann (Jvm l) = l- ann (Js l) = l- ann (CApi l) = l- amap = fmap--instance Annotated ModulePragma where- ann (LanguagePragma l ns) = l- ann (OptionsPragma l mt s) = l- ann (AnnModulePragma l a) = l- amap f (LanguagePragma l ns) = LanguagePragma (f l) ns- amap f (AnnModulePragma l a) = AnnModulePragma (f l) a- amap f p = fmap f p--instance Annotated Activation where- ann (ActiveFrom l k) = l- ann (ActiveUntil l k) = l- amap = fmap--instance Annotated Rule where- ann (Rule l s act mrvs e1 e2) = l- amap f (Rule l s act mrvs e1 e2) = Rule (f l) s act mrvs e1 e2--instance Annotated RuleVar where- ann (RuleVar l n) = l- ann (TypedRuleVar l n t) = l- amap f (RuleVar l n) = RuleVar (f l) n- amap f (TypedRuleVar l n t) = TypedRuleVar (f l) n t--instance Annotated WarningText where- ann (DeprText l s) = l- ann (WarnText l s) = l- amap = fmap--instance Annotated Pat where- ann p = case p of- PVar l n -> l- PLit l lit -> l- PNeg l p -> l- PNPlusK l n k -> l- PInfixApp l pa qn pb -> l- PApp l qn ps -> l- PTuple l bx ps -> l- PList l ps -> l- PParen l p -> l- PRec l qn pfs -> l- PAsPat l n p -> l- PWildCard l -> l- PIrrPat l p -> l- PatTypeSig l p t -> l- PViewPat l e p -> l- PRPat l rps -> l- PXTag l xn pxas mp ps -> l- PXETag l xn pxas mp -> l- PXPcdata l s -> l- PXPatTag l p -> l- PXRPats l rps -> l- PQuasiQuote l sn st -> l- PBangPat l p -> l- amap f p = case p of- PVar l n -> PVar (f l) n- PLit l lit -> PLit (f l) lit- PNeg l p -> PNeg (f l) p- PNPlusK l n k -> PNPlusK (f l) n k- PInfixApp l pa qn pb -> PInfixApp (f l) pa qn pb- PApp l qn ps -> PApp (f l) qn ps- PTuple l bx ps -> PTuple (f l) bx ps- PList l ps -> PList (f l) ps- PParen l p -> PParen (f l) p- PRec l qn pfs -> PRec (f l) qn pfs- PAsPat l n p -> PAsPat (f l) n p- PWildCard l -> PWildCard (f l)- PIrrPat l p -> PIrrPat (f l) p- PatTypeSig l p t -> PatTypeSig (f l) p t- PViewPat l e p -> PViewPat (f l) e p- PRPat l rps -> PRPat (f l) rps- PXTag l xn pxas mp ps -> PXTag (f l) xn pxas mp ps- PXETag l xn pxas mp -> PXETag (f l) xn pxas mp- PXPcdata l s -> PXPcdata (f l) s- PXPatTag l p -> PXPatTag (f l) p- PXRPats l rps -> PXRPats (f l) rps- PQuasiQuote l sn st -> PQuasiQuote (f l) sn st- PBangPat l p -> PBangPat (f l) p--instance Annotated PXAttr where- ann (PXAttr l xn p) = l- amap f (PXAttr l xn p) = PXAttr (f l) xn p--instance Annotated RPatOp where- ann (RPStar l) = l- ann (RPStarG l) = l- ann (RPPlus l) = l- ann (RPPlusG l) = l- ann (RPOpt l) = l- ann (RPOptG l) = l- amap = fmap--instance Annotated RPat where- ann rp = case rp of- RPOp l rp rop -> l- RPEither l rp1 rp2 -> l- RPSeq l rps -> l- RPGuard l p ss -> l- RPCAs l n rp -> l- RPAs l n rp -> l- RPParen l rp -> l- RPPat l p -> l- amap f rp = case rp of- RPOp l rp rop -> RPOp (f l) rp rop- RPEither l rp1 rp2 -> RPEither (f l) rp1 rp2- RPSeq l rps -> RPSeq (f l) rps- RPGuard l p ss -> RPGuard (f l) p ss- RPCAs l n rp -> RPCAs (f l) n rp- RPAs l n rp -> RPAs (f l) n rp- RPParen l rp -> RPParen (f l) rp- RPPat l p -> RPPat (f l) p--instance Annotated PatField where- ann (PFieldPat l qn p) = l- ann (PFieldPun l n) = l- ann (PFieldWildcard l) = l- amap f (PFieldPat l qn p) = PFieldPat (f l) qn p- amap f (PFieldPun l n) = PFieldPun (f l) n- amap f (PFieldWildcard l) = PFieldWildcard (f l)--instance Annotated Stmt where- ann (Generator l p e) = l- ann (Qualifier l e) = l- ann (LetStmt l bs) = l- ann (RecStmt l ss) = l- amap f (Generator l p e) = Generator (f l) p e- amap f (Qualifier l e) = Qualifier (f l) e- amap f (LetStmt l bs) = LetStmt (f l) bs- amap f (RecStmt l ss) = RecStmt (f l) ss--instance Annotated QualStmt where- ann (QualStmt l s) = l- ann (ThenTrans l e) = l- ann (ThenBy l e1 e2) = l- ann (GroupBy l e) = l- ann (GroupUsing l e) = l- ann (GroupByUsing l e1 e2) = l- amap f (QualStmt l s) = QualStmt (f l) s- amap f (ThenTrans l e) = ThenTrans (f l) e- amap f (ThenBy l e1 e2) = ThenBy (f l) e1 e2- amap f (GroupBy l e) = GroupBy (f l) e- amap f (GroupUsing l e) = GroupUsing (f l) e- amap f (GroupByUsing l e1 e2) = GroupByUsing (f l) e1 e2--instance Annotated FieldUpdate where- ann (FieldUpdate l qn e) = l- ann (FieldPun l n) = l- ann (FieldWildcard l) = l- amap f (FieldUpdate l qn e) = FieldUpdate (f l) qn e- amap f (FieldPun l n) = FieldPun (f l) n- amap f (FieldWildcard l) = FieldWildcard (f l)--instance Annotated Alt where- ann (Alt l p gs bs) = l- amap f (Alt l p gs bs) = Alt (f l) p gs bs--instance Annotated GuardedAlts where- ann (UnGuardedAlt l e) = l- ann (GuardedAlts l galts) = l- amap f (UnGuardedAlt l e) = UnGuardedAlt (f l) e- amap f (GuardedAlts l galts) = GuardedAlts (f l) galts--instance Annotated GuardedAlt where- ann (GuardedAlt l ss e) = l- amap f (GuardedAlt l ss e) = GuardedAlt (f l) ss e--instance Annotated Promoted where- ann (PromotedInteger l int raw) = l- ann (PromotedString l str raw) = l- ann (PromotedCon l b qn) = l- ann (PromotedList l b ps) = l- ann (PromotedTuple l ps) = l- ann (PromotedUnit l) = l- amap f (PromotedInteger l int raw) = PromotedInteger (f l) int raw- amap f (PromotedString l str raw) = PromotedString (f l) str raw- amap f (PromotedCon l b qn) = PromotedCon (f l) b qn- amap f (PromotedList l b ps) = PromotedList (f l) b ps- amap f (PromotedTuple l ps) = PromotedTuple (f l) ps- amap f (PromotedUnit l) = PromotedUnit (f l)--instance Annotated IfAlt where- ann (IfAlt l e1 e2) = l- amap f (IfAlt l e1 e2) = IfAlt (f l) e1 e2
src/Language/Haskell/Exts/Build.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Build@@ -20,54 +22,54 @@ module Language.Haskell.Exts.Build ( -- * Syntax building functions- name, -- :: String -> Name- sym, -- :: String -> Name- var, -- :: Name -> Exp- op, -- :: Name -> QOp- qvar, -- :: Module -> Name -> Exp- pvar, -- :: Name -> Pat- app, -- :: Exp -> Exp -> Exp- infixApp, -- :: Exp -> QOp -> Exp -> Exp- appFun, -- :: Exp -> [Exp] -> Exp- pApp, -- :: Name -> [Pat] -> Pat- tuple, -- :: [Exp] -> Exp- pTuple, -- :: [Pat] -> Pat- varTuple, -- :: [Name] -> Exp- pvarTuple, -- :: [Name] -> Pat- function, -- :: String -> Exp- strE, -- :: String -> Exp- charE, -- :: Char -> Exp- intE, -- :: Integer -> Exp- strP, -- :: String -> Pat- charP, -- :: Char -> Pat- intP, -- :: Integer -> Pat- doE, -- :: [Stmt] -> Exp- lamE, -- :: SrcLoc -> [Pat] -> Exp -> Exp- letE, -- :: [Decl] -> Exp -> Exp- caseE, -- :: Exp -> [Alt] -> Exp- alt, -- :: SrcLoc -> Pat -> Exp -> Alt- altGW, -- :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt- listE, -- :: [Exp] -> Exp- eList, -- :: Exp- peList, -- :: Pat- paren, -- :: Exp -> Exp- pParen, -- :: Pat -> Pat- qualStmt, -- :: Exp -> Stmt- genStmt, -- :: SrcLoc -> Pat -> Exp -> Stmt+ name, -- :: String -> Name ()+ sym, -- :: String -> Name ()+ var, -- :: Name () -> Exp ()+ op, -- :: Name () -> QOp+ qvar, -- :: Module -> Name () -> Exp ()+ pvar, -- :: Name () -> Pat ()+ app, -- :: Exp () -> Exp () -> Exp ()+ infixApp, -- :: Exp () -> QOp -> Exp () -> Exp ()+ appFun, -- :: Exp () -> [Exp] -> Exp ()+ pApp, -- :: Name () -> [Pat] -> Pat ()+ tuple, -- :: [Exp] -> Exp ()+ pTuple, -- :: [Pat] -> Pat ()+ varTuple, -- :: [Name] -> Exp ()+ pvarTuple, -- :: [Name] -> Pat ()+ function, -- :: String -> Exp ()+ strE, -- :: String -> Exp ()+ charE, -- :: Char -> Exp ()+ intE, -- :: Integer -> Exp ()+ strP, -- :: String -> Pat ()+ charP, -- :: Char -> Pat ()+ intP, -- :: Integer -> Pat ()+ doE, -- :: [Stmt] -> Exp ()+ lamE, -- :: SrcLoc -> [Pat] -> Exp () -> Exp ()+ letE, -- :: [Decl] -> Exp () -> Exp ()+ caseE, -- :: Exp () -> [Alt] -> Exp ()+ alt, -- :: SrcLoc -> Pat () -> Exp () -> Alt+ altGW, -- :: SrcLoc -> Pat () -> [Stmt] -> Exp () -> Binds -> Alt+ listE, -- :: [Exp] -> Exp ()+ eList, -- :: Exp ()+ peList, -- :: Pat ()+ paren, -- :: Exp () -> Exp ()+ pParen, -- :: Pat () -> Pat ()+ qualStmt, -- :: Exp () -> Stmt+ genStmt, -- :: SrcLoc -> Pat () -> Exp () -> Stmt letStmt, -- :: [Decl] -> Stmt binds, -- :: [Decl] -> Binds noBinds, -- :: Binds- wildcard, -- :: Pat+ wildcard, -- :: Pat () genNames, -- :: String -> Int -> [Name] -- * More advanced building- sfun, -- :: SrcLoc -> Name -> [Name] -> Rhs -> Binds -> Decl- simpleFun, -- :: SrcLoc -> Name -> Name -> Exp -> Decl- patBind, -- :: SrcLoc -> Pat -> Exp -> Decl- patBindWhere, -- :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl- nameBind, -- :: SrcLoc -> Name -> Exp -> Decl- metaFunction, -- :: String -> [Exp] -> Exp- metaConPat -- :: String -> [Pat] -> Pat+ sfun, -- :: SrcLoc -> Name () -> [Name] -> Rhs -> Binds -> Decl ()+ simpleFun, -- :: SrcLoc -> Name () -> Name () -> Exp () -> Decl ()+ patBind, -- :: SrcLoc -> Pat () -> Exp () -> Decl ()+ patBindWhere, -- :: SrcLoc -> Pat () -> Exp () -> [Decl] -> Decl ()+ nameBind, -- :: SrcLoc -> Name () -> Exp () -> Decl ()+ metaFunction, -- :: String -> [Exp] -> Exp ()+ metaConPat -- :: String -> [Pat] -> Pat () ) where import Language.Haskell.Exts.Syntax@@ -77,214 +79,216 @@ -- | An identifier with the given string as its name. -- The string should be a valid Haskell identifier.-name :: String -> Name-name = Ident+name :: String -> Name ()+name = Ident () -- | A symbol identifier. The string should be a valid -- Haskell symbol identifier.-sym :: String -> Name-sym = Symbol+sym :: String -> Name ()+sym = Symbol () -- | A local variable as expression.-var :: Name -> Exp-var = Var . UnQual+var :: Name () -> Exp ()+var = Var () . UnQual () -- | Use the given identifier as an operator.-op :: Name -> QOp-op = QVarOp . UnQual+op :: Name () -> QOp ()+op = QVarOp () . UnQual () -- | A qualified variable as expression.-qvar :: ModuleName -> Name -> Exp-qvar m n = Var $ Qual m n+qvar :: ModuleName () -> Name () -> Exp ()+qvar m n = Var () $ Qual () m n -- | A pattern variable.-pvar :: Name -> Pat-pvar = PVar+pvar :: Name () -> Pat ()+pvar = PVar () -- | Application of expressions by juxtaposition.-app :: Exp -> Exp -> Exp-app = App+app :: Exp () -> Exp () -> Exp ()+app = App () -- | Apply an operator infix.-infixApp :: Exp -> QOp -> Exp -> Exp-infixApp = InfixApp+infixApp :: Exp () -> QOp () -> Exp () -> Exp ()+infixApp = InfixApp () -- | Apply a function to a list of arguments.-appFun :: Exp -> [Exp] -> Exp+appFun :: Exp () -> [Exp ()] -> Exp () appFun f [] = f appFun f (a:as) = appFun (app f a) as -- | A constructor pattern, with argument patterns.-pApp :: Name -> [Pat] -> Pat-pApp n ps = PApp (UnQual n) ps+pApp :: Name () -> [Pat ()] -> Pat ()+pApp n ps = PApp () (UnQual () n) ps -- | A tuple expression.-tuple :: [Exp] -> Exp-tuple = Tuple Boxed+tuple :: [Exp ()] -> Exp ()+tuple = Tuple () Boxed -- | A tuple pattern.-pTuple :: [Pat] -> Pat-pTuple = PTuple Boxed+pTuple :: [Pat ()] -> Pat ()+pTuple = PTuple () Boxed -- | A tuple expression consisting of variables only.-varTuple :: [Name] -> Exp+varTuple :: [Name ()] -> Exp () varTuple ns = tuple $ map var ns -- | A tuple pattern consisting of variables only.-pvarTuple :: [Name] -> Pat+pvarTuple :: [Name ()] -> Pat () pvarTuple ns = pTuple $ map pvar ns -- | A function with a given name.-function :: String -> Exp-function = var . Ident+function :: String -> Exp ()+function = var . Ident () -- | A literal string expression.-strE :: String -> Exp-strE = Lit . String+strE :: String -> Exp ()+strE s = Lit () (String () s s) -- | A literal character expression.-charE :: Char -> Exp-charE = Lit . Char+charE :: Char -> Exp ()+charE c = Lit () (Char () c [c]) -- | A literal integer expression.-intE :: Integer -> Exp-intE = Lit . Int+intE :: Integer -> Exp ()+intE n = Lit () (Int () n (show n)) -- | A literal string pattern.-strP :: String -> Pat-strP = PLit . String+strP :: String -> Pat ()+strP s = PLit () (Signless ()) (String () s s) -- | A literal character pattern.-charP :: Char -> Pat-charP = PLit . Char+charP :: Char -> Pat ()+charP x = PLit () (Signless ()) (Char () x [x]) -- | A literal integer pattern.-intP :: Integer -> Pat-intP = PLit . Int+intP :: Integer -> Pat ()+intP x = PLit ()+ (if x >= 0 then Signless () else Negative ())+ (Int () (abs x) (show x)) -- | A do block formed by the given statements. -- The last statement in the list should be -- a 'Qualifier' expression.-doE :: [Stmt] -> Exp-doE = Do+doE :: [Stmt ()] -> Exp ()+doE = Do () -- | Lambda abstraction, given a list of argument -- patterns and an expression body.-lamE :: SrcLoc -> [Pat] -> Exp -> Exp-lamE = Lambda+lamE :: [Pat ()] -> Exp () -> Exp ()+lamE = Lambda () -- | A @let@ ... @in@ block.-letE :: [Decl] -> Exp -> Exp-letE ds e = Let (binds ds) e+letE :: [Decl ()] -> Exp () -> Exp ()+letE ds e = Let () (binds ds) e -- | A @case@ expression.-caseE :: Exp -> [Alt] -> Exp-caseE = Case+caseE :: Exp () -> [Alt ()] -> Exp ()+caseE = Case () -- | An unguarded alternative in a @case@ expression.-alt :: SrcLoc -> Pat -> Exp -> Alt-alt s p e = Alt s p (unGAlt e) noBinds+alt :: Pat () -> Exp () -> Alt ()+alt p e = Alt () p (unGAlt e) noBinds -- | An alternative with a single guard in a @case@ expression.-altGW :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt-altGW s p gs e w = Alt s p (gAlt s gs e) w+altGW :: Pat () -> [Stmt ()] -> Exp () -> Binds () -> Alt ()+altGW p gs e w = Alt () p (gAlt gs e) (Just w) -- | An unguarded righthand side of a @case@ alternative.-unGAlt :: Exp -> GuardedAlts-unGAlt = UnGuardedAlt+unGAlt :: Exp () -> Rhs ()+unGAlt = UnGuardedRhs () -- | An list of guarded righthand sides for a @case@ alternative.-gAlts :: SrcLoc -> [([Stmt],Exp)] -> GuardedAlts-gAlts s as = GuardedAlts $ map (\(gs,e) -> GuardedAlt s gs e) as+gAlts :: [([Stmt ()],Exp ())] -> Rhs ()+gAlts as = GuardedRhss () $ map (\(gs,e) -> GuardedRhs () gs e) as -- | A single guarded righthand side for a @case@ alternative.-gAlt :: SrcLoc -> [Stmt] -> Exp -> GuardedAlts-gAlt s gs e = gAlts s [(gs,e)]+gAlt :: [Stmt ()] -> Exp () -> Rhs ()+gAlt gs e = gAlts [(gs,e)] -- | A list expression.-listE :: [Exp] -> Exp-listE = List+listE :: [Exp ()] -> Exp ()+listE = List () -- | The empty list expression.-eList :: Exp-eList = List []+eList :: Exp ()+eList = List () [] -- | The empty list pattern.-peList :: Pat-peList = PList []+peList :: Pat ()+peList = PList () [] -- | Put parentheses around an expression.-paren :: Exp -> Exp-paren = Paren+paren :: Exp () -> Exp ()+paren = Paren () -- | Put parentheses around a pattern.-pParen :: Pat -> Pat-pParen = PParen+pParen :: Pat () -> Pat ()+pParen = PParen () -- | A qualifier expression statement.-qualStmt :: Exp -> Stmt-qualStmt = Qualifier+qualStmt :: Exp () -> Stmt ()+qualStmt = Qualifier () -- | A generator statement: /pat/ @<-@ /exp/-genStmt :: SrcLoc -> Pat -> Exp -> Stmt-genStmt = Generator+genStmt :: Pat () -> Exp () -> Stmt ()+genStmt = Generator () -- | A @let@ binding group as a statement.-letStmt :: [Decl] -> Stmt-letStmt ds = LetStmt $ binds ds+letStmt :: [Decl ()] -> Stmt ()+letStmt ds = LetStmt () $ binds ds -- | Hoist a set of declarations to a binding group.-binds :: [Decl] -> Binds-binds = BDecls+binds :: [Decl ()] -> Binds ()+binds = BDecls () -- | An empty binding group.-noBinds :: Binds-noBinds = binds []+noBinds :: Maybe (Binds ())+noBinds = Nothing -- | The wildcard pattern: @_@-wildcard :: Pat-wildcard = PWildCard+wildcard :: Pat ()+wildcard = PWildCard () -- | Generate k names by appending numbers 1 through k to a given string.-genNames :: String -> Int -> [Name]-genNames s k = [ Ident $ s ++ show i | i <- [1..k] ]+genNames :: String -> Int -> [Name ()]+genNames s k = [ Ident () $ s ++ show i | i <- [1..k] ] ------------------------------------------------------------------------------- -- Some more specialised help functions -- | A function with a single clause-sfun :: SrcLoc -> Name -> [Name] -> Rhs -> Binds -> Decl-sfun s f pvs rhs bs = FunBind [Match s f (map pvar pvs) Nothing rhs bs]+sfun :: Name () -> [Name ()] -> (Rhs ()) -> Maybe (Binds ()) -> Decl ()+sfun f pvs rhs bs = FunBind () [Match () f (map pvar pvs) rhs bs] -- | A function with a single clause, a single argument, no guards -- and no where declarations-simpleFun :: SrcLoc -> Name -> Name -> Exp -> Decl-simpleFun s f a e = let rhs = UnGuardedRhs e- in sfun s f [a] rhs noBinds+simpleFun :: Name () -> Name () -> Exp () -> Decl ()+simpleFun f a e = let rhs = UnGuardedRhs () e+ in sfun f [a] rhs noBinds -- | A pattern bind where the pattern is a variable, and where -- there are no guards and no 'where' clause.-patBind :: SrcLoc -> Pat -> Exp -> Decl-patBind s p e = let rhs = UnGuardedRhs e- in PatBind s p Nothing rhs noBinds+patBind :: Pat () -> Exp () -> Decl ()+patBind p e = let rhs = UnGuardedRhs () e+ in PatBind () p rhs noBinds -- | A pattern bind where the pattern is a variable, and where -- there are no guards, but with a 'where' clause.-patBindWhere :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl-patBindWhere s p e ds = let rhs = UnGuardedRhs e- in PatBind s p Nothing rhs (binds ds)+patBindWhere :: Pat () -> Exp () -> [Decl ()] -> Decl ()+patBindWhere p e ds = let rhs = UnGuardedRhs () e+ in PatBind () p rhs (if null ds then Nothing else Just (binds ds)) -- | Bind an identifier to an expression.-nameBind :: SrcLoc -> Name -> Exp -> Decl-nameBind s n e = patBind s (pvar n) e+nameBind :: Name () -> Exp () -> Decl ()+nameBind n e = patBind (pvar n) e -- | Apply function of a given name to a list of arguments.-metaFunction :: String -> [Exp] -> Exp-metaFunction s es = mf s (reverse es)+metaFunction :: String -> [Exp ()] -> Exp ()+metaFunction s' es' = mf s' (reverse es') where mf s [] = var $ name s mf s (e:es) = app (mf s es) e -- | Apply a constructor of a given name to a list of pattern -- arguments, forming a constructor pattern.-metaConPat :: String -> [Pat] -> Pat+metaConPat :: String -> [Pat ()] -> Pat () metaConPat s ps = pApp (name s) ps
src/Language/Haskell/Exts/Comments.hs view
@@ -1,9 +1,189 @@-{-# LANGUAGE DeriveDataTypeable #-}-module Language.Haskell.Exts.Comments where+{-# LANGUAGE DeriveDataTypeable, Safe #-} +-----------------------------------------------------------------------------+-- |+-- Module : Language.Haskell.Exts.Comments+-- Copyright : (c) JP Moresmau 2015+-- License : BSD-style (see the file LICENSE.txt)+--+-- Maintainer : Niklas Broberg, d00nibro@chalmers.se+-- Stability : experimental+-- Portability : portable+--+-- This module processes comments along with an annotated AST,+-- to be able to associate Haddock comments with the actual item+-- they refer to.+--+-- Example:+--+-- @+-- let+-- parse1Result :: ParseResult (Module SrcSpanInfo,[Comment])+-- parse1Result =+-- parseFileContentsWithComments+-- (defaultParseMode { parseFilename = file })+-- contents+-- withC :: ParseResult (Module (SrcSpanInfo,[Comment]))+-- withC = case parse1Result of+-- ParseOk res -> ParseOk $ associateHaddock res+-- ParseFailed sloc msg -> ParseFailed sloc msg+-- @+--+-- In this code sample, parse1Result is what you get when you parse a file:+-- a 'Module' annotated wth 'SrcSpanInfo', and a list of comments+-- After passing the result to 'associateHaddock', you get a 'Module'+-- annotated with both a 'SrcSpanInfo' and the list of 'Comment' related to the+-- specific AST node.+--+-----------------------------------------------------------------------------+module Language.Haskell.Exts.Comments+ ( associateHaddock+ , Comment(..), UnknownPragma(..)+ ) where++import Language.Haskell.Exts.Syntax import Language.Haskell.Exts.SrcLoc++import Data.Char (isSpace)+import Data.Traversable import Data.Data + -- | A Haskell comment. The 'Bool' is 'True' if the comment is multi-line, i.e. @{- -}@. data Comment = Comment Bool SrcSpan String deriving (Eq,Show,Typeable,Data)++-- | An unknown pragma.+data UnknownPragma = UnknownPragma SrcSpan String+ deriving (Eq,Show,Typeable,Data)+++-- | Associates an AST with Source Span Information+-- with relevant Haddock comments+associateHaddock+ ::(Annotated ast,Traversable ast)+ => (ast SrcSpanInfo,[Comment])+ -> ast (SrcSpanInfo,[Comment])+associateHaddock (ast,[]) = fmap (\src->(src,[])) ast+associateHaddock (ast,comments) =+ let+ (ca,assocs1) = mapAccumL associate1 (newAccumulator comments) ast+ in snd $ mapAccumL merge (lastPost ca) assocs1+++-- | Merge existing association with post comment associations+merge+ :: [(SrcSpanInfo,[Comment])]+ -> (SrcSpanInfo,[Comment])+ -> ([(SrcSpanInfo,[Comment])], (SrcSpanInfo,[Comment]))+merge [] ret = ([],ret)+merge (x:xs) (src,cmts) =+ if fst x == src+ then (xs,(src,cmts ++ snd x))+ else (x:xs,(src,cmts))+++-- | Ensure that if file ends with comment we process it+lastPost :: CommentAccumulator -> [(SrcSpanInfo, [Comment])]+lastPost (CommentAccumulator (Post cmt : rest) past assocs) =+ let (toMerge, _) = span isNone rest+ psrc = matchPreviousSrc past+ in (assocs ++ [(psrc, cmt : map hcComment toMerge)])+lastPost (CommentAccumulator _ _ assocs) = assocs+++-- | Accumulate comments mappings, either directly with the source+-- or in another association list for later processing+associate1+ :: CommentAccumulator+ -> SrcSpanInfo+ -> (CommentAccumulator,(SrcSpanInfo,[Comment]))+associate1 ca@(CommentAccumulator [] _ _) src = (ca,(src,[]))+associate1 (CommentAccumulator (hc@(Pre cmt):rest) _ assocs) src =+ if isBefore hc src+ then+ let (toMerge,next) = getToMerge src rest+ newAssoc = (src,cmt : map hcComment toMerge)+ in (CommentAccumulator next [] assocs,newAssoc)+ else (CommentAccumulator (hc:rest) [] assocs,(src,[]))+associate1 (CommentAccumulator (hc@(Post cmt):rest) past assocs) src =+ if isBefore hc src+ then+ let (toMerge,next) = getToMerge src rest+ newAssocs =+ if null past+ then assocs+ else assocs++[(matchPreviousSrc past,cmt : map hcComment toMerge)]+ in associate1 (CommentAccumulator next [] newAssocs) src+ else (CommentAccumulator (hc:rest) (src:past) assocs,(src,[]))+associate1 (CommentAccumulator (_:rest) past assocs) src =+ (CommentAccumulator rest (src:past) assocs,(src,[]))+++-- | The comment accumulator+data CommentAccumulator = CommentAccumulator+ [HaddockComment] -- The Haddock comments to process+ [SrcSpanInfo] -- The past src infos to resolve post comments+ [(SrcSpanInfo,[Comment])] -- The additional associations between src and comments+++-- | Create a new accumulator+newAccumulator :: [Comment] -> CommentAccumulator+newAccumulator comments = CommentAccumulator (commentsToHaddock comments) [] []++-- | Get comments to merge+getToMerge+ :: SrcSpanInfo -- ^ Stop before src+ -> [HaddockComment] -- ^ All remaining comments+ -> ([HaddockComment],[HaddockComment]) -- ^ Comments to merge, left overs+getToMerge src = span (\hc-> isNone hc && isBefore hc src)+++-- | Get the biggest src that ends where the first one does+matchPreviousSrc :: [SrcSpanInfo] -> SrcSpanInfo+matchPreviousSrc [] =+ error "Language.Haskell.Exts.Annotated.Comments.matchPreviousSrc: empty list"+matchPreviousSrc srcs =+ let end = srcSpanEnd $ srcInfoSpan $ head srcs+ in last $ filter ((end ==) . srcSpanEnd . srcInfoSpan) srcs++-- | Is a Haddock comment before a given location+isBefore :: HaddockComment -> SrcSpanInfo -> Bool+isBefore hc src=+ let+ (Comment _ csrc _) = hcComment hc+ in csrc < srcInfoSpan src++-- | Represents a Haddock Comment+data HaddockComment =+ -- | Comment before declaration+ Pre+ {+ hcComment::Comment+ }+ -- | Comment after declaration+ | Post {+ hcComment::Comment+ }+ -- | Non Haddock comment+ | None {+ hcComment::Comment+ }++-- | Is a comment not haddock?+isNone :: HaddockComment -> Bool+isNone (None _) = True+isNone _ = False+++-- | Comments to Haddock Comments+commentsToHaddock :: [Comment] -> [HaddockComment]+commentsToHaddock = map commentToHaddock++-- | Comment to Haddock Comment+commentToHaddock :: Comment -> HaddockComment+commentToHaddock c@(Comment _ _ txt) =+ case dropWhile isSpace txt of+ ('|':_) -> Pre c+ ('^':_) -> Post c+ _ -> None c
+ src/Language/Haskell/Exts/ExactPrint.hs view
@@ -0,0 +1,2219 @@+{-# LANGUAGE CPP, DeriveFunctor, Safe #-}++-----------------------------------------------------------------------------+-- |+-- Module : Language.Haskell.Exts.Annotated.ExactPrint+-- Copyright : (c) Niklas Broberg 2009+-- License : BSD-style (see the file LICENSE.txt)+--+-- Maintainer : Niklas Broberg, d00nibro@chalmers.se+-- Stability : stable+-- Portability : portable+--+-- Exact-printer for Haskell abstract syntax. The input is a (semi-concrete)+-- abstract syntax tree, annotated with exact source information to enable+-- printing the tree exactly as it was parsed.+--+-----------------------------------------------------------------------------+module Language.Haskell.Exts.ExactPrint+ ( exactPrint+ , ExactP+ ) where++import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.SrcLoc+import Language.Haskell.Exts.Comments++import Control.Monad (when, liftM, ap, unless)+import qualified Control.Monad.Fail as Fail+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative (Applicative(..))+#endif+import Control.Arrow ((***), (&&&))+import Prelude hiding (exp)+import Data.List (intersperse)++------------------------------------------------------+-- The EP monad and basic combinators++type Pos = (Int,Int)++pos :: (SrcInfo loc) => loc -> Pos+pos ss = (startLine ss, startColumn ss)++newtype EP x = EP (Pos -> [Comment] -> (x, Pos, [Comment], ShowS))++instance Functor EP where+ fmap = liftM++instance Applicative EP where+ pure x = EP $ \l cs -> (x, l, cs, id)+ (<*>) = ap++instance Monad EP where++ EP m >>= k = EP $ \l0 c0 -> let+ (a, l1, c1, s1) = m l0 c0+ EP f = k a+ (b, l2, c2, s2) = f l1 c1+ in (b, l2, c2, s1 . s2)++instance Fail.MonadFail EP where+ fail = error++runEP :: EP () -> [Comment] -> String+runEP (EP f) cs = let (_,_,_,s) = f (1,1) cs in s ""++getPos :: EP Pos+getPos = EP (\l cs -> (l,l,cs,id))++setPos :: Pos -> EP ()+setPos l = EP (\_ cs -> ((),l,cs,id))++printString :: String -> EP ()+printString str =+ EP (\(l,c) cs -> let (l', c') = foldl go (l, c) str+ go (cl, _) '\n' = (cl + 1, 1)+ go (cl, cc) _ = (cl, cc + 1)+ in ((), (l', c'), cs, showString str))+++getComment :: EP (Maybe Comment)+getComment = EP $ \l cs ->+ let x = case cs of+ c:_ -> Just c+ _ -> Nothing+ in (x, l, cs, id)++dropComment :: EP ()+dropComment = EP $ \l cs ->+ let cs' = case cs of+ (_:cs1) -> cs1+ _ -> cs+ in ((), l, cs', id)++newLine :: EP ()+newLine = do+ (l,_) <- getPos+ printString "\n"+ setPos (l+1,1)++padUntil :: Pos -> EP ()+padUntil (l,c) = do+ (l1,c1) <- getPos+ case {- trace (show ((l,c), (l1,c1))) -} () of+ _ {-()-} | l1 >= l && c1 <= c -> printString $ replicate (c - c1) ' '+ | l1 < l -> newLine >> padUntil (l,c)+ | otherwise -> return ()+++mPrintComments :: Pos -> EP ()+mPrintComments p = do+ mc <- getComment+ case mc of+ Nothing -> return ()+ Just (Comment multi s str) ->+ when (pos s < p) $ do+ dropComment+ padUntil (pos s)+ printComment multi str+ setPos (srcSpanEndLine s, srcSpanEndColumn s)+ mPrintComments p++printComment :: Bool -> String -> EP ()+printComment b str+ | b = printString $ "{-" ++ str ++ "-}"+ | otherwise = printString $ "--" ++ str++printWhitespace :: Pos -> EP ()+printWhitespace p = mPrintComments p >> padUntil p++printStringAt :: Pos -> String -> EP ()+printStringAt p str = printWhitespace p >> printString str++errorEP :: String -> EP a+errorEP = fail++------------------------------------------------------------------------------+-- Printing of source elements++-- | Print an AST exactly as specified by the annotations on the nodes in the tree.+exactPrint :: (ExactP ast) => ast SrcSpanInfo -> [Comment] -> String+exactPrint ast = runEP (exactPC ast)++exactPC :: (ExactP ast) => ast SrcSpanInfo -> EP ()+exactPC ast = let p = pos (ann ast) in mPrintComments p >> padUntil p >> exactP ast++printSeq :: [(Pos, EP ())] -> EP ()+printSeq [] = return ()+printSeq ((p,pr):xs) = printWhitespace p >> pr >> printSeq xs++printStrs :: SrcInfo loc => [(loc, String)] -> EP ()+printStrs = printSeq . map (pos *** printString)++printPoints :: SrcSpanInfo -> [String] -> EP ()+printPoints l = printStrs . zip (srcInfoPoints l)++printInterleaved, printInterleaved' :: (ExactP ast, SrcInfo loc) => [(loc, String)] -> [ast SrcSpanInfo] -> EP ()+printInterleaved sistrs asts = printSeq $+ interleave (map (pos *** printString ) sistrs)+ (map (pos . ann &&& exactP) asts)++printInterleaved' sistrs (a:asts) = exactPC a >> printInterleaved sistrs asts+printInterleaved' _ _ = internalError "printInterleaved'"++printStreams :: [(Pos, EP ())] -> [(Pos, EP ())] -> EP ()+printStreams [] ys = printSeq ys+printStreams xs [] = printSeq xs+printStreams (x@(p1,ep1):xs) (y@(p2,ep2):ys)+ | p1 <= p2 = printWhitespace p1 >> ep1 >> printStreams xs (y:ys)+ | otherwise = printWhitespace p2 >> ep2 >> printStreams (x:xs) ys+++interleave :: [a] -> [a] -> [a]+interleave [] ys = ys+interleave xs [] = xs+interleave (x:xs) (y:ys) = x:y: interleave xs ys++maybeEP :: (a -> EP ()) -> Maybe a -> EP ()+maybeEP = maybe (return ())++bracketList :: (ExactP ast) => (String, String, String) -> [SrcSpan] -> [ast SrcSpanInfo] -> EP ()+bracketList (a,b,c) poss asts = printInterleaved (pList poss (a,b,c)) asts++pList :: [a] -> (b, b, b) -> [(a, b)]+pList (p:ps) (a,b,c) = (p,a) : pList' ps (b,c)+pList _ _ = internalError "pList"+pList' :: [a] -> (b, b) -> [(a, b)]+pList' [] _ = []+pList' [p] (_,c) = [(p,c)]+pList' (p:ps) (b,c) = (p, b) : pList' ps (b,c)++parenList, squareList, squareColonList, curlyList, parenHashList,+ unboxedSumTypeList :: (ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()+parenList = bracketList ("(",",",")")+squareList = bracketList ("[",",","]")+squareColonList = bracketList ("[:",",",":]")+curlyList = bracketList ("{",",","}")+parenHashList = bracketList ("(#",",","#)")+unboxedSumTypeList = bracketList ("(#", "|", "#)")++layoutList :: (ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()+layoutList poss asts = printStreams+ (map (pos *** printString) $ lList poss)+ (map (pos . ann &&& exactP) asts)++lList :: [SrcSpan] -> [(SrcSpan, String)]+lList (p:ps) = (if isNullSpan p then (p,"") else (p,"{")) : lList' ps+lList _ = internalError "lList"+lList' :: [SrcSpan] -> [(SrcSpan, String)]+lList' [] = []+lList' [p] = [if isNullSpan p then (p,"") else (p,"}")]+lList' (p:ps) = (if isNullSpan p then (p,"") else (p,";")) : lList' ps++printSemi :: SrcSpan -> EP ()+printSemi p = do+ printWhitespace (pos p)+ unless (isNullSpan p) $ printString ";"+++--------------------------------------------------+-- Exact printing++class Annotated ast => ExactP ast where+ exactP :: ast SrcSpanInfo -> EP ()++instance ExactP Literal where+ exactP lit = case lit of+ Char _ _ rw -> printString ('\'':rw ++ "\'")+ String _ _ rw -> printString ('\"':rw ++ "\"")+ Int _ _ rw -> printString rw+ Frac _ _ rw -> printString rw+ PrimInt _ _ rw -> printString (rw ++ "#" )+ PrimWord _ _ rw -> printString (rw ++ "##")+ PrimFloat _ _ rw -> printString (rw ++ "#" )+ PrimDouble _ _ rw -> printString (rw ++ "##")+ PrimChar _ _ rw -> printString ('\'':rw ++ "\'#" )+ PrimString _ _ rw -> printString ('\"':rw ++ "\"#" )++instance ExactP Sign where+ exactP sg = case sg of+ Signless _ -> return ()+ Negative l -> printStringAt (pos l) "-"++instance ExactP ModuleName where+ exactP (ModuleName _ str) = printString str++instance ExactP SpecialCon where+ exactP sc = case sc of+ UnitCon l -> printPoints l ["(",")"]+ ListCon l -> printPoints l ["[","]"]+ FunCon l -> case srcInfoPoints l of+ [_,b,_] -> printStringAt (pos b) "->"+ _ -> errorEP "ExactP: SpecialCon is given wrong number of srcInfoPoints"+ TupleCon l b n -> printPoints l $+ case b of+ Unboxed -> "(#": replicate (n-1) "," ++ ["#)"]+ _ -> "(" : replicate (n-1) "," ++ [")"]+ Cons _ -> printString ":"+ UnboxedSingleCon l -> printPoints l ["(#","#)"]+ ExprHole l -> printStringAt (pos l) "_"++isSymbolName :: Name l -> Bool+isSymbolName (Symbol _ _) = True+isSymbolName _ = False++isSymbolQName :: QName l -> Bool+isSymbolQName (UnQual _ n) = isSymbolName n+isSymbolQName (Qual _ _ n) = isSymbolName n+isSymbolQName (Special _ Cons{}) = True+isSymbolQName (Special _ FunCon{}) = True+isSymbolQName _ = False++instance ExactP QName where+ exactP qn+ | isSymbolQName qn =+ case srcInfoPoints (ann qn) of+ [_,b,c] -> do+ printString "("+ printWhitespace (pos b)+ epQName qn+ printStringAt (pos c) ")"+ _ -> errorEP "ExactP: QName is given wrong number of srcInfoPoints"+ | otherwise = epQName qn++epQName :: QName SrcSpanInfo -> EP ()+epQName qn = case qn of+ Qual _ mn n -> exactP mn >> printString "." >> exactP n+ UnQual _ n -> exactP n+ Special _ sc -> exactP sc++epInfixQName :: QName SrcSpanInfo -> EP ()+epInfixQName qn+ | isSymbolQName qn = printWhitespace (pos (ann qn)) >> epQName qn+ | otherwise =+ case srcInfoPoints (ann qn) of+ [a,b,c] -> do+ printStringAt (pos a) "`"+ printWhitespace (pos b)+ epQName qn+ printStringAt (pos c) "`"+ _ -> errorEP "ExactP: QName (epInfixName) is given wrong number of srcInfoPoints"++instance ExactP Name where+ exactP n = case n of+ Ident _ str -> printString str+ Symbol l str ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "("+ printWhitespace (pos b)+ printString str+ printStringAt (pos c) ")"+ [] -> printString str+ _ -> errorEP "ExactP: Name is given wrong number of srcInfoPoints"++epInfixName :: Name SrcSpanInfo -> EP ()+epInfixName n+ | isSymbolName n = printWhitespace (pos (ann n)) >> exactP n+ | otherwise =+ case srcInfoPoints (ann n) of+ [a,b,c] -> do+ printStringAt (pos a) "`"+ printWhitespace (pos b)+ exactP n+ printStringAt (pos c) "`"+ _ -> errorEP "ExactP: Name (epInfixName) is given wrong number of srcInfoPoints"++instance ExactP IPName where+ exactP ipn = case ipn of+ IPDup _ str -> printString $ '?':str+ IPLin _ str -> printString $ '%':str++instance ExactP QOp where+ exactP qop = case qop of+ QVarOp _ qn -> epInfixQName qn+ QConOp _ qn -> epInfixQName qn++instance ExactP Op where+ exactP op = case op of+ VarOp _ n -> epInfixName n+ ConOp _ n -> epInfixName n++++instance ExactP CName where+ exactP cn = case cn of+ VarName _ n -> exactP n+ ConName _ n -> exactP n++instance ExactP Namespace where+ exactP ns = case ns of+ NoNamespace _ -> return ()+ TypeNamespace l -> printStringAt (pos l) "type"+ PatternNamespace l -> printStringAt (pos l) "pattern"++instance ExactP ExportSpec where+ exactP espec = case espec of+ EVar _ qn -> exactPC qn+ EAbs _ ns qn -> exactP ns >> exactPC qn+ EThingWith l wc qn cns ->+ let names = case wc of+ NoWildcard {} -> cns+ EWildcard wcl n ->+ let (before,after) = splitAt n cns+ wildcardName = VarName wcl (Ident wcl "..")+ in before ++ [wildcardName] ++ after+ k = length (srcInfoPoints l)+ in exactP qn >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) names+ EModuleContents _ mn -> printString "module" >> exactPC mn++instance ExactP ExportSpecList where+ exactP (ExportSpecList l ess) =+ let k = length (srcInfoPoints l)+ in printInterleaved (zip (srcInfoPoints l) $ "(": replicate (k-2) "," ++ [")"]) ess++instance ExactP ImportSpecList where+ exactP (ImportSpecList l hid ispecs) = do+ let pts = srcInfoPoints l+ pts1 <- if hid then do+ let (x:pts') = pts+ printStringAt (pos x) "hiding"+ return pts'+ else return pts+ let k = length pts1+ printInterleaved (zip pts1 $ "(": replicate (k-2) "," ++ [")"]) ispecs++instance ExactP ImportSpec where+ exactP ispec = case ispec of+ IVar _ qn -> exactPC qn+ IAbs _ ns n -> exactP ns >> exactPC n+ IThingAll l n -> exactP n >> printPoints l ["(","..",")"]+ IThingWith l n cns ->+ let k = length (srcInfoPoints l)+ in exactP n >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns++instance ExactP ImportDecl where+ exactP (ImportDecl l mn qf src safe mpkg mas mispecs) = do+ printString "import"+ case srcInfoPoints l of+ (_:pts) -> do+ pts1 <- if src then+ case pts of+ x:y:pts' -> do+ printStringAt (pos x) "{-# SOURCE"+ printStringAt (pos y) "#-}"+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ else return pts+ pts2 <- if safe then+ case pts1 of+ x:pts' -> do+ printStringAt (pos x) "safe"+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ else return pts1++ -- Try to determine if qualified is post-positioned only if we have enough points+ let isPostQual = (qf && not (null pts2)) && safeIsPostQualified pts2++ pts3 <- if qf && not isPostQual then+ case pts2 of+ x:pts' -> do+ printStringAt (pos x) "qualified"+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ else return pts2++ pts4 <- case mpkg of+ Just pkg ->+ case pts3 of+ x:pts' -> do+ printStringAt (pos x) $ show pkg+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ _ -> return pts3++ exactPC mn++ -- Only try post-qualified if we determined it's actually post-qualified+ pts5 <- if qf && isPostQual then+ case pts4 of+ x:pts' -> do+ printStringAt (pos x) "qualified"+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ else return pts4++ _ <- case mas of+ Just as ->+ case pts5 of+ x:pts' -> do+ printStringAt (pos x) "as"+ exactPC as+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ _ -> return pts5++ case mispecs of+ Nothing -> return ()+ Just ispecs -> exactPC ispecs+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ where safeIsPostQualified pts =+ case pts of+ (p:_) ->+ let modSpan = srcInfoSpan (ann mn)+ -- Only consider it post-qualified if we have valid spans to compare+ in ((isValidSpan modSpan && isValidSpan p) &&+ (srcSpanEnd modSpan <= srcSpanStart p))+ _ -> False+ where+ isValidSpan s =+ srcSpanStartLine s > 0 && srcSpanEndLine s > 0 &&+ srcSpanStartColumn s >= 0 && srcSpanEndColumn s >= 0++instance ExactP Module where+ exactP mdl = case mdl of+ Module l mmh oss ids decls -> do+ let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)+ layoutList oPts oss+ maybeEP exactPC mmh+ printStreams (map (pos *** printString) $ lList pts)+ (map (pos . ann &&& exactPC) ids ++ map (pos . ann &&& exactPC) (sepFunBinds decls))+ XmlPage l _mn oss xn attrs mat es -> do+ let (oPts, pPts) = splitAt (max (length oss + 1) 2) $ srcInfoPoints l+ case pPts of+ [a,b,c,d,e] -> do+ layoutList oPts oss+ printStringAt (pos a) "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC es+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ _ -> errorEP "ExactP: Module: XmlPage is given wrong number of srcInfoPoints"+ XmlHybrid l mmh oss ids decls xn attrs mat es -> do+ let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)+ layoutList oPts oss+ maybeEP exactPC mmh+ let (dPts, pPts) = splitAt (length pts - 5) pts+ case pPts of+ [a,b,c,d,e] -> do+ printStreams (map (\(p,s) -> (pos p, printString s)) $ lList dPts)+ (map (\i -> (pos $ ann i, exactPC i)) ids ++ map (\d' -> (pos $ ann d', exactPC d')) (sepFunBinds decls))++ printStringAt (pos a) "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC es+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ _ -> errorEP "ExactP: Module: XmlHybrid is given wrong number of srcInfoPoints"++instance ExactP ModuleHead where+ exactP (ModuleHead l mn mwt mess) =+ case srcInfoPoints l of+ [a,b] -> do+ printStringAt (pos a) "module"+ exactPC mn+ maybeEP exactPC mwt+ maybeEP exactPC mess+ printStringAt (pos b) "where"+ _ -> errorEP "ExactP: ModuleHead is given wrong number of srcInfoPoints"++instance ExactP ModulePragma where+ exactP op = case op of+ LanguagePragma l ns ->+ let pts = srcInfoPoints l+ k = length ns - 1 -- number of commas+ m = length pts - k - 2 -- number of virtual semis, likely 0+ in printInterleaved (zip pts ("{-# LANGUAGE":replicate k "," ++ replicate m "" ++ ["#-}"])) ns+ OptionsPragma l mt str ->+ let k = length (srcInfoPoints l)+ -- We strip out a leading space in the lexer unless the pragma+ -- starts with a newline.+ addSpace xs@('\n':_) = xs+ addSpace xs = ' ':xs+ opstr = "{-# OPTIONS" ++ case mt of { Just t -> "_" ++ show t ; _ -> "" } ++ addSpace str+ in printPoints l $ opstr : replicate (k-2) "" ++ ["#-}"]+ AnnModulePragma l ann' ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "{-# ANN"+ exactPC ann'+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: ModulePragma: AnnPragma is given wrong number of srcInfoPoints"++instance ExactP WarningText where+ exactP (DeprText l str) = printPoints l ["{-# DEPRECATED", str, "#-}"]+ exactP (WarnText l str) = printPoints l ["{-# WARNING", str, "#-}"]++instance ExactP Assoc where+ exactP a = case a of+ AssocNone _ -> printString "infix"+ AssocLeft _ -> printString "infixl"+ AssocRight _ -> printString "infixr"++instance ExactP DataOrNew where+ exactP (DataType _) = printString "data"+ exactP (NewType _) = printString "newtype"++instance ExactP TypeEqn where+ exactP (TypeEqn l t1 t2) =+ case srcInfoPoints l of+ [a] -> do+ exactPC t1+ printStringAt (pos a) "="+ exactPC t2+ _ -> errorEP "ExactP: TypeEqn is given wrong number of srcInfoPoints"++instance ExactP InjectivityInfo where+ exactP (InjectivityInfo l to from) =+ case srcInfoPoints l of+ a:b:_ -> do+ printStringAt (pos a) "|"+ exactPC to+ printStringAt (pos b) "->"+ mapM_ exactPC from+ _ -> errorEP "ExactP: InjectivityInfo given wrong number of srcInfoPoints"++instance ExactP ResultSig where+ exactP (KindSig l k) =+ case srcInfoPoints l of+ a:_ -> do+ printStringAt (pos a) "::"+ exactPC k+ _ -> errorEP "ExactP: ResultSig given wrong number of srcInfoPoints"+ exactP (TyVarSig l tv) =+ case srcInfoPoints l of+ a:_ -> do+ printStringAt (pos a) "="+ exactPC tv+ _ -> errorEP "ExactP: ResultSig given wrong number of srcInfoPoints"+++instance ExactP Decl where+ exactP decl = case decl of+ TypeDecl l dh t ->+ case srcInfoPoints l of+ [a,b] -> do+ printStringAt (pos a) "type"+ exactPC dh+ printStringAt (pos b) "="+ exactPC t+ _ -> errorEP "ExactP: Decl: TypeDecl is given wrong number of srcInfoPoints"+ TypeFamDecl l dh mk mi ->+ case srcInfoPoints l of+ a:b:_ -> do+ printStringAt (pos a) "type"+ printStringAt (pos b) "family"+ exactPC dh+ maybeEP exactPC mk+ maybeEP exactPC mi+ _ -> errorEP "ExactP: Decl: TypeFamDecl is given wrong number of srcInfoPoints"+ ClosedTypeFamDecl l dh mk mi eqns ->+ case srcInfoPoints l of+ a:b:c:_ -> do+ printStringAt (pos a) "type"+ printStringAt (pos b) "family"+ exactPC dh+ maybeEP exactPC mk+ maybeEP exactPC mi+ printStringAt (pos c) "where"+ mapM_ exactP eqns+ _ -> errorEP "ExactP: Decl: ClosedTypeFamDecl is given wrong number of srcInfoPoints"+ DataDecl l dn mctxt dh constrs mder -> do+ exactP dn+ maybeEP exactPC mctxt+ exactPC dh+ -- the next line works for empty data types since the srcInfoPoints will be empty then+ printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs+ mapM_ exactPC mder+ GDataDecl l dn mctxt dh mk gds mder -> do+ let pts = srcInfoPoints l+ exactP dn+ maybeEP exactPC mctxt+ exactPC dh+ pts1 <- case mk of+ Nothing -> return pts+ Just kd -> case pts of+ p:pts' -> do+ printStringAt (pos p) "::"+ exactPC kd+ return pts'+ _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"+ case pts1 of+ x:pts' -> do+ printStringAt (pos x) "where"+ layoutList pts' gds+ mapM_ exactPC mder+ _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"+ DataFamDecl l mctxt dh mk -> do+ printString "data"+ maybeEP exactPC mctxt+ exactPC dh+ maybeEP (\kd -> printStringAt (pos (head (srcInfoPoints l))) "::" >> exactPC kd) mk+ TypeInsDecl l t1 t2 ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "type"+ printStringAt (pos b) "instance"+ exactPC t1+ printStringAt (pos c) "="+ exactPC t2+ _ -> errorEP "ExactP: Decl: TypeInsDecl is given wrong number of srcInfoPoints"+ DataInsDecl l dn t constrs mder ->+ case srcInfoPoints l of+ p:pts -> do+ exactP dn+ printStringAt (pos p) "instance"+ exactPC t+ printInterleaved (zip pts ("=": repeat "|")) constrs+ mapM_ exactPC mder+ _ -> errorEP "ExactP: Decl: DataInsDecl is given too few srcInfoPoints"+ GDataInsDecl l dn t mk gds mder ->+ case srcInfoPoints l of+ p:pts -> do+ exactP dn+ printStringAt (pos p) "instance"+ exactPC t+ pts1 <- case mk of+ Nothing -> return pts+ Just kd -> case pts of+ p':pts' -> do+ printStringAt (pos p') "::"+ exactPC kd+ return pts'+ _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"+ case pts1 of+ x:pts' -> do+ printStringAt (pos x) "where"+ layoutList pts' gds+ mapM_ exactPC mder+ _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"+ _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"+ ClassDecl l mctxt dh fds mcds ->+ case srcInfoPoints l of+ _:pts -> do+ printString "class"+ maybeEP exactPC mctxt+ exactPC dh+ _ <- case fds of+ [] -> return pts+ _ -> do+ let (pts1, pts2) = splitAt (length fds) pts+ printInterleaved (zip pts1 ("|":repeat ",")) fds+ return pts2+ maybeEP (\cds ->+ case pts of+ p:pts' -> do+ printStringAt (pos p) "where"+ layoutList pts' $ sepClassFunBinds cds+ _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"+ ) mcds+ _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"+ InstDecl l movlp ih mids ->+ case srcInfoPoints l of+ _:pts -> do+ printString "instance"+ maybeEP exactPC movlp+ exactPC ih+ maybeEP (\ids -> do+ let (p:pts') = pts+ printStringAt (pos p) "where"+ layoutList pts' $ sepInstFunBinds ids+ ) mids+ _ -> errorEP "ExactP: Decl: InstDecl is given too few srcInfoPoints"+ DerivDecl l mds movlp ih ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "deriving"+ maybeEP exactPC mds+ printStringAt (pos b) "instance"+ maybeEP exactPC movlp+ exactPC ih+ _ -> errorEP "ExactP: Decl: DerivDecl is given wrong number of srcInfoPoints"+ InfixDecl l assoc mprec ops -> do+ let pts = srcInfoPoints l+ exactP assoc+ pts1 <- case mprec of+ Nothing -> return pts+ Just prec ->+ case pts of+ p:pts' -> do+ printStringAt (pos p) (show prec)+ return pts'+ _ -> errorEP "ExactP: Decl: InfixDecl is given too few srcInfoPoints"+ printInterleaved' (zip pts1 (repeat ",")) ops+ DefaultDecl l ts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "default"+ printInterleaved (zip (init pts) ("(":repeat ",")) ts+ printStringAt (pos (last pts)) ")"+ _ -> errorEP "ExactP: Decl: DefaultDecl is given too few srcInfoPoints"+ SpliceDecl _ spl -> exactP spl+ TSpliceDecl _ spl -> exactP spl+ TypeSig l ns t -> do+ let pts = srcInfoPoints l+ printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns+ exactPC t+ PatSynSig l ns dh c1 _ c2 t -> do+ let (pat:pts) = srcInfoPoints l+ printStringAt (pos pat) "pattern"+ printInterleaved' (zip pts (replicate (length ns - 1) "," ++ ["::"])) ns+ case dh of+ Nothing -> return ()+ Just tvs ->+ -- (length ns - 1) commas + 1 for "::"+ case drop (length ns) pts of+ (a:b:_) -> do+ printStringAt (pos a) "forall"+ mapM_ exactPC tvs+ printStringAt (pos b) "."+ _ -> errorEP ("ExactP: Decl: PatSynSig: Forall: is given too few srcInfoPoints" ++ show pts ++ show (drop (length ns + 1) pts))+ maybeEP exactPC c1+ maybeEP exactPC c2+ exactPC t+ FunBind _ ms -> mapM_ exactPC ms+ PatBind l p rhs mbs -> do+ let pts = srcInfoPoints l+ exactP p+ exactPC rhs+ maybeEP (\bs -> printStringAt (pos (head pts)) "where" >> exactPC bs) mbs+ PatSyn l lhs rhs dir ->+ case srcInfoPoints l of+ [pat,sepPos] -> do+ let sep = case dir of+ ImplicitBidirectional -> "="+ ExplicitBidirectional _ _ -> "<-"+ Unidirectional -> "<-"+ printStringAt (pos pat) "pattern"+ exactPC lhs+ printStringAt (pos sepPos) sep+ exactPC rhs+ case dir of+ ExplicitBidirectional bl ds -> do+ case srcInfoPoints bl of+ (w:pts) -> do+ printStringAt (pos w) "where"+ layoutList pts ds+ _ -> errorEP "ExactP: Decl: PaySyn: ExplicitBidirectional is given too few srcInfoPoints"+ _ -> return ()+ _ -> errorEP "ExactP: Decl: PatSyn is given too few srcInfoPoints"+ ForImp l cc msf mstr n t ->+ case srcInfoPoints l of+ _:b:pts -> do+ printString "foreign"+ printStringAt (pos b) "import"+ exactPC cc+ maybeEP exactPC msf+ pts1 <- case mstr of+ Nothing -> return pts+ Just str -> case pts of+ x:pts' -> do+ printStringAt (pos x) (show str)+ return pts'+ _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"+ case pts1 of+ y:_ -> do+ exactPC n+ printStringAt (pos y) "::"+ exactPC t+ _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"+ _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"+ ForExp l cc mstr n t ->+ case srcInfoPoints l of+ _:b:pts -> do+ printString "foreign"+ printStringAt (pos b) "export"+ exactPC cc+ pts1 <- case mstr of+ Nothing -> return pts+ Just str -> case pts of+ x:pts' -> do+ printStringAt (pos x) (show str)+ return pts'+ _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"+ case pts1 of+ y:_ -> do+ exactPC n+ printStringAt (pos y) "::"+ exactPC t+ _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"+ _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"+ RulePragmaDecl l rs ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "{-# RULES"+ mapM_ exactPC rs+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Decl: RulePragmaDecl is given too few srcInfoPoints"+ DeprPragmaDecl l nstrs ->+ case srcInfoPoints l of+ _:pts -> do+ printString "{-# DEPRECATED"+ printWarndeprs (map pos (init pts)) nstrs+ printStringAt (pos (last pts)) "#-}"+ _ -> errorEP "ExactP: Decl: DeprPragmaDecl is given too few srcInfoPoints"+ WarnPragmaDecl l nstrs ->+ case srcInfoPoints l of+ _:pts -> do+ printString "{-# WARNING"+ printWarndeprs (map pos (init pts)) nstrs+ printStringAt (pos (last pts)) "#-}"+ _ -> errorEP "ExactP: Decl: WarnPragmaDecl is given too few srcInfoPoints"+ InlineSig l inl mact qn ->+ case srcInfoPoints l of+ [_,b] -> do+ printString $ if inl then "{-# INLINE" else "{-# NOINLINE"+ maybeEP exactPC mact+ exactPC qn+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Decl: InlineSig is given wrong number of srcInfoPoints"+ InlineConlikeSig l mact qn ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "{-# INLINE CONLIKE"+ maybeEP exactPC mact+ exactPC qn+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Decl: InlineConlikeSig is given wrong number of srcInfoPoints"+ SpecSig l mact qn ts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "{-# SPECIALISE"+ maybeEP exactPC mact+ exactPC qn+ printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts+ _ -> errorEP "ExactP: Decl: SpecSig is given too few srcInfoPoints"+ SpecInlineSig l b mact qn ts ->+ case srcInfoPoints l of+ _:pts -> do+ printString $ "{-# SPECIALISE " ++ if b then "INLINE" else "NOINLINE"+ maybeEP exactPC mact+ exactPC qn+ printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts+ _ -> errorEP "ExactP: Decl: SpecInlineSig is given too few srcInfoPoints"+ InstSig l ih ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "{-# SPECIALISE"+ printStringAt (pos b) "instance"+ exactPC ih+ printStringAt (pos c) "#-}"+ _ -> errorEP "ExactP: Decl: InstSig is given wrong number of srcInfoPoints"+ AnnPragma l ann' ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "{-# ANN"+ exactPC ann'+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Decl: AnnPragma is given wrong number of srcInfoPoints"+ MinimalPragma l b ->+ case srcInfoPoints l of+ [_,b'] -> do+ printString "{-# MINIMAL"+ maybeEP exactPC b+ printStringAt (pos b') "#-}"+ _ -> errorEP "ExactP: Decl: MinimalPragma is given wrong number of srcInfoPoints"+ RoleAnnotDecl l ty roles ->+ case srcInfoPoints l of+ (t:r:_) -> do+ printStringAt (pos t) "type"+ printStringAt (pos r) "role"+ exactPC ty+ mapM_ exactPC roles+ _ -> errorEP "ExactP: Decl: RoleAnnotDecl is given wrong number of srcInfoPoints"+ CompletePragma l cls opt_ts ->+ case srcInfoPoints l of+ (t:rs) -> do+ let (cls_s, rs') = splitAt (length cls - 1) rs+ printStringAt (pos t)"{-# COMPLETE"+ printInterleaved' (zip cls_s (repeat ",")) cls+ case (rs', opt_ts) of+ ((opt_dcolon: end:_), Just tc) -> do+ printStringAt (pos opt_dcolon) "::"+ exactPC tc+ printStringAt (pos end) "#-}"+ ([end], Nothing) -> printStringAt (pos end) "#-}"+ _ -> errorEP "ExactP: Decl: CompletePragma is given wrong number of srcInfoPoints"+ _ -> errorEP "ExactP: Decl: CompletePragma is given wrong number of srcInfoPoints"+++instance ExactP Role where+ exactP r =+ case r of+ RoleWildcard l -> printStringAt (pos l) "_"+ Representational l -> printStringAt (pos l) "representational"+ Phantom l -> printStringAt (pos l) "phantom"+ Nominal l -> printStringAt (pos l) "nominal"+++instance ExactP Annotation where+ exactP ann' = case ann' of+ Ann _ n e -> do+ exactP n+ exactPC e+ TypeAnn _ n e -> do+ printString "type"+ exactPC n+ exactPC e+ ModuleAnn _ e -> do+ printString "module"+ exactPC e++instance ExactP BooleanFormula where+ exactP b' = case b' of+ VarFormula _ n -> exactPC n+ AndFormula l bs ->+ let pts = srcInfoPoints l+ in printStreams (zip (map pos pts) (repeat $ printString ",")) (map (pos . ann &&& exactPC) bs)+ OrFormula l bs ->+ let pts = srcInfoPoints l+ in printStreams (zip (map pos pts) (repeat $ printString "|")) (map (pos . ann &&& exactPC) bs)+ ParenFormula l b ->+ case srcInfoPoints l of+ [a'',b''] -> printStringAt (pos a'') "(" >> exactPC b >> printStringAt (pos b'') ")"+ _ -> errorEP "ExactP: BooleanFormula: ParenFormula is given wrong number of srcInfoPoints"++printWarndeprs :: [Pos] -> [([Name SrcSpanInfo], String)] -> EP ()+printWarndeprs _ [] = return ()+printWarndeprs ps' ((ns',str'):nsts') = printWd ps' ns' str' nsts'+ where printWd :: [Pos] -> [Name SrcSpanInfo] -> String -> [([Name SrcSpanInfo], String)] -> EP ()+ printWd (p:ps) [] str nsts = printStringAt p (show str) >> printWarndeprs ps nsts+ printWd ps [n] str nsts = exactPC n >> printWd ps [] str nsts+ printWd (p:ps) (n:ns) str nsts = exactPC n >> printStringAt p "," >> printWd ps ns str nsts+ printWd _ _ _ _ = internalError "printWd"+++sepFunBinds :: [Decl SrcSpanInfo] -> [Decl SrcSpanInfo]+sepFunBinds [] = []+sepFunBinds (FunBind _ ms:ds) = map (\m -> FunBind (ann m) [m]) ms ++ sepFunBinds ds+sepFunBinds (d:ds) = d : sepFunBinds ds++sepClassFunBinds :: [ClassDecl SrcSpanInfo] -> [ClassDecl SrcSpanInfo]+sepClassFunBinds [] = []+sepClassFunBinds (ClsDecl _ (FunBind _ ms):ds) = map (\m -> ClsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepClassFunBinds ds+sepClassFunBinds (d:ds) = d : sepClassFunBinds ds++sepInstFunBinds :: [InstDecl SrcSpanInfo] -> [InstDecl SrcSpanInfo]+sepInstFunBinds [] = []+sepInstFunBinds (InsDecl _ (FunBind _ ms):ds) = map (\m -> InsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepInstFunBinds ds+sepInstFunBinds (d:ds) = d : sepInstFunBinds ds++instance ExactP DeclHead where+ exactP dh' = case dh' of+ DHead _ n -> exactP n+ DHInfix _ tva n -> exactP tva >> epInfixName n+ DHParen l dh ->+ case srcInfoPoints l of+ [_,b] -> printString "(" >> exactPC dh >> printStringAt (pos b) ")"+ _ -> errorEP "ExactP: DeclHead: DeclParen is given wrong number of srcInfoPoints"+ DHApp _ dh t -> exactP dh >> exactPC t++instance ExactP InstRule where+ exactP ih' = case ih' of+ IRule l mtvs mctxt qn -> do+ let pts = srcInfoPoints l+ _ <- case mtvs of+ Nothing -> return pts+ Just tvs ->+ case pts of+ [a,b] -> do+ printStringAt (pos a) "forall"+ mapM_ exactPC tvs+ printStringAt (pos b) "."+ return pts+ _ -> errorEP "ExactP: InstRule: IRule is given too few srcInfoPoints"+ maybeEP exactPC mctxt+ exactPC qn+ IParen l ih ->+ case srcInfoPoints l of+ [a,b] -> printStringAt (pos a) "(" >> exactPC ih >> printStringAt (pos b) ")"+ _ -> errorEP "ExactP: InstRule: IParen is given wrong number of srcInfoPoints"++instance ExactP InstHead where+ exactP doih' = case doih' of+ IHCon _ qn -> exactPC qn+ IHInfix _ ta qn -> exactPC ta >> epInfixQName qn+ IHParen l doih ->+ case srcInfoPoints l of+ [a,b] -> printStringAt (pos a) "(" >> exactPC doih >> printStringAt (pos b) ")"+ _ -> errorEP "ExactP: OrInstHead: IHParen is given wrong number of srcInfoPoints"+ IHApp _ doih t -> exactPC doih >> exactPC t++instance ExactP TyVarBind where+ exactP (KindedVar l n k) =+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "("+ exactPC n+ printStringAt (pos b) "::"+ exactPC k+ printStringAt (pos c) ")"+ _ -> errorEP "ExactP: TyVarBind: KindedVar is given wrong number of srcInfoPoints"+ exactP (UnkindedVar l n) =+ case srcInfoPoints l of+ [a,_,c] -> do+ printStringAt (pos a) "("+ exactPC n+ printStringAt (pos c) ")"+ [] -> exactPC n+ _ -> errorEP "ExactP: TyVarBind: UnkindedVar is given wrong number of srcInfoPoints"++instance ExactP Type where+ exactP t' = case t' of+ TyForall l mtvs mctxt t -> do+ let pts = srcInfoPoints l+ _ <- case mtvs of+ Nothing -> return pts+ Just tvs ->+ case pts of+ _:b:pts' -> do+ printString "forall"+ mapM_ exactPC tvs+ printStringAt (pos b) "."+ return pts'+ _ -> errorEP "ExactP: Type: TyForall is given too few srcInfoPoints"+ maybeEP exactPC mctxt+ exactPC t+ TyStar _ -> printString "*"+ TyFun l t1 t2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP t1+ printStringAt (pos a) "->"+ exactPC t2+ _ -> errorEP "ExactP: Type: TyFun is given wrong number of srcInfoPoints"+ TyTuple l bx ts ->+ case bx of+ Boxed -> parenList (srcInfoPoints l) ts+ Unboxed -> parenHashList (srcInfoPoints l) ts+ TyUnboxedSum l es ->+ unboxedSumTypeList (srcInfoPoints l) es+ TyList l t ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "["+ exactPC t+ printStringAt (pos b) "]"+ _ -> errorEP "ExactP: Type: TyList is given wrong number of srcInfoPoints"+ TyParArray l t ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "[:"+ exactPC t+ printStringAt (pos b) ":]"+ _ -> errorEP "ExactP: Type: TyParArray is given wrong number of srcInfoPoints"+ TyApp _ t1 t2 -> exactP t1 >> exactPC t2+ TyVar _ n -> exactP n+ TyCon _ qn -> exactP qn+ TyParen l t ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "("+ exactPC t+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Type: TyParen is given wrong number of srcInfoPoints"+ TyInfix _ t1 qn t2 -> exactP t1 >> exactP qn >> exactPC t2+ TyKind l t kd ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "("+ exactPC t+ printStringAt (pos b) "::"+ exactPC kd+ printStringAt (pos c) ")"+ _ -> errorEP "ExactP: Type: TyKind is given wrong number of srcInfoPoints"+ TyPromoted _ p -> exactPC p+ TyEquals l t0 t1 -> case srcInfoPoints l of+ a:_ -> exactPC t0 >> printStringAt (pos a) "~" >> exactPC t1+ _ -> errorEP "ExactP: Type: TyEquals is given wrong number of srcInfoPoints"++ TySplice _ sp -> exactP sp+ TyBang _ b u t -> exactPC u >> exactPC b >> exactPC t+ TyWildCard _ mn -> printString "_" >> maybeEP exactPC mn+ TyQuasiQuote _ name qt -> do+ let qtLines = lines qt+ printString $ "[" ++ name ++ "|"+ sequence_ (intersperse newLine $ map printString qtLines)+ printString "|]"++instance ExactP MaybePromotedName where+ exactP (PromotedName l qn) = case srcInfoPoints l of+ [a] -> printStringAt (pos a) "'" >> epInfixQName qn+ _ -> errorEP "ExactP: MaybePromotedName: PromotedName given wrong number of args"+ exactP (UnpromotedName _ qn) = epInfixQName qn++instance ExactP Promoted where+ exactP (PromotedInteger _ _ rw) = printString rw+ exactP (PromotedString _ _ rw) = printString ('\"':rw ++ "\"")+ exactP (PromotedCon l True qn) = case srcInfoPoints l of+ [a] -> printStringAt (pos a) "'" >> epQName qn+ _ -> errorEP "ExactP: Promoted: PromotedCon is given wrong number of srcInfoPoints"+ exactP (PromotedCon _ False qn) = epQName qn+ exactP (PromotedList l b pl) =+ let o | b = "'[" | otherwise = "["+ e = "]"+ pts = srcInfoPoints l+ in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl+ exactP (PromotedTuple l pl) =+ let o = "'("+ e = ")"+ pts = srcInfoPoints l+ in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl+ exactP (PromotedUnit l) = case srcInfoPoints l of+ [_,b] -> do+ printString "("+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Promoted: PromotedUnit is given wrong number of srcInfoPoints"+++instance ExactP Context where+ exactP ctxt = do+ printContext ctxt+ printStringAt (pos . last . srcInfoPoints . ann $ ctxt) "=>"++printContext :: Context SrcSpanInfo -> EP ()+printContext ctxt = do+ let l = ann ctxt+ pts = init $ srcInfoPoints l+ case ctxt of+ CxSingle _ asst -> exactP asst+ CxEmpty _ ->+ case pts of+ [a,b] -> do+ printStringAt (pos a) "("+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Context: CxEmpty is given wrong number of srcInfoPoints"+ CxTuple _ assts -> parenList pts assts+++instance ExactP Asst where+ exactP asst = case asst of+ TypeA _ t -> exactP t+ IParam l ipn t ->+ case srcInfoPoints l of+ [a] -> do+ exactP ipn+ printStringAt (pos a) "::"+ exactPC t+ _ -> errorEP "ExactP: Asst: IParam is given wrong number of srcInfoPoints"+ ParenA l asst' ->+ case take 2 $ srcInfoPoints l of+ [a,b] -> do+ printStringAt (pos a) "("+ exactPC asst'+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Asst: ParenA is given wrong number of srcInfoPoints"++instance ExactP Deriving where+ exactP (Deriving l mds ihs) =+ case srcInfoPoints l of+ _:pts -> do+ printString "deriving"+ maybeEP exactPC mds+ case pts of+ [] -> exactPC $ head ihs+ _ -> parenList pts ihs+ _ -> errorEP "ExactP: Deriving is given too few srcInfoPoints"++instance ExactP DerivStrategy where+ exactP (DerivStock _) =+ printString "stock"+ exactP (DerivAnyclass _) =+ printString "anyclass"+ exactP (DerivNewtype _) =+ printString "newtype"+ exactP (DerivVia _ ty) = do+ printString "via"+ exactP ty++instance ExactP ClassDecl where+ exactP cdecl = case cdecl of+ ClsDecl _ d -> exactP d+ ClsDataFam l mctxt dh mk ->+ case srcInfoPoints l of+ _:pts -> do+ printString "data"+ maybeEP exactPC mctxt+ exactPC dh+ maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk+ _ -> errorEP "ExactP: ClassDecl: ClsDataFam is given too few srcInfoPoints"+ ClsTyFam l dh mk mi ->+ case srcInfoPoints l of+ _:_ -> do+ printString "type"+ exactPC dh+ maybeEP exactPC mk+ maybeEP exactPC mi+ _ -> errorEP "ExactP: ClassDecl: ClsTyFam is given too few srcInfoPoints"+ ClsTyDef l t1 ->+ case srcInfoPoints l of+ _:b:_ -> do -- 3 sourceInfoPoints implies parsed as "type instance"+ printString "type"+ printStringAt (pos b) "instance"+ exactPC t1+ _:_ -> do+ printString "type"+ exactPC t1+ _ -> errorEP "ExactP: ClassDecl: ClsTyDef is given too few srcInfoPoints"+ ClsDefSig l n t ->+ case srcInfoPoints l of+ _:b:_ -> do+ printString "default"+ exactPC n+ printStringAt (pos b) "::"+ exactPC t+ _ -> errorEP "ExactP: ClassDecl: ClsDefSig is given too few srcInfoPoints"+++instance ExactP InstDecl where+ exactP idecl = case idecl of+ InsDecl _ d -> exactP d+ InsType l t1 t2 ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "type"+ exactPC t1+ printStringAt (pos b) "="+ exactPC t2+ _ -> internalError "InstDecl -> InsType"+ InsData l dn t constrs mder -> do+ exactP dn+ exactPC t+ printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs+ mapM_ exactPC mder+ InsGData l dn t mk gds mder -> do+ let pts = srcInfoPoints l+ exactP dn+ exactPC t+ pts1 <- case mk of+ Nothing -> return pts+ Just kd -> case pts of+ p:pts' -> do+ printStringAt (pos p) "::"+ exactPC kd+ return pts'+ _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"+ case pts1 of+ x:_ -> do+ printStringAt (pos x) "where"+ mapM_ exactPC gds+ mapM_ exactPC mder+ _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"+-- InsInline l inl mact qn -> do+-- case srcInfoPoints l of+-- [a,b] -> do+-- printString $ if inl then "{-# INLINE" else "{-# NOINLINE"+-- maybeEP exactPC mact+-- exactPC qn+-- printStringAt (pos b) "#-}"+-- _ -> errorEP "ExactP: InstDecl: InsInline is given wrong number of srcInfoPoints"++instance ExactP FunDep where+ exactP (FunDep l nxs nys) =+ case srcInfoPoints l of+ [a] -> do+ mapM_ exactPC nxs+ printStringAt (pos a) "->"+ mapM_ exactPC nys+ _ -> errorEP "ExactP: FunDep is given wrong number of srcInfoPoints"++instance ExactP QualConDecl where+ exactP (QualConDecl l mtvs mctxt cd) = do+ let pts = srcInfoPoints l+ _ <- case mtvs of+ Nothing -> return pts+ Just tvs ->+ case pts of+ _:b:pts' -> do+ printString "forall"+ mapM_ exactPC tvs+ printStringAt (pos b) "."+ return pts'+ _ -> errorEP "ExactP: QualConDecl is given wrong number of srcInfoPoints"+ maybeEP exactPC mctxt+ exactPC cd++instance ExactP ConDecl where+ exactP cd = case cd of+ ConDecl _ n bts -> exactP n >> mapM_ exactPC bts+ InfixConDecl _ bta n btb -> exactP bta >> epInfixName n >> exactP btb+ RecDecl l n fds -> exactP n >> curlyList (srcInfoPoints l) fds++instance ExactP GadtDecl where+ exactP (GadtDecl l n _mtvs mctxt ns' t) =+ case ns' of+ Nothing ->+ case srcInfoPoints l of+ [a] -> do+ exactP n+ printStringAt (pos a) "::"+ exactPC t+ _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"+ Just ts ->+ case srcInfoPoints l of+ (a:b:c:d:rest) -> do+ exactPC n+ printStringAt (pos a) "::"+ maybeEP exactPC mctxt+ printStringAt (pos b) "{"+ printInterleaved' (zip rest (repeat ",")) ts+ printStringAt (pos c) "}"+ printStringAt (pos d) "->"+ exactPC t+ _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"++instance ExactP BangType where+ exactP bt = case bt of+ BangedTy l -> printStringAt (pos l) "!"+ LazyTy l -> printStringAt (pos l) "~"+ _ -> return ()++instance ExactP Unpackedness where+ exactP bt = case bt of+ Unpack l ->+ case srcInfoPoints l of+ [a,b] -> do+ printStringAt (pos a) "{-# UNPACK"+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Unpackedness: Unpack is given wrong number of srcInfoPoints"+ NoUnpack l ->+ case srcInfoPoints l of+ [a,b] -> do+ printStringAt (pos a) "{-# NOUNPACK"+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Unpackedness: NoUnpack is given wrong number of srcInfoPoints"+ NoUnpackPragma {} -> return ()++instance ExactP Splice where+ exactP (IdSplice _ str) = printString $ '$':str+ exactP (TIdSplice _ str) = printString $ "$$" ++ str+ exactP (ParenSplice l e) = printParen "ParenSplice" "$(" l e+ exactP (TParenSplice l e) = printParen "TParenSplice" "$$(" l e++printParen :: ExactP ast => String -> String -> SrcSpanInfo -> ast SrcSpanInfo -> EP ()+printParen con paren l e =+ case srcInfoPoints l of+ [_,b] -> do+ printString paren+ exactPC e+ printStringAt (pos b) ")"+ _ -> errorEP $ "ExactP: Splice: " ++ con ++ " is given wrong number of srcInfoPoints"++instance ExactP Exp where+ exactP exp = case exp of+ Var _ qn -> exactP qn+ OverloadedLabel _ qn -> printString ('#':qn)+ IPVar _ ipn -> exactP ipn+ Con _ qn -> exactP qn+ Lit _ lit -> exactP lit+ InfixApp _ e1 op e2 -> exactP e1 >> exactPC op >> exactPC e2+ App _ e1 e2 -> exactP e1 >> exactPC e2+ NegApp _ e -> printString "-" >> exactPC e+ Lambda l ps e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "\\"+ mapM_ exactPC ps+ printStringAt (pos b) "->"+ exactPC e+ _ -> errorEP "ExactP: Exp: Lambda is given wrong number of srcInfoPoints"+ Let l bs e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "let"+ exactPC bs+ printStringAt (pos b) "in"+ exactPC e+ _ -> errorEP "ExactP: Exp: Let is given wrong number of srcInfoPoints"+ If l ec et ee -> -- traceShow (srcInfoPoints l) $ do+ -- First we need to sort out if there are any optional+ -- semicolons hiding among the srcInfoPoints.+ case srcInfoPoints l of+ (_:b:c:rest) -> do+ let (mpSemi1,pThen,rest2) =+ if snd (spanSize b) == 4 -- this is "then", not a semi+ then (Nothing, b, c:rest)+ else (Just b, c, rest)+ case rest2 of+ (c':rest3) -> do+ let (mpSemi2,rest4) = if snd (spanSize c') == 4 -- this is "else", not a semi+ then (Nothing, rest2)+ else (Just c', rest3)+ case rest4 of+ [pElse] -> do+ -- real work starts here:+ printString "if"+ exactPC ec+ maybeEP printSemi mpSemi1+ printStringAt (pos pThen) "then"+ exactPC et+ maybeEP printSemi mpSemi2+ printStringAt (pos pElse) "else"+ exactPC ee+ [] -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"+ _ -> errorEP "ExactP: Exp: If is given too many srcInfoPoints"+ _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"++ _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"+ MultiIf l alts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "if"+ layoutList pts (map GuardedAlt alts)+ _ -> internalError "Exp -> MultiIf"+ Case l e alts ->+ case srcInfoPoints l of+ _:b:pts -> do+ printString "case"+ exactPC e+ printStringAt (pos b) "of"+ layoutList pts alts+ _ -> errorEP "ExactP: Exp: Case is given too few srcInfoPoints"+ Do l stmts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "do"+ layoutList pts stmts+ _ -> errorEP "ExactP: Exp: Do is given too few srcInfoPoints"+ MDo l stmts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "mdo"+ layoutList pts stmts+ _ -> errorEP "ExactP: Exp: Mdo is given wrong number of srcInfoPoints"+ Tuple l bx es ->+ case bx of+ Boxed -> parenList (srcInfoPoints l) es+ Unboxed -> parenHashList (srcInfoPoints l) es+ UnboxedSum l b a es -> do+ unboxedSumEP l b a es+ TupleSection l bx mexps -> do+ let pts = srcInfoPoints l+ (o, e) = case bx of Boxed -> ("(", ")"); Unboxed -> ("(#", "#)")+ printSeq $ interleave (zip (map pos $ init pts) (map printString (o: repeat ",")) ++ [(pos $ last pts, printString e)])+ (map (maybe (0,0) (pos . ann) &&& maybeEP exactPC) mexps)+ List l es -> squareList (srcInfoPoints l) es+ ParArray l es -> squareColonList (srcInfoPoints l) es+ Paren l p -> parenList (srcInfoPoints l) [p]+ LeftSection l e qop ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "("+ exactPC e+ exactPC qop+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Exp: LeftSection is given wrong number of srcInfoPoints"+ RightSection l qop e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "("+ exactPC qop+ exactPC e+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Exp: RightSection is given wrong number of srcInfoPoints"+ RecConstr l qn fups -> do+ let pts = srcInfoPoints l+ exactP qn+ curlyList pts fups+ RecUpdate l e fups -> do+ let pts = srcInfoPoints l+ exactP e+ curlyList pts fups+ EnumFrom l e ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "["+ exactPC e+ printStringAt (pos b) ".."+ printStringAt (pos c) "]"+ _ -> errorEP "ExactP: Exp: EnumFrom is given wrong number of srcInfoPoints"+ EnumFromTo l e1 e2 ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "["+ exactPC e1+ printStringAt (pos b) ".."+ exactPC e2+ printStringAt (pos c) "]"+ _ -> errorEP "ExactP: Exp: EnumFromTo is given wrong number of srcInfoPoints"+ EnumFromThen l e1 e2 ->+ case srcInfoPoints l of+ [_,b,c,d] -> do+ printString "["+ exactPC e1+ printStringAt (pos b) ","+ exactPC e2+ printStringAt (pos c) ".."+ printStringAt (pos d) "]"+ _ -> errorEP "ExactP: Exp: EnumFromThen is given wrong number of srcInfoPoints"+ EnumFromThenTo l e1 e2 e3 ->+ case srcInfoPoints l of+ [_,b,c,d] -> do+ printString "["+ exactPC e1+ printStringAt (pos b) ","+ exactPC e2+ printStringAt (pos c) ".."+ exactPC e3+ printStringAt (pos d) "]"+ _ -> errorEP "ExactP: Exp: EnumFromToThen is given wrong number of srcInfoPoints"+ ParArrayFromTo l e1 e2 ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "[:"+ exactPC e1+ printStringAt (pos b) ".."+ exactPC e2+ printStringAt (pos c) ":]"+ _ -> errorEP "ExactP: Exp: ParArrayFromTo is given wrong number of srcInfoPoints"+ ParArrayFromThenTo l e1 e2 e3 ->+ case srcInfoPoints l of+ [_,b,c,d] -> do+ printString "[:"+ exactPC e1+ printStringAt (pos b) ","+ exactPC e2+ printStringAt (pos c) ".."+ exactPC e3+ printStringAt (pos d) ":]"+ _ -> errorEP "ExactP: Exp: ParArrayFromToThen is given wrong number of srcInfoPoints"+ ListComp l e qss ->+ case srcInfoPoints l of+ _:pts -> do+ printString "["+ exactPC e+ bracketList ("|",",","]") pts qss+ _ -> errorEP "ExactP: Exp: ListComp is given too few srcInfoPoints"+ ParComp l e qsss ->+ case srcInfoPoints l of+ _:pts -> do+ let (strs, qss) = unzip $ pairUp qsss+ printString "["+ exactPC e+ printInterleaved (zip pts (strs ++ ["]"])) qss+ _ -> errorEP "ExactP: Exp: ParComp is given wrong number of srcInfoPoints"+ where pairUp [] = []+ pairUp ((a:as):xs) = ("|", a) : zip (repeat ",") as ++ pairUp xs+ pairUp _ = internalError "Exp -> ParComp -> pairUp"+ ParArrayComp l e qsss ->+ case srcInfoPoints l of+ _:pts -> do+ let (strs, qss) = unzip $ pairUp qsss+ printString "[:"+ exactPC e+ printInterleaved (zip pts (strs ++ [":]"])) qss+ _ -> errorEP "ExactP: Exp: ParArrayComp is given wrong number of srcInfoPoints"+ where pairUp [] = []+ pairUp ((a:as):xs) = ("|", a) : zip (repeat "|") as ++ pairUp xs+ pairUp _ = internalError "Exp -> ParArrayComp -> pairUp"++ ExpTypeSig l e t ->+ case srcInfoPoints l of+ [a] -> do+ exactP e+ printStringAt (pos a) "::"+ exactPC t+ _ -> errorEP "ExactP: Exp: ExpTypeSig is given wrong number of srcInfoPoints"+ VarQuote _ qn -> do+ printString "'"+ exactPC qn+ TypQuote _ qn -> do+ printString "''"+ exactPC qn+ BracketExp _ br -> exactP br+ SpliceExp _ sp -> exactP sp+ QuasiQuote _ name qt -> do+ let qtLines = lines qt+ printString $ "[" ++ name ++ "|"+ sequence_ (intersperse newLine $ map printString qtLines)+ printString "|]"+ XTag l xn attrs mat es ->+ case srcInfoPoints l of+ [_,b,c,d,e] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC es+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ -- TODO: Fugly hack/duplication, should be refactored+ -- For the case when there's an optional semicolon+ [_,b,semi,c,d,e] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC es+ printSemi semi+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ _ -> errorEP "ExactP: Exp: XTag is given wrong number of srcInfoPoints"+ XETag l xn attrs mat ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) "/>"+ _ -> errorEP "ExactP: Exp: XETag is given wrong number of srcInfoPoints"+ XPcdata _ str -> do+ let strLines = lines str+ sequence_ (intersperse newLine $ map printString strLines)+ XExpTag l e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "<%"+ exactPC e+ printStringAt (pos b) "%>"+ _ -> errorEP "ExactP: Exp: XExpTag is given wrong number of srcInfoPoints"+ XChildTag l es ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "<%>"+ mapM_ exactPC es+ printStringAt (pos b) "</"+ printStringAt (pos c) "%>"+ -- Ugly duplication for when there's an optional semi+ [_,semi,b,c] -> do+ printString "<%>"+ mapM_ exactPC es+ printSemi semi+ printStringAt (pos b) "</"+ printStringAt (pos c) "%>"+ _ -> errorEP "ExactP: Exp: XChildTag is given wrong number of srcInfoPoints"+ CorePragma l str e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString $ "{-# CORE " ++ show str+ printStringAt (pos b) "#-}"+ exactPC e+ _ -> errorEP "ExactP: Exp: CorePragma is given wrong number of srcInfoPoints"+ SCCPragma l str e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString $ "{-# SCC " ++ show str+ printStringAt (pos b) "#-}"+ exactPC e+ _ -> errorEP "ExactP: Exp: SCCPragma is given wrong number of srcInfoPoints"+ GenPragma l str (i1,i2) (i3,i4) e -> do+ printStrs $ zip (srcInfoPoints l) ["{-# GENERATED", show str, show i1, ":", show i2, "-", show i3, ":", show i4, "#-}"]+ exactPC e+ Proc l p e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "proc"+ exactPC p+ printStringAt (pos b) "->"+ exactPC e+ _ -> errorEP "ExactP: Exp: Proc is given wrong number of srcInfoPoints"+ LeftArrApp l e1 e2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP e1+ printStringAt (pos a) "-<"+ exactPC e2+ _ -> errorEP "ExactP: Exp: LeftArrApp is given wrong number of srcInfoPoints"+ RightArrApp l e1 e2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP e1+ printStringAt (pos a) ">-"+ exactPC e2+ _ -> errorEP "ExactP: Exp: RightArrApp is given wrong number of srcInfoPoints"+ LeftArrHighApp l e1 e2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP e1+ printStringAt (pos a) "-<<"+ exactPC e2+ _ -> errorEP "ExactP: Exp: LeftArrHighApp is given wrong number of srcInfoPoints"+ RightArrHighApp l e1 e2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP e1+ printStringAt (pos a) ">>-"+ exactPC e2+ _ -> errorEP "ExactP: Exp: RightArrHighApp is given wrong number of srcInfoPoints"++ ArrOp l e -> case srcInfoPoints l of+ [a, b] -> do+ printStringAt (pos a) "(|"+ exactPC e+ printStringAt (pos b) "|)"+ _ -> errorEP "ExactP: Exp: ArrOp is given wrong number of srcInfoPoints"++ LCase l alts ->+ case srcInfoPoints l of+ _:b:pts -> do+ printString "\\"+ printStringAt (pos b) "case"+ layoutList pts alts+ _ -> errorEP "ExactP: Exp: LCase is given wrong number of srcInfoPoints"+ TypeApp _ ty -> printString "@" >> exactP ty++unboxedSumEP :: ExactP e => SrcSpanInfo -> Int -> Int -> e SrcSpanInfo -> EP ()+unboxedSumEP l b _a es = do+ let (opt:pts) = srcInfoPoints l+ (o, e) = ("(#", "#)")+ bars = zip (map pos (init pts)) (map printString (repeat "|"))+ open = (pos opt, printString o)+ close = (pos (last pts), printString e)+ fs = take b bars+ as = drop b bars+ printSeq $ open : fs ++ [((0, 0), exactPC es)] ++ as ++ [close]++instance ExactP FieldUpdate where+ exactP fup = case fup of+ FieldUpdate l qn e ->+ case srcInfoPoints l of+ [a] -> do+ exactP qn+ printStringAt (pos a) "="+ exactPC e+ _ -> errorEP "ExactP: FieldUpdate is given wrong number of srcInfoPoints"+ FieldPun _ n -> exactP n+ FieldWildcard _ -> printString ".."++instance ExactP Stmt where+ exactP stmt = case stmt of+ Generator l p e ->+ case srcInfoPoints l of+ [a] -> do+ exactP p+ printStringAt (pos a) "<-"+ exactPC e+ _ -> errorEP "ExactP: Stmt: Generator is given wrong number of srcInfoPoints"+ Qualifier _ e -> exactP e+ LetStmt _ bds -> do+ printString "let"+ exactPC bds+ RecStmt l ss ->+ case srcInfoPoints l of+ _:pts -> do+ printString "rec"+ layoutList pts ss+ _ -> errorEP "ExactP: Stmt: RecStmt is given too few srcInfoPoints"++instance ExactP QualStmt where+ exactP qstmt = case qstmt of+ QualStmt _ stmt -> exactP stmt+ ThenTrans _ e -> printString "then" >> exactPC e+ ThenBy l e1 e2 ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "then"+ exactPC e1+ printStringAt (pos b) "by"+ exactPC e2+ _ -> errorEP "ExactP: QualStmt: ThenBy is given wrong number of srcInfoPoints"+ GroupBy l e -> do+ printStrs $ zip (srcInfoPoints l) ["then","group","by"]+ exactPC e+ GroupUsing l e -> do+ printStrs $ zip (srcInfoPoints l) ["then","group","using"]+ exactPC e+ GroupByUsing l e1 e2 -> do+ let pts = srcInfoPoints l+ printStrs $ zip (init pts) ["then","group","by"]+ exactPC e1+ printStringAt (pos (last pts)) "using"+ exactPC e2++instance ExactP Bracket where+ exactP br = case br of+ ExpBracket l e -> printBracket "ExpBracket" "[|" "|]" l e+ TExpBracket l e -> printBracket "TExpBracket" "[||" "||]" l e+ PatBracket l p -> printBracket "PatBracket" "[p|" "|]" l p+ TypeBracket l t -> printBracket "TypeBracket" "[t|" "|]" l t+ DeclBracket l ds ->+ case srcInfoPoints l of+ pts@(_:_) -> do+ printString "[d|"+ layoutList (init pts) (sepFunBinds ds)+ printStringAt (pos (last pts)) "|]"+ _ -> errorEP "ExactP: Bracket: DeclBracket is given too few srcInfoPoints"++printBracket :: ExactP ast => String -> String -> String -> SrcSpanInfo -> ast SrcSpanInfo -> EP ()+printBracket con oBracket cBracket l c =+ case srcInfoPoints l of+ [_,b] -> do+ printString oBracket+ exactPC c+ printStringAt (pos b) cBracket+ _ -> errorEP $ "ExactP: Bracket: " ++ con ++ " is given wrong number of srcInfoPoints"++instance ExactP XAttr where+ exactP (XAttr l xn e) =+ case srcInfoPoints l of+ [a] -> do+ exactP xn+ printStringAt (pos a) "="+ exactPC e+ _ -> errorEP "ExactP: XAttr is given wrong number of srcInfoPoints"++instance ExactP Alt where+ exactP (Alt l p galts mbs) = do+ exactP p+ exactPC (GuardedAlts galts)+ maybeEP (\bs -> printStringAt (pos (head (srcInfoPoints l))) "where" >> exactPC bs) mbs++instance ExactP Match where+ exactP (Match l n ps rhs mbinds) = do+ let pts = srcInfoPoints l+ len = length pts+ pars = len `div` 2+ (oPars,cParsWh) = splitAt pars pts+ (cPars,_) = splitAt pars cParsWh -- _§ is either singleton or empty+ printStrs (zip oPars (repeat "("))+ exactPC n+ printStreams (zip (map pos cPars) (repeat $ printString ")")) (map (pos . ann &&& exactPC) ps)+ exactPC rhs+ maybeEP (\bds -> printStringAt (pos (head pts)) "where" >> exactPC bds) mbinds+ exactP (InfixMatch l a n bs rhs mbinds) = do+ let pts = srcInfoPoints l+ len = length pts+ pars = len `div` 2+ (oPars,cParsWh) = splitAt pars pts+ (cPars,whPt) = splitAt pars cParsWh -- whPt is either singleton or empty+ printStrs (zip oPars (repeat "("))+ exactPC a+ epInfixName n+ printInterleaved' (zip cPars (repeat ")")) bs+ exactPC rhs+ maybeEP (\bds -> printStringAt (pos (head whPt)) "where" >> exactPC bds) mbinds++instance ExactP Rhs where+ exactP (UnGuardedRhs _ e) = printString "=" >> exactPC e+ exactP (GuardedRhss _ grhss) = mapM_ exactPC grhss++instance ExactP GuardedRhs where+ exactP (GuardedRhs l ss e) =+ case srcInfoPoints l of+ _:pts -> do+ printString "|"+ printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "=")]) ss+ exactPC e+ _ -> errorEP "ExactP: GuardedRhs is given wrong number of srcInfoPoints"++newtype GuardedAlts l = GuardedAlts (Rhs l)+ deriving (Functor, Show)+instance Annotated GuardedAlts where+ amap f (GuardedAlts v) = GuardedAlts (amap f v)+ ann (GuardedAlts v) = ann v++newtype GuardedAlt l = GuardedAlt (GuardedRhs l)+ deriving (Functor, Show)+instance Annotated GuardedAlt where+ amap f (GuardedAlt v) = GuardedAlt (amap f v)+ ann (GuardedAlt v) = ann v++instance ExactP GuardedAlts where+ exactP (GuardedAlts (UnGuardedRhs _ e)) = printString "->" >> exactPC e+ exactP (GuardedAlts (GuardedRhss _ grhss)) = mapM_ (exactPC . GuardedAlt) grhss++instance ExactP GuardedAlt where+ exactP (GuardedAlt (GuardedRhs l ss e)) =+ case srcInfoPoints l of+ _:pts -> do+ printString "|"+ printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "->")]) ss+ exactPC e+ _ -> errorEP "ExactP: GuardedAlt is given wrong number of srcInfoPoints"++instance ExactP Pat where+ exactP pat = case pat of+ PVar l n -> exactPC (fmap (const l) n)+ PLit _ sg lit -> exactPC sg >> exactPC lit+ PNPlusK l n k ->+ case srcInfoPoints l of+ [a,b] -> do+ exactP n+ printStringAt (pos a) "+"+ printStringAt (pos b) (show k)+ _ -> errorEP "ExactP: Pat: PNPlusK is given wrong number of srcInfoPoints"+ PInfixApp _ pa qn pb -> exactP pa >> epInfixQName qn >> exactPC pb+ PApp _ qn ps -> exactP qn >> mapM_ exactPC ps+ PTuple l bx ps ->+ case bx of+ Boxed -> parenList (srcInfoPoints l) ps+ Unboxed -> parenHashList (srcInfoPoints l) ps+ PUnboxedSum l before after e ->+ unboxedSumEP l before after e+ PList l ps -> squareList (srcInfoPoints l) ps+ PParen l p -> parenList (srcInfoPoints l) [p]+ PRec l qn pfs -> exactP qn >> curlyList (srcInfoPoints l) pfs+ PAsPat l n p ->+ case srcInfoPoints l of+ [a] -> do+ exactP n+ printStringAt (pos a) "@"+ exactPC p+ _ -> errorEP "ExactP: Pat: PAsPat is given wrong number of srcInfoPoints"+ PWildCard _ -> printString "_"+ PIrrPat _ p -> printString "~" >> exactPC p+ PatTypeSig l p t ->+ case srcInfoPoints l of+ [a] -> do+ exactP p+ printStringAt (pos a) "::"+ exactPC t+ _ -> errorEP "ExactP: Pat: PatTypeSig is given wrong number of srcInfoPoints"+ PViewPat l e p ->+ case srcInfoPoints l of+ [a] -> do+ exactP e+ printStringAt (pos a) "->"+ exactPC p+ _ -> errorEP "ExactP: Pat: PViewPat is given wrong number of srcInfoPoints"+ PRPat l rps -> squareList (srcInfoPoints l) rps+ PXTag l xn attrs mat ps ->+ case srcInfoPoints l of+ [_,b,c,d,e] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC ps+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ -- Optional semi+ [_,b,semi,c,d,e] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC ps+ printSemi semi+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ _ -> errorEP "ExactP: Pat: PXTag is given wrong number of srcInfoPoints"+ PXETag l xn attrs mat ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) "/>"+ _ -> errorEP "ExactP: Pat: PXETag is given wrong number of srcInfoPoints"+ PXPcdata _ str -> printString str+ PXPatTag l p ->+ case srcInfoPoints l of+ [_,_] -> do+ printString "<%"+ exactPC p+ printString "%>"+ _ -> errorEP "ExactP: Pat: PXPatTag is given wrong number of srcInfoPoints"+ PXRPats l rps -> bracketList ("<[",",","]>") (srcInfoPoints l) rps+ PSplice _ sp -> exactP sp+ PQuasiQuote _ name qt -> printString $ "[$" ++ name ++ "|" ++ qt ++ "]"+ PBangPat _ p -> printString "!" >> exactPC p++instance ExactP PatField where+ exactP pf = case pf of+ PFieldPat l qn p ->+ case srcInfoPoints l of+ [a] -> do+ exactP qn+ printStringAt (pos a) "="+ exactPC p+ _ -> errorEP "ExactP: PatField: PFieldPat is given wrong number of srcInfoPoints"+ PFieldPun _ n -> exactP n+ PFieldWildcard _ -> printString ".."++instance ExactP RPat where+ exactP rpat = case rpat of+ RPOp _ rp op -> exactP rp >> exactPC op+ RPEither l r1 r2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP r1+ printStringAt (pos a) "|"+ exactPC r2+ _ -> errorEP "ExactP: RPat: RPEither is given wrong number of srcInfoPoints"+ RPSeq l rps -> bracketList ("(|",",","|)") (srcInfoPoints l) rps+ RPGuard l p stmts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "(|"+ exactPC p+ bracketList ("|",",","|)") pts stmts+ _ -> errorEP "ExactP: RPat: RPGuard is given wrong number of srcInfoPoints"+ RPCAs l n rp ->+ case srcInfoPoints l of+ [a] -> do+ exactP n+ printStringAt (pos a) "@:"+ exactPC rp+ _ -> errorEP "ExactP: RPat: RPCAs is given wrong number of srcInfoPoints"+ RPAs l n rp ->+ case srcInfoPoints l of+ [a] -> do+ exactP n+ printStringAt (pos a) "@"+ exactPC rp+ _ -> errorEP "ExactP: RPat: RPAs is given wrong number of srcInfoPoints"+ RPParen l rp -> parenList (srcInfoPoints l) [rp]+ RPPat _ p -> exactP p++instance ExactP RPatOp where+ exactP rop = printString $ case rop of+ RPStar _ -> "*"+ RPStarG _ -> "*!"+ RPPlus _ -> "+"+ RPPlusG _ -> "+!"+ RPOpt _ -> "?"+ RPOptG _ -> "?!"++instance ExactP PXAttr where+ exactP (PXAttr l xn p) =+ case srcInfoPoints l of+ [a] -> do+ exactP xn+ printStringAt (pos a) "="+ exactPC p+ _ -> errorEP "ExactP: PXAttr is given wrong number of srcInfoPoints"++instance ExactP XName where+ exactP xn = case xn of+ XName _ name -> printString name+ XDomName l dom name ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString dom+ printStringAt (pos b) ":"+ printStringAt (pos c) name+ _ -> errorEP "ExactP: XName: XDomName is given wrong number of srcInfoPoints"++instance ExactP Binds where+ exactP (BDecls l ds) = layoutList (srcInfoPoints l) (sepFunBinds ds)+ exactP (IPBinds l ips) = layoutList (srcInfoPoints l) ips++instance ExactP CallConv where+ exactP (StdCall _) = printString "stdcall"+ exactP (CCall _) = printString "ccall"+ exactP (CPlusPlus _) = printString "cplusplus"+ exactP (DotNet _) = printString "dotnet"+ exactP (Jvm _) = printString "jvm"+ exactP (Js _) = printString "js"+ exactP (JavaScript _) = printString "javascript"+ exactP (CApi _) = printString "capi"++instance ExactP Safety where+ exactP (PlayRisky _) = printString "unsafe"+ exactP (PlaySafe _ b) = printString $ if b then "threadsafe" else "safe"+ exactP (PlayInterruptible _) = printString "interruptible"++instance ExactP Rule where+ exactP (Rule l str mact mrvs e1 e2) =+ case srcInfoPoints l of+ _:pts -> do+ printString (show str)+ maybeEP exactP mact+ pts1 <- case mrvs of+ Nothing -> return pts+ Just rvs ->+ case pts of+ a':b:pts' -> do+ printStringAt (pos a') "forall"+ mapM_ exactPC rvs+ printStringAt (pos b) "."+ return pts'+ _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"+ case pts1 of+ [x] -> do+ exactPC e1+ printStringAt (pos x) "="+ exactPC e2+ _ -> errorEP "ExactP: Rule is given wrong number of srcInfoPoints"+ _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"++instance ExactP RuleVar where+ exactP (TypedRuleVar l n t) =+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "("+ exactPC n+ printStringAt (pos b) "::"+ exactPC t+ printStringAt (pos c) ")"+ _ -> errorEP "ExactP: RuleVar: TypedRuleVar is given wrong number of srcInfoPoints"+ exactP (RuleVar _ n) = exactP n++instance ExactP Overlap where+ exactP (NoOverlap _) =+ printString "{-# NO_OVERLAP #-}"+ exactP (Overlap _) =+ printString "{-# OVERLAP #-}"+ exactP (Overlaps _) =+ printString "{-# OVERLAPS #-}"+ exactP (Overlapping _) =+ printString "{-# OVERLAPPING #-}"+ exactP (Overlappable _) =+ printString "{-# OVERLAPPABLE #-}"+ exactP (Incoherent _) =+ printString "{-# INCOHERENT #-}"++instance ExactP Activation where+ exactP (ActiveFrom l i) =+ printPoints l ["[", show i, "]"]+ exactP (ActiveUntil l i) =+ printPoints l ["[", "~", show i, "]"]++instance ExactP FieldDecl where+ exactP (FieldDecl l ns bt) = do+ let pts = srcInfoPoints l+ printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "::")]) ns+ exactPC bt++instance ExactP IPBind where+ exactP (IPBind l ipn e) =+ case srcInfoPoints l of+ [a] -> do+ exactP ipn+ printStringAt (pos a) "="+ exactPC e+ _ -> errorEP "ExactP: IPBind is given wrong number of srcInfoPoints"++-- Hopefully, this will never fire.+-- If it does, hopefully by that time https://github.com/sol/rewrite-with-location+-- will be implemented.+-- If not, then removing all calls to internalError should give a better+-- idea where the error comes from.+-- So far, it's necessary to eliminate non-exhaustive patterns warnings.+-- We don't want to turn them off, as we want unhandled AST nodes to be+-- reported.+internalError :: String -> a+internalError loc' = error $ unlines+ [ "haskell-src-exts: ExactPrint: internal error (non-exhaustive pattern)"+ , "Location: " ++ loc'+ , "This is either caused by supplying incorrect location information or by"+ , "a bug in haskell-src-exts. If this happens on an unmodified AST obtained"+ , "by the haskell-src-exts Parser it is a bug, please it report it at"+ , "https://github.com/haskell-suite/haskell-src-exts"]
src/Language/Haskell/Exts/ExtScheme.hs view
@@ -1,4 +1,6 @@+{-# LANGUAGE Safe #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.ExtScheme
src/Language/Haskell/Exts/Extension.hs view
@@ -1,4 +1,5 @@-{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE CPP, DeriveDataTypeable, Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Extension@@ -31,7 +32,7 @@ parseExtension, prettyExtension, -- * Extension groups- ghcDefault, glasgowExts, + ghcDefault, glasgowExts, knownExtensions, deprecatedExtensions, -- * Semantics of extensions applied to languages@@ -39,9 +40,13 @@ ) where +#if __GLASGOW_HASKELL__ < 710 import Control.Applicative ((<$>), (<|>))+#else+import Control.Applicative ((<|>))+#endif import Data.Array (Array, accumArray, bounds, Ix(inRange), (!))-import Data.List (nub, (\\), delete)+import Data.List (nub) import Data.Maybe (fromMaybe) import Data.Data @@ -101,9 +106,7 @@ knownLanguages = [Haskell98, Haskell2010] classifyLanguage :: String -> Language-classifyLanguage = \str -> case lookup str langTable of- Just lang -> lang- Nothing -> UnknownLanguage str+classifyLanguage str = fromMaybe (UnknownLanguage str) $ lookup str langTable where langTable = [ (show lang, lang) | lang <- knownLanguages ]@@ -147,17 +150,15 @@ -- instance being applicable. | IncoherentInstances -{- DoRec not yet supported by HSE.+ -- | [GHC § 7.6.3.5] Allow type signatures in instances.+ | InstanceSigs - -- | [GHC § 7.3.8] Allows recursive bindings in @do@ blocks,- -- using the @rec@ keyword.+ -- | [GHC § 7.3.8] Deprecated in GHC. Allows recursive+ -- bindings in @do@ blocks, using the @rec@ keyword. | DoRec --}-- -- | [GHC § 7.3.8.2] Deprecated in GHC. Allows recursive bindings- -- using @mdo@, a variant of @do@. @DoRec@ provides a different,- -- preferred syntax.+ -- | [GHC § 7.3.8.2] Allows recursive bindings using @mdo@, a+ -- variant of @do@, and @rec@. | RecursiveDo -- | [GHC § 7.3.9] Provide syntax for writing list@@ -268,11 +269,14 @@ -- @deriving@ for any class with an instance for the underlying type. | GeneralizedNewtypeDeriving + -- | [GHC § 9.6.10] Allow use of any typeclass in deriving clauses.+ | DeriveAnyClass+ -- | [Hugs § 7.1] Enable the \"Trex\" extensible records system. | ExtensibleRecords -- | [Hugs § 7.2] Enable type synonyms which are transparent in- -- some definitions and opaque elsewhere, as a way of implementing + -- some definitions and opaque elsewhere, as a way of implementing -- abstract datatypes. | RestrictedTypeSynonyms @@ -284,6 +288,9 @@ -- identifiers. Also enables literal syntax for unboxed values. | MagicHash + -- | Binary integer literals+ | BinaryLiterals+ -- | [GHC § 7.7] Allow data types and type synonyms which are -- indexed by types, i.e. ad-hoc polymorphism for types. | TypeFamilies@@ -309,7 +316,8 @@ -- or type variable to be an infix operator. | TypeOperators ---PArr -- not ready yet, and will probably be renamed to ParallelArrays+ -- | [GHC § 7.26.5] Parallel arrays for Data Parallel Haskell.+ | ParallelArrays -- | [GHC § 7.3.16] Enable syntax for implicitly binding local names -- corresponding to the field names of a record. A wildcard binds@@ -367,8 +375,13 @@ -- > import "network" Network.Socket | PackageImports + | ImportQualifiedPost+ | LambdaCase + -- | [GHC § 7.3.20] Allow case expressions with no alternatives.+ | EmptyCase+ -- | [GHC § 7.8.6] Deprecated in GHC 6.12 and will be removed in -- GHC 7. Allow a type variable to be instantiated at a -- polymorphic type.@@ -440,6 +453,9 @@ -- | Enable @deriving@ for the @Data.Functor.Functor@ class. | DeriveFunctor + -- | [GHC § 7.5.3] Enable @deriving@ for the @Generic@ and @Generic1@ classes.+ | DeriveGeneric+ -- | Enable @deriving@ for the @Data.Traversable.Traversable@ class. | DeriveTraversable @@ -456,6 +472,13 @@ -- foreign function interface. | CApiFFI + -- | GHCJS FFI extension with convenient import patterns,+ -- asynchronous FFI and a JSVal FFI type+ | JavaScriptFFI++ -- | [GHC § 7.3.27] Enable explicit namespaces in import/export.+ | ExplicitNamespaces+ | DataKinds | PolyKinds@@ -464,8 +487,6 @@ -- extension to accept conditional expressions with multiple branches. | MultiWayIf - {- Safe Haskell not yet supported by HSE.- -- | [GHC § 7.20.3] Allow imports to be qualified with a safe -- keyword that requires the imported module be trusted as according -- to the Safe Haskell definition of trust.@@ -484,18 +505,63 @@ -- trusted. | Trustworthy --}+ -- | [GHC § 7.6.1.4] Allow default signatures in class+ -- definitions. They apply to default methods implemented in this+ -- class.+ | DefaultSignatures -{- ConstraintKinds not yet supported by HSE +-- ConstraintKinds not generally supported by HSE. This flag makes RCategory2.hs+-- pass testing though.+ -- | [GHC § 7.40] Allow type class/implicit parameter/equality -- constraints to be used as types with the special kind Constraint. -- Also generalise the (ctxt => ty) syntax so that any type of kind -- Constraint can occur before the arrow. | ConstraintKinds --}+ -- | [GHC § 7.25.3] Allow role annotations.+ | RoleAnnotations+ -- | [GHC § 7.3.8] Enable giving names to parametrized pattern+ -- schemes+ | PatternSynonyms + -- | [GHC § 7.15] Allow partial specified type signatures.+ -- Note that this extension does not affect parsing. It only affects whether the+ -- program is able to be run with partial signatures.+ | PartialTypeSignatures++ -- | [GHC § 7.15.1.2] This extension treats type variables which+ -- start with an underscore as wildcards. For example, `foo :: _x` is+ -- equivalent to `foo :: _`.+ | NamedWildCards++ | TypeApplications++ | TypeFamilyDependencies++ | OverloadedLabels++ -- | Allow multiple @deriving@ clauses, each optionally qualified with a+ -- /strategy/.+ | DerivingStrategies++ | UnboxedSums++ | TypeInType++ | Strict++ | StrictData++ -- | Enable deriving instances via types of the same runtime representation.+ -- Implies 'DerivingStrategies'.+ | DerivingVia++ | QuantifiedConstraints++ | BlockArguments+ deriving (Show, Read, Eq, Ord, Enum, Bounded, Data, Typeable) -- | Certain extensions imply other extensions, and this function@@ -504,12 +570,12 @@ -- The returned value is the transitive closure of implied -- extensions. {-impliesExts :: [Extension] -> [Extension]-impliesExts exts = +impliesExts exts = let posExts = [ ke | EnableExtension ke <- exts ] negExts = [ ke | DisableExtension ke <- exts ] implExts = impliesKnownExts posExts- in + in -} impliesExts :: [KnownExtension] -> [KnownExtension] impliesExts = go@@ -528,10 +594,16 @@ PolymorphicComponents -> [ExplicitForAll] LiberalTypeSynonyms -> [ExplicitForAll] ExistentialQuantification -> [ExplicitForAll]+ ImpredicativeTypes -> [ExplicitForAll]+ PolyKinds -> [KindSignatures]+ TypeFamilyDependencies -> [TypeFamilies]+ TypeInType -> [PolyKinds, DataKinds, KindSignatures]+ TypeOperators -> [ExplicitNamespaces] -- Deprecations RecordPuns -> [NamedFieldPuns] PatternSignatures -> [ScopedTypeVariables]- e -> []+ DerivingVia -> [DerivingStrategies]+ _ -> [] -- | The list of extensions enabled by -- GHC's portmanteau -fglasgow-exts flag.@@ -644,8 +716,8 @@ _ -> Nothing {-------------------------------------------- -- Transform a 'Language', and possibly a modifying set of'Extension's, into a list - -- of 'KnownExtension's, to be interpreted as modifying the language you get + -- Transform a 'Language', and possibly a modifying set of'Extension's, into a list+ -- of 'KnownExtension's, to be interpreted as modifying the language you get -- when all known extensions are disabled. -- Extensions are interpreted in a right-biased fashion, so the last instance -- of an occurence of 'EnableExtension' or 'DisableExtension' for a given@@ -653,27 +725,26 @@ -------------------------------------------} toExtensionList :: Language -> [Extension] -> [KnownExtension]-toExtensionList lang exts =+toExtensionList lang exts' = let langKes = case lang of Haskell98 -> NPlusKPatterns:allLangDefault Haskell2010 -> [DoAndIfThenElse , PatternGuards , ForeignFunctionInterface- , EmptyDataDecls + , EmptyDataDecls ] ++ allLangDefault HaskellAllDisabled -> []- UnknownLanguage s -> + UnknownLanguage s -> error $ "toExtensionList: Unknown language " ++ s {- addExts = [ ke | EnableExtension ke <- exts ] remExts = [ ke | DisableExtension ke <- exts ] in impliesExts $ nub $ (langKes ++ addExts) \\ remExts -}- in impliesExts $ go langKes exts+ in impliesExts $ nub $ go langKes exts' where go :: [KnownExtension] -> [Extension] -> [KnownExtension] go acc [] = acc- go acc (DisableExtension x : exts) = go (nub (delete x acc)) exts- go acc (EnableExtension x : exts) = go (nub (x : acc)) exts+ go acc (DisableExtension x : exts) = go (filter (/= x) acc) exts+ go acc (EnableExtension x : exts) = go (x : acc) exts -- We just throw away UnknownExtensions go acc (_ : exts) = go acc exts-
src/Language/Haskell/Exts/Fixity.hs view
@@ -1,4 +1,5 @@-{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE CPP, DeriveDataTypeable, Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Fixity@@ -28,23 +29,29 @@ -- /varid/ operators, and /varsym/ operators written as is. , infix_, infixl_, infixr_ -- ** Collections of fixities- , preludeFixities, baseFixities, prefixMinusFixity+ , preludeFixities, baseFixities -- * Applying fixities to an AST , AppFixity(..) ) where import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.SrcLoc -import Data.Char (isUpper) import Control.Monad (when, (<=<), liftM, liftM2, liftM3, liftM4)+import qualified Control.Monad.Fail as Fail import Data.Traversable (mapM)-import Prelude hiding (mapM)+import Data.Maybe (fromMaybe)+import Data.Typeable import Data.Data hiding (Fixity)+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative ((<$))+#endif+import Prelude hiding (mapM) -- | Operator fixities are represented by their associativity -- (left, right or none) and their precedence (0-9).-data Fixity = Fixity Assoc Int QName+data Fixity = Fixity (Assoc ()) Int (QName ()) deriving (Eq,Ord,Show,Typeable,Data) -- | All AST elements that may include expressions which in turn may@@ -53,78 +60,81 @@ -- | Tweak any expressions in the element to account for the -- fixities given. Assumes that all operator expressions are -- fully left associative chains to begin with.- applyFixities :: Monad m => [Fixity] -- ^ The fixities to account for.- -> ast -- ^ The element to tweak.- -> m ast -- ^ The same element, but with operator expressions updated, or a failure.+ applyFixities :: Fail.MonadFail m => [Fixity] -- ^ The fixities to account for.+ -> ast SrcSpanInfo -- ^ The element to tweak.+ -> m (ast SrcSpanInfo) -- ^ The same element, but with operator expressions updated, or a failure. +assocNone, assocLeft, assocRight :: Assoc ()+assocNone = AssocNone ()+assocLeft = AssocLeft ()+assocRight = AssocRight () instance AppFixity Exp where- applyFixities fixs = infFix fixs <=< leafFix fixs+ applyFixities fixs' = infFix fixs' <=< leafFix fixs' where -- This is the real meat case. We can assume a left-associative list to begin with.- infFix fixs (InfixApp a op2 z) = do+ infFix fixs (InfixApp l2 a op2 z) = do e <- infFix fixs a let fixup (a1,p1) (a2,p2) y pre = do- when (p1 == p2 && (a1 /= a2 || a1 == AssocNone)) -- Ambiguous infix expression!+ when (p1 == p2 && (a1 /= a2 || a1 == assocNone)) -- Ambiguous infix expression! $ fail "Ambiguous infix expression"- if (p1 > p2 || p1 == p2 && (a1 == AssocLeft || a2 == AssocNone)) -- Already right order- then return $ InfixApp e op2 z- else liftM pre (infFix fixs $ InfixApp y op2 z)+ if p1 > p2 || p1 == p2 && (a1 == assocLeft || a2 == assocNone) -- Already right order+ then return $ InfixApp l2 e op2 z+ else liftM pre (infFix fixs $ InfixApp (ann y <++> ann z) y op2 z) case e of- InfixApp x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp x op1)- NegApp y -> fixup prefixMinusFixity (askFixity fixs op2) y NegApp- _ -> return $ InfixApp e op2 z+ InfixApp _ x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp l2 x op1)+ NegApp _ y -> fixup prefixMinusFixity (askFixity fixs op2) y (NegApp l2)+ _ -> return $ InfixApp l2 e op2 z infFix _ e = return e +--ambOps l = ParseFailed (getPointLoc l) $ "Ambiguous infix expression"+ instance AppFixity Pat where- applyFixities fixs = infFix fixs <=< leafFixP fixs- where -- Same for patterns- infFix fixs (PInfixApp a op2 z) = do+ applyFixities fixs' = infFix fixs' <=< leafFixP fixs'+ where -- This is the real meat case. We can assume a left-associative list to begin with.+ infFix fixs (PInfixApp l2 a op2 z) = do p <- infFix fixs a let fixup (a1,p1) (a2,p2) y pre = do- when (p1 == p2 && (a1 /= a2 || a1 == AssocNone )) -- Ambiguous infix expression!+ when (p1 == p2 && (a1 /= a2 || a1 == assocNone )) -- Ambiguous infix expression! $ fail "Ambiguous infix expression"- if (p1 > p2 || p1 == p2 && (a1 == AssocLeft || a2 == AssocNone)) -- Already right order- then return $ PInfixApp p op2 z- else liftM pre (infFix fixs $ PInfixApp y op2 z)+ if p1 > p2 || p1 == p2 && (a1 == assocLeft || a2 == assocNone) -- Already right order+ then return $ PInfixApp l2 p op2 z+ else liftM pre (infFix fixs $ PInfixApp (ann y <++> ann z) y op2 z) case p of- PInfixApp x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp x op1)- PNeg y -> fixup prefixMinusFixity (askFixityP fixs op2) y PNeg- _ -> return $ PInfixApp p op2 z+ PInfixApp _ x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp l2 x op1)+ _ -> return $ PInfixApp l2 p op2 z infFix _ p = return p - -- Internal: lookup associativity and precedence of an operator-askFixity :: [Fixity] -> QOp -> (Assoc, Int)-askFixity xs k = askFix xs (f k) -- undefined -- \k -> askFixityP xs (f k) -- lookupWithDefault (AssocLeft, 9) (f k) mp+askFixity :: [Fixity] -> QOp l -> (Assoc (), Int)+askFixity xs k = askFix xs (f (() <$ k)) where- f (QVarOp x) = g x- f (QConOp x) = g x+ f (QVarOp _ x) = g x+ f (QConOp _ x) = g x - g (Special Cons) = UnQual (Symbol ":")- g x = x+ g (Special _ (Cons _)) = UnQual () (Symbol () ":")+ g x = x -- Same using patterns-askFixityP :: [Fixity] -> QName -> (Assoc, Int)-askFixityP xs qn = askFix xs (g qn)+askFixityP :: [Fixity] -> QName l -> (Assoc (), Int)+askFixityP xs qn = askFix xs (g (() <$ qn)) where- g (Special Cons) = UnQual (Symbol ":")- g x = x- -askFix :: [Fixity] -> QName -> (Assoc, Int)-askFix xs = \k -> lookupWithDefault (AssocLeft, 9) k mp+ g (Special _ (Cons _)) = UnQual () (Symbol () ":")+ g x = x++askFix :: [Fixity] -> QName l -> (Assoc (), Int)+askFix xs = \k -> lookupWithDefault (assocLeft, 9) (() <$ k) mp where- lookupWithDefault def k mp = case lookup k mp of- Nothing -> def- Just x -> x+ lookupWithDefault def k mp' = fromMaybe def $ lookup k mp' mp = [(x,(a,p)) | Fixity a p x <- xs] + -- | Built-in fixity for prefix minus-prefixMinusFixity :: (Assoc, Int)-prefixMinusFixity = (AssocLeft, 6)+prefixMinusFixity :: (Assoc (), Int)+prefixMinusFixity = (AssocLeft (), 6) -- | All fixities defined in the Prelude. preludeFixities :: [Fixity]@@ -132,10 +142,11 @@ [infixr_ 9 ["."] ,infixl_ 9 ["!!"] ,infixr_ 8 ["^","^^","**"]- ,infixl_ 7 ["*","/","`quot`","`rem`","`div`","`mod`",":%","%"]+ ,infixl_ 7 ["*","/","`quot`","`rem`","`div`","`mod`"] ,infixl_ 6 ["+","-"] ,infixr_ 5 [":","++"] ,infix_ 4 ["==","/=","<","<=",">=",">","`elem`","`notElem`"]+ ,infixl_ 4 ["<$>","<$","<*>","<*","*>"] ,infixr_ 3 ["&&"] ,infixr_ 2 ["||"] ,infixl_ 1 [">>",">>="]@@ -151,248 +162,289 @@ baseFixities :: [Fixity] baseFixities = preludeFixities ++ concat [infixl_ 9 ["!","//","!:"]+ ,infixr_ 9 ["`Compose`"] ,infixl_ 8 ["`shift`","`rotate`","`shiftL`","`shiftR`","`rotateL`","`rotateR`"]- ,infixl_ 7 [".&."]+ ,infixl_ 7 [".&.","%"]+ ,infixr_ 6 ["<>"] ,infixl_ 6 ["`xor`"] ,infix_ 6 [":+"] ,infixl_ 5 [".|."]- ,infixr_ 5 ["+:+","<++","<+>"] -- fixity conflict for +++ between ReadP and Arrow+ ,infixr_ 5 ["+:+","<++","<+>","<|"] -- fixity conflict for +++ between ReadP and Arrow ,infix_ 5 ["\\\\"]- ,infixl_ 4 ["<$>","<$","<*>","<*","*>","<**>"]- ,infix_ 4 ["`elemP`","`notElemP`"]+ ,infixl_ 4 ["<**>","$>","<$","<$!>"]+ ,infix_ 4 ["`elemP`","`notElemP`",":~:",":~~:"] ,infixl_ 3 ["<|>"] ,infixr_ 3 ["&&&","***"] ,infixr_ 2 ["+++","|||"] ,infixr_ 1 ["<=<",">=>",">>>","<<<","^<<","<<^","^>>",">>^"]+ ,infixl_ 1 ["&"] ,infixl_ 0 ["`on`"] ,infixr_ 0 ["`par`","`pseq`"] ] infixr_, infixl_, infix_ :: Int -> [String] -> [Fixity]-infixr_ = fixity AssocRight-infixl_ = fixity AssocLeft-infix_ = fixity AssocNone+infixr_ = fixity assocRight+infixl_ = fixity assocLeft+infix_ = fixity assocNone -- Internal: help function for the above definitions.-fixity :: Assoc -> Int -> [String] -> [Fixity]+fixity :: Assoc () -> Int -> [String] -> [Fixity] fixity a p = map (Fixity a p . op) where- op ('`':xs) = UnQual $ Ident $ init xs- op xs = UnQual $ Symbol xs+ op ('`':xs) = UnQual () $ Ident () $ init xs+ op xs = UnQual () $ Symbol () xs ++ ------------------------------------------------------------------- -- Boilerplate - yuck!! Everything below here is internal stuff instance AppFixity Module where- applyFixities fixs (Module loc n prs mwt ext imp decls) =- liftM (Module loc n prs mwt ext imp) $ appFixDecls fixs decls+ applyFixities fixs (Module l mmh prs imp decls) =+ liftM (Module l mmh prs imp) $ appFixDecls mmn fixs decls+ where mmn = getMmn mmh+ getMmn (Just (ModuleHead _ n _ _)) = Just n+ getMmn _ = Nothing+ applyFixities fixs (XmlPage l mn os xn xas mexp cs) =+ liftM3 (XmlPage l mn os xn) (fix xas) (fix mexp) (fix cs)+ where fix xs = mapM (applyFixities fixs) xs+ applyFixities fixs (XmlHybrid l mmh prs imp decls xn xas mexp cs) =+ liftM4 (flip (XmlHybrid l mmh prs imp) xn) (appFixDecls mmn fixs decls)+ (fixe xas) (fixe mexp) (fixe cs)+ where mmn = getMmn mmh+ getMmn (Just (ModuleHead _ n _ _)) = Just n+ getMmn _ = Nothing+ fixe xs = let extraFixs = getFixities mmn decls+ in mapM (applyFixities (fixs++extraFixs)) xs instance AppFixity Decl where applyFixities fixs decl = case decl of- ClassDecl loc ctxt n vars deps cdecls -> liftM (ClassDecl loc ctxt n vars deps) $ mapM fix cdecls- InstDecl loc ctxt n ts idecls -> liftM (InstDecl loc ctxt n ts) $ mapM fix idecls- SpliceDecl loc spl -> liftM (SpliceDecl loc) $ fix spl- FunBind matches -> liftM FunBind $ mapM fix matches- PatBind loc p mt rhs bs -> liftM3 (flip (PatBind loc) mt) (fix p) (fix rhs) (fix bs)- AnnPragma loc ann -> liftM (AnnPragma loc) $ fix ann+ ClassDecl l ctxt dh deps cdecls -> liftM (ClassDecl l ctxt dh deps) $ mapM (mapM fix) cdecls+ InstDecl l olp ih idecls -> liftM (InstDecl l olp ih) $ mapM (mapM fix) idecls+ SpliceDecl l spl -> liftM (SpliceDecl l) $ fix spl+ FunBind l matches -> liftM (FunBind l) $ mapM fix matches+ PatBind l p rhs bs ->+ let extraFix x = applyFixities (fixs ++ maybe [] getBindFixities bs) x+ in liftM3 (PatBind l) (extraFix p) (extraFix rhs) (mapM extraFix bs)+ AnnPragma l ann' -> liftM (AnnPragma l) $ fix ann'+ PatSyn l p1 p2 dir -> liftM (PatSyn l p1 p2) (fix dir) _ -> return decl where fix x = applyFixities fixs x -appFixDecls :: Monad m => [Fixity] -> [Decl] -> m [Decl]-appFixDecls fixs decls =- let extraFixs = getFixities decls+instance AppFixity PatternSynDirection where+ applyFixities fixs dir = case dir of+ ExplicitBidirectional l ds -> liftM (ExplicitBidirectional l) (mapM fix ds)+ _ -> return dir+ where fix x = applyFixities fixs x++appFixDecls :: Fail.MonadFail m => Maybe (ModuleName SrcSpanInfo) -> [Fixity] -> [Decl SrcSpanInfo] -> m [Decl SrcSpanInfo]+appFixDecls mmdl fixs decls =+ let extraFixs = getFixities mmdl decls in mapM (applyFixities (fixs++extraFixs)) decls- where getFixities = concatMap getFixity- getFixity (InfixDecl _ a p ops) = map (Fixity a p . g) ops- getFixity _ = []- g (VarOp x) = UnQual x- g (ConOp x) = UnQual x +getFixities :: Maybe (ModuleName l) -> [Decl l] -> [Fixity]+getFixities mmdl = concatMap (getFixity mmdl)++getFixity :: Maybe (ModuleName l) -> Decl l -> [Fixity]+getFixity mmdl d =+ case d of+ InfixDecl _ a mp ops -> let p = fromMaybe 9 mp+ in map (Fixity (scrub a) p) (concatMap g (map scrub ops))+ ClassDecl _ _ _ _ cds -> maybe [] (concatMap getClassFixity) cds+ _ -> []+ where g (VarOp _ x) = f x+ g (ConOp _ x) = f x+ f x = case mmdl of+ Nothing -> [UnQual () x]+ Just m -> [Qual () (scrub m) x, UnQual () x]+ getClassFixity (ClsDecl _ cd) = getFixity mmdl cd+ getClassFixity _ = []++scrub :: Functor f => f a -> f ()+scrub f = () <$ f++getBindFixities :: Binds l -> [Fixity]+getBindFixities bs = case bs of+ BDecls _ ds -> getFixities Nothing ds+ _ -> []+ instance AppFixity Annotation where- applyFixities fixs ann = case ann of- Ann n e -> liftM (Ann n) $ fix e- TypeAnn n e -> liftM (TypeAnn n) $ fix e- ModuleAnn e -> liftM ModuleAnn $ fix e+ applyFixities fixs ann' = case ann' of+ Ann l n e -> liftM (Ann l n) $ fix e+ TypeAnn l n e -> liftM (TypeAnn l n) $ fix e+ ModuleAnn l e -> liftM (ModuleAnn l) $ fix e where fix x = applyFixities fixs x instance AppFixity ClassDecl where- applyFixities fixs (ClsDecl decl) = liftM ClsDecl $ applyFixities fixs decl+ applyFixities fixs (ClsDecl l decl) = liftM (ClsDecl l) $ applyFixities fixs decl applyFixities _ cdecl = return cdecl instance AppFixity InstDecl where- applyFixities fixs (InsDecl decl) = liftM InsDecl $ applyFixities fixs decl+ applyFixities fixs (InsDecl l decl) = liftM (InsDecl l) $ applyFixities fixs decl applyFixities _ idecl = return idecl instance AppFixity Match where- applyFixities fixs (Match loc n ps mt rhs bs) = liftM3 (flip (Match loc n) mt) (mapM fix ps) (fix rhs) (fix bs)- where fix x = applyFixities fixs x+ applyFixities fixs match = case match of+ Match l n ps rhs bs -> liftM3 (Match l n) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)+ InfixMatch l a n ps rhs bs -> liftM4 (flip (InfixMatch l) n) (fix bs a) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)+ where fix bs x = applyFixities fixs' x+ where fixs' = fixs ++ maybe [] getBindFixities bs instance AppFixity Rhs where applyFixities fixs rhs = case rhs of- UnGuardedRhs e -> liftM UnGuardedRhs $ fix e- GuardedRhss grhss -> liftM GuardedRhss $ mapM fix grhss+ UnGuardedRhs l e -> liftM (UnGuardedRhs l) $ fix e+ GuardedRhss l grhss -> liftM (GuardedRhss l) $ mapM fix grhss where fix x = applyFixities fixs x instance AppFixity GuardedRhs where- applyFixities fixs (GuardedRhs loc stmts e) = liftM2 (GuardedRhs loc) (mapM fix stmts) $ fix e+ applyFixities fixs (GuardedRhs l stmts e) = liftM2 (GuardedRhs l) (mapM fix stmts) $ fix e where fix x = applyFixities fixs x instance AppFixity PatField where- applyFixities fixs (PFieldPat n p) = liftM (PFieldPat n) $ applyFixities fixs p+ applyFixities fixs (PFieldPat l n p) = liftM (PFieldPat l n) $ applyFixities fixs p applyFixities _ pf = return pf instance AppFixity RPat where- applyFixities fixs rp = case rp of- RPOp rp op -> liftM (flip RPOp op) (fix rp)- RPEither a b -> liftM2 RPEither (fix a) (fix b)- RPSeq rps -> liftM RPSeq $ mapM fix rps- RPGuard p stmts -> liftM2 RPGuard (fix p) $ mapM fix stmts- RPCAs n rp -> liftM (RPCAs n) $ fix rp- RPAs n rp -> liftM (RPAs n) $ fix rp- RPParen rp -> liftM RPParen $ fix rp- RPPat p -> liftM RPPat $ fix p+ applyFixities fixs rp' = case rp' of+ RPOp l rp op -> liftM (flip (RPOp l) op) $ fix rp+ RPEither l a b -> liftM2 (RPEither l) (fix a) (fix b)+ RPSeq l rps -> liftM (RPSeq l) $ mapM fix rps+ RPGuard l p stmts -> liftM2 (RPGuard l) (fix p) $ mapM fix stmts+ RPCAs l n rp -> liftM (RPCAs l n) $ fix rp+ RPAs l n rp -> liftM (RPAs l n) $ fix rp+ RPParen l rp -> liftM (RPParen l) $ fix rp+ RPPat l p -> liftM (RPPat l) $ fix p where fix x = applyFixities fixs x instance AppFixity PXAttr where- applyFixities fixs (PXAttr n p) = liftM (PXAttr n) $ applyFixities fixs p+ applyFixities fixs (PXAttr l n p) = liftM (PXAttr l n) $ applyFixities fixs p instance AppFixity Stmt where applyFixities fixs stmt = case stmt of- Generator loc p e -> liftM2 (Generator loc) (fix p) (fix e)- Qualifier e -> liftM Qualifier $ fix e- LetStmt bs -> liftM LetStmt $ fix bs -- special behavior- RecStmt stmts -> liftM RecStmt $ mapM fix stmts+ Generator l p e -> liftM2 (Generator l) (fix p) (fix e)+ Qualifier l e -> liftM (Qualifier l) $ fix e+ LetStmt l bs -> liftM (LetStmt l) $ fix bs -- special behavior+ RecStmt l stmts -> liftM (RecStmt l) $ mapM fix stmts where fix x = applyFixities fixs x instance AppFixity Binds where applyFixities fixs bs = case bs of- BDecls decls -> liftM BDecls $ appFixDecls fixs decls -- special behavior- IPBinds ips -> liftM IPBinds $ mapM fix ips+ BDecls l decls -> liftM (BDecls l) $ appFixDecls Nothing fixs decls -- special behavior+ IPBinds l ips -> liftM (IPBinds l) $ mapM fix ips where fix x = applyFixities fixs x instance AppFixity IPBind where- applyFixities fixs (IPBind loc n e) = liftM (IPBind loc n) $ applyFixities fixs e+ applyFixities fixs (IPBind l n e) = liftM (IPBind l n) $ applyFixities fixs e instance AppFixity FieldUpdate where- applyFixities fixs (FieldUpdate n e) = liftM (FieldUpdate n) $ applyFixities fixs e+ applyFixities fixs (FieldUpdate l n e) = liftM (FieldUpdate l n) $ applyFixities fixs e applyFixities _ fup = return fup instance AppFixity Alt where- applyFixities fixs (Alt loc p galts bs) = liftM3 (Alt loc) (fix p) (fix galts) (fix bs)- where fix x = applyFixities fixs x--instance AppFixity GuardedAlts where- applyFixities fixs galts = case galts of- UnGuardedAlt e -> liftM UnGuardedAlt $ fix e- GuardedAlts galts -> liftM GuardedAlts $ mapM fix galts- where fix x = applyFixities fixs x--instance AppFixity GuardedAlt where- applyFixities fixs (GuardedAlt loc stmts e) = liftM2 (GuardedAlt loc) (mapM fix stmts) (fix e)+ applyFixities fixs (Alt l p galts bs) = liftM3 (Alt l) (fix p) (fix galts) (mapM fix bs) where fix x = applyFixities fixs x -instance AppFixity IfAlt where- applyFixities y (IfAlt e1 e2) = liftM2 IfAlt (fix e1) (fix e2)- where fix x = applyFixities y x- instance AppFixity QualStmt where applyFixities fixs qstmt = case qstmt of- QualStmt s -> liftM QualStmt $ fix s- ThenTrans e -> liftM ThenTrans $ fix e- ThenBy e1 e2 -> liftM2 ThenBy (fix e1) (fix e2)- GroupBy e -> liftM GroupBy (fix e)- GroupUsing e -> liftM GroupUsing (fix e)- GroupByUsing e1 e2 -> liftM2 GroupByUsing (fix e1) (fix e2)+ QualStmt l s -> liftM (QualStmt l) $ fix s+ ThenTrans l e -> liftM (ThenTrans l) $ fix e+ ThenBy l e1 e2 -> liftM2 (ThenBy l) (fix e1) (fix e2)+ GroupBy l e -> liftM (GroupBy l) (fix e)+ GroupUsing l e -> liftM (GroupUsing l) (fix e)+ GroupByUsing l e1 e2 -> liftM2 (GroupByUsing l) (fix e1) (fix e2) where fix x = applyFixities fixs x instance AppFixity Bracket where applyFixities fixs br = case br of- ExpBracket e -> liftM ExpBracket $ fix e- PatBracket p -> liftM PatBracket $ fix p- DeclBracket ds -> liftM DeclBracket $ mapM fix ds- _ -> return br+ ExpBracket l e -> liftM (ExpBracket l) $ fix e+ PatBracket l p -> liftM (PatBracket l) $ fix p+ DeclBracket l ds -> liftM (DeclBracket l) $ mapM fix ds+ _ -> return br where fix x = applyFixities fixs x instance AppFixity Splice where- applyFixities fixs (ParenSplice e) = liftM ParenSplice $ applyFixities fixs e+ applyFixities fixs (ParenSplice l e) = liftM (ParenSplice l) $ applyFixities fixs e applyFixities _ s = return s instance AppFixity XAttr where- applyFixities fixs (XAttr n e) = liftM (XAttr n) $ applyFixities fixs e+ applyFixities fixs (XAttr l n e) = liftM (XAttr l n) $ applyFixities fixs e -- the boring boilerplate stuff for expressions too -- Recursively fixes the "leaves" of the infix chains, -- without yet touching the chain itself. We assume all chains are -- left-associate to begin with.-leafFix fixs e = case e of- InfixApp e1 op e2 -> liftM2 (flip InfixApp op) (leafFix fixs e1) (fix e2)- App e1 e2 -> liftM2 App (fix e1) (fix e2)- NegApp e -> liftM NegApp $ fix e- Lambda loc pats e -> liftM2 (Lambda loc) (mapM fix pats) $ fix e- Let bs e -> liftM2 Let (fix bs) $ fix e- If e a b -> liftM3 If (fix e) (fix a) (fix b)- MultiIf alts -> liftM MultiIf (mapM fix alts)- Case e alts -> liftM2 Case (fix e) $ mapM fix alts- Do stmts -> liftM Do $ mapM fix stmts- MDo stmts -> liftM MDo $ mapM fix stmts- Tuple bx exps -> liftM (Tuple bx) $ mapM fix exps- List exps -> liftM List $ mapM fix exps- Paren e -> liftM Paren $ fix e- LeftSection e op -> liftM (flip LeftSection op) (fix e)- RightSection op e -> liftM (RightSection op) $ fix e- RecConstr n fups -> liftM (RecConstr n) $ mapM fix fups- RecUpdate e fups -> liftM2 RecUpdate (fix e) $ mapM fix fups- EnumFrom e -> liftM EnumFrom $ fix e- EnumFromTo e1 e2 -> liftM2 EnumFromTo (fix e1) (fix e2)- EnumFromThen e1 e2 -> liftM2 EnumFromThen (fix e1) (fix e2)- EnumFromThenTo e1 e2 e3 -> liftM3 EnumFromThenTo (fix e1) (fix e2) (fix e3)- ListComp e quals -> liftM2 ListComp (fix e) $ mapM fix quals- ParComp e qualss -> liftM2 ParComp (fix e) $ mapM (mapM fix) qualss- ExpTypeSig loc e t -> liftM (flip (ExpTypeSig loc) t) (fix e)- BracketExp b -> liftM BracketExp $ fix b- SpliceExp s -> liftM SpliceExp $ fix s- XTag loc n ats mexp cs -> liftM3 (XTag loc n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)- XETag loc n ats mexp -> liftM2 (XETag loc n) (mapM fix ats) (mapM fix mexp)- XExpTag e -> liftM XExpTag $ fix e- XChildTag loc cs -> liftM (XChildTag loc) $ mapM fix cs- Proc loc p e -> liftM2 (Proc loc) (fix p) (fix e)- LeftArrApp e1 e2 -> liftM2 LeftArrApp (fix e1) (fix e2)- RightArrApp e1 e2 -> liftM2 RightArrApp (fix e1) (fix e2)- LeftArrHighApp e1 e2 -> liftM2 LeftArrHighApp (fix e1) (fix e2)- RightArrHighApp e1 e2 -> liftM2 RightArrHighApp (fix e1) (fix e2)- CorePragma s e -> liftM (CorePragma s) (fix e)- SCCPragma s e -> liftM (SCCPragma s) (fix e)- GenPragma s ab cd e -> liftM (GenPragma s ab cd) (fix e)- LCase alts -> liftM LCase $ mapM fix alts+leafFix :: Fail.MonadFail m => [Fixity] -> Exp SrcSpanInfo -> m (Exp SrcSpanInfo)+leafFix fixs e' = case e' of+ InfixApp l e1 op e2 -> liftM2 (flip (InfixApp l) op) (leafFix fixs e1) (fix e2)+ App l e1 e2 -> liftM2 (App l) (fix e1) (fix e2)+ NegApp l e -> liftM (NegApp l) $ fix e+ Lambda l pats e -> liftM2 (Lambda l) (mapM fix pats) $ fix e+ Let l bs e ->+ let extraFix x = applyFixities (fixs ++ getBindFixities bs) x+ in liftM2 (Let l) (extraFix bs) $ extraFix e+ If l e a b -> liftM3 (If l) (fix e) (fix a) (fix b)+ MultiIf l alts -> liftM (MultiIf l) (mapM fix alts)+ Case l e alts -> liftM2 (Case l) (fix e) $ mapM fix alts+ Do l stmts -> liftM (Do l) $ mapM fix stmts+ MDo l stmts -> liftM (MDo l) $ mapM fix stmts+ Tuple l bx exps -> liftM (Tuple l bx) $ mapM fix exps+ List l exps -> liftM (List l) $ mapM fix exps+ Paren l e -> liftM (Paren l) $ fix e+ LeftSection l e op -> liftM (flip (LeftSection l) op) (fix e)+ RightSection l op e -> liftM (RightSection l op) $ fix e+ RecConstr l n fups -> liftM (RecConstr l n) $ mapM fix fups+ RecUpdate l e fups -> liftM2 (RecUpdate l) (fix e) $ mapM fix fups+ EnumFrom l e -> liftM (EnumFrom l) $ fix e+ EnumFromTo l e1 e2 -> liftM2 (EnumFromTo l) (fix e1) (fix e2)+ EnumFromThen l e1 e2 -> liftM2 (EnumFromThen l) (fix e1) (fix e2)+ EnumFromThenTo l e1 e2 e3 -> liftM3 (EnumFromThenTo l) (fix e1) (fix e2) (fix e3)+ ListComp l e quals -> liftM2 (ListComp l) (fix e) $ mapM fix quals+ ParComp l e qualss -> liftM2 (ParComp l) (fix e) $ mapM (mapM fix) qualss+ ExpTypeSig l e t -> liftM (flip (ExpTypeSig l) t) (fix e)+ BracketExp l b -> liftM (BracketExp l) $ fix b+ SpliceExp l s -> liftM (SpliceExp l) $ fix s+ XTag l n ats mexp cs -> liftM3 (XTag l n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)+ XETag l n ats mexp -> liftM2 (XETag l n) (mapM fix ats) (mapM fix mexp)+ XExpTag l e -> liftM (XExpTag l) $ fix e+ XChildTag l cs -> liftM (XChildTag l) $ mapM fix cs+ Proc l p e -> liftM2 (Proc l) (fix p) (fix e)+ LeftArrApp l e1 e2 -> liftM2 (LeftArrApp l) (fix e1) (fix e2)+ RightArrApp l e1 e2 -> liftM2 (RightArrApp l) (fix e1) (fix e2)+ LeftArrHighApp l e1 e2 -> liftM2 (LeftArrHighApp l) (fix e1) (fix e2)+ RightArrHighApp l e1 e2 -> liftM2 (RightArrHighApp l) (fix e1) (fix e2)+ CorePragma l s e -> liftM (CorePragma l s) (fix e)+ SCCPragma l s e -> liftM (SCCPragma l s) (fix e)+ GenPragma l s ab cd e -> liftM (GenPragma l s ab cd) (fix e)+ LCase l alts -> liftM (LCase l) $ mapM fix alts - _ -> return e+ _ -> return e' where fix x = applyFixities fixs x -leafFixP fixs p = case p of- PInfixApp p1 op p2 -> liftM2 (flip PInfixApp op) (leafFixP fixs p1) (fix p2)- PNeg p -> liftM PNeg $ fix p- PApp n ps -> liftM (PApp n) $ mapM fix ps- PTuple bx ps -> liftM (PTuple bx) $ mapM fix ps- PList ps -> liftM PList $ mapM fix ps- PParen p -> liftM PParen $ fix p- PRec n pfs -> liftM (PRec n) $ mapM fix pfs- PAsPat n p -> liftM (PAsPat n) $ fix p- PIrrPat p -> liftM PIrrPat $ fix p- PatTypeSig loc p t -> liftM (flip (PatTypeSig loc) t) (fix p)- PViewPat e p -> liftM2 PViewPat (fix e) (fix p)- PRPat rps -> liftM PRPat $ mapM fix rps- PXTag loc n ats mp ps -> liftM3 (PXTag loc n) (mapM fix ats) (mapM fix mp) (mapM fix ps)- PXETag loc n ats mp -> liftM2 (PXETag loc n) (mapM fix ats) (mapM fix mp)- PXPatTag p -> liftM PXPatTag $ fix p- PXRPats rps -> liftM PXRPats $ mapM fix rps- PBangPat p -> liftM PBangPat $ fix p- _ -> return p+leafFixP :: Fail.MonadFail m => [Fixity] -> Pat SrcSpanInfo -> m (Pat SrcSpanInfo)+leafFixP fixs p' = case p' of+ PInfixApp l p1 op p2 -> liftM2 (flip (PInfixApp l) op) (leafFixP fixs p1) (fix p2)+ PApp l n ps -> liftM (PApp l n) $ mapM fix ps+ PTuple l bx ps -> liftM (PTuple l bx) $ mapM fix ps+ PList l ps -> liftM (PList l) $ mapM fix ps+ PParen l p -> liftM (PParen l) $ fix p+ PRec l n pfs -> liftM (PRec l n) $ mapM fix pfs+ PAsPat l n p -> liftM (PAsPat l n) $ fix p+ PIrrPat l p -> liftM (PIrrPat l) $ fix p+ PatTypeSig l p t -> liftM (flip (PatTypeSig l) t) (fix p)+ PViewPat l e p -> liftM2 (PViewPat l) (fix e) (fix p)+ PRPat l rps -> liftM (PRPat l) $ mapM fix rps+ PXTag l n ats mp ps -> liftM3 (PXTag l n) (mapM fix ats) (mapM fix mp) (mapM fix ps)+ PXETag l n ats mp -> liftM2 (PXETag l n) (mapM fix ats) (mapM fix mp)+ PXPatTag l p -> liftM (PXPatTag l) $ fix p+ PXRPats l rps -> liftM (PXRPats l) $ mapM fix rps+ PBangPat l p -> liftM (PBangPat l) $ fix p+ _ -> return p' where fix x = applyFixities fixs x
src/Language/Haskell/Exts/InternalLexer.hs view
@@ -1,4 +1,7 @@+{-# LANGUAGE Safe #-}+{-# LANGUAGE BangPatterns #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Annotated.InternalLexer@@ -21,20 +24,22 @@ module Language.Haskell.Exts.InternalLexer (Token(..), showToken, lexer, topLexer) where import Language.Haskell.Exts.ParseMonad-import Language.Haskell.Exts.SrcLoc+import Language.Haskell.Exts.SrcLoc hiding (loc) import Language.Haskell.Exts.Comments import Language.Haskell.Exts.Extension import Language.Haskell.Exts.ExtScheme +import Prelude hiding (id, exponent) import Data.Char import Data.Ratio-import Data.List (intersperse)+import Data.List (intercalate, isPrefixOf) import Control.Monad (when) -- import Debug.Trace (trace) data Token = VarId String+ | LabelVarId String | QVarId (String,String) | IDupVarId (String) -- duplicable implicit parameter | ILinVarId (String) -- linear implicit parameter@@ -68,6 +73,8 @@ | VRightCurly -- a virtual close brace | LeftSquare | RightSquare+ | ParArrayLeftSquare -- [:+ | ParArrayRightSquare -- :] | Comma | Underscore | BackQuote@@ -77,6 +84,7 @@ | Dot -- reserved for use with 'forall x . x' | DotDot | Colon+ | QuoteColon | DoubleColon | Equals | Backslash@@ -84,24 +92,31 @@ | LeftArrow | RightArrow | At+ | TApp -- '@' but have to check for preceeding whitespace | Tilde | DoubleArrow | Minus | Exclamation | Star- | LeftArrowTail -- >-- | RightArrowTail -- -<- | LeftDblArrowTail -- >>-- | RightDblArrowTail -- -<<+ | LeftArrowTail -- -<+ | RightArrowTail -- >-+ | LeftDblArrowTail -- -<<+ | RightDblArrowTail -- >>-+ | OpenArrowBracket -- (|+ | CloseArrowBracket -- |) -- Template Haskell | THExpQuote -- [| or [e|+ | THTExpQuote -- [|| or [e|| | THPatQuote -- [p| | THDecQuote -- [d| | THTypQuote -- [t| | THCloseQuote -- |]+ | THTCloseQuote -- ||] | THIdEscape (String) -- dollar x | THParenEscape -- dollar (+ | THTIdEscape String -- dollar dollar x+ | THTParenEscape -- double dollar ( | THVarQuote -- 'x (but without the x) | THTyQuote -- ''T (but without the T) | THQuasiQuote (String,String) -- [$...|...]@@ -138,11 +153,20 @@ | GENERATED | CORE | UNPACK+ | NOUNPACK | OPTIONS (Maybe String,String) -- | CFILES String -- | INCLUDE String | LANGUAGE | ANN+ | MINIMAL+ | NO_OVERLAP+ | OVERLAP+ | OVERLAPPING+ | OVERLAPPABLE+ | OVERLAPS+ | INCOHERENT+ | COMPLETE -- Reserved Ids @@ -173,11 +197,16 @@ | KW_Of | KW_Proc -- arrows | KW_Rec -- arrows+ | KW_Role | KW_Then | KW_Type | KW_Using -- transform list comprehensions | KW_Where | KW_Qualified+ | KW_Pattern+ | KW_Stock+ | KW_Anyclass+ | KW_Via -- FFI | KW_Foreign@@ -192,6 +221,7 @@ | KW_DotNet | KW_Jvm | KW_Js+ | KW_JavaScript | KW_CApi | EOF@@ -212,6 +242,9 @@ ( "~", (Tilde, Nothing) ), ( "=>", (DoubleArrow, Nothing) ), ( "*", (Star, Just (Any [KindSignatures])) ),+ -- Parallel arrays+ ( "[:", (ParArrayLeftSquare, Just (Any [ParallelArrays])) ),+ ( ":]", (ParArrayRightSquare, Just (Any [ParallelArrays])) ), -- Arrows notation ( "-<", (LeftArrowTail, Just (Any [Arrows])) ), ( ">-", (RightArrowTail, Just (Any [Arrows])) ),@@ -265,11 +298,16 @@ ( "newtype", (KW_NewType, Nothing) ), ( "of", (KW_Of, Nothing) ), ( "proc", (KW_Proc, Just (Any [Arrows])) ),- ( "rec", (KW_Rec, Just (Any [Arrows])) ),+ ( "rec", (KW_Rec, Just (Any [Arrows, RecursiveDo, DoRec])) ), ( "then", (KW_Then, Nothing) ), ( "type", (KW_Type, Nothing) ), ( "using", (KW_Using, Just (Any [TransformListComp])) ), ( "where", (KW_Where, Nothing) ),+ ( "role", (KW_Role, Just (Any [RoleAnnotations]))),+ ( "pattern", (KW_Pattern, Just (Any [PatternSynonyms]))),+ ( "stock", (KW_Stock, Just (Any [DerivingStrategies]))),+ ( "anyclass", (KW_Anyclass, Just (Any [DerivingStrategies]))),+ ( "via", (KW_Via, Just (Any [DerivingVia]))), -- FFI ( "foreign", (KW_Foreign, Just (Any [ForeignFunctionInterface])) )@@ -284,7 +322,7 @@ -- FFI ( "export", (KW_Export, Just (Any [ForeignFunctionInterface])) ),- ( "safe", (KW_Safe, Just (Any [ForeignFunctionInterface])) ),+ ( "safe", (KW_Safe, Just (Any [ForeignFunctionInterface, SafeImports, Safe, Trustworthy])) ), ( "unsafe", (KW_Unsafe, Just (Any [ForeignFunctionInterface])) ), ( "threadsafe", (KW_Threadsafe, Just (Any [ForeignFunctionInterface])) ), ( "interruptible", (KW_Interruptible, Just (Any [InterruptibleFFI])) ),@@ -294,6 +332,7 @@ ( "dotnet", (KW_DotNet, Just (Any [ForeignFunctionInterface])) ), ( "jvm", (KW_Jvm, Just (Any [ForeignFunctionInterface])) ), ( "js", (KW_Js, Just (Any [ForeignFunctionInterface])) ),+ ( "javascript", (KW_JavaScript, Just (Any [ForeignFunctionInterface])) ), ( "capi", (KW_CApi, Just (Any [CApiFFI])) ) ] @@ -313,17 +352,44 @@ ( "generated", GENERATED ), ( "core", CORE ), ( "unpack", UNPACK ),+ ( "nounpack", NOUNPACK ), ( "language", LANGUAGE ),+ ( "minimal", MINIMAL ),+ ( "no_overlap", NO_OVERLAP ),+ ( "overlap", OVERLAP ),+ ( "overlaps", OVERLAPS ),+ ( "overlapping", OVERLAPPING ),+ ( "overlappable", OVERLAPPABLE ),+ ( "incoherent", INCOHERENT ),+ ( "complete", COMPLETE ), ( "options", OPTIONS undefined ) -- we'll tweak it before use - promise! -- ( "cfiles", CFILES undefined ), -- same here... -- ( "include", INCLUDE undefined ) -- ...and here! ] -isIdent, isHSymbol :: Char -> Bool-isIdent c = isAlpha c || isDigit c || c == '\'' || c == '_'+isIdent, isHSymbol, isPragmaChar :: Char -> Bool+isIdent c = isAlphaNum c || c == '\'' || c == '_' isHSymbol c = c `elem` ":!#%&*./?@\\-" || ((isSymbol c || isPunctuation c) && not (c `elem` "(),;[]`{}_\"'")) +isPragmaChar c = isAlphaNum c || c == '_'++isIdentStart :: Char -> Bool+isIdentStart c = isAlpha c && not (isUpper c) || c == '_'+++-- Used in the lexing of type applications+-- Why is it like this? I don't know exactly but this is how it is in+-- GHC's parser.+-- Symbol `:` is added so that `@:` is lexed as `VarSym "@:"`. See Issue #326+isOpSymbol :: Char -> Bool+isOpSymbol c = c `elem` ":!#$%&*+./<=>?@\\^|-~"++-- | Checks whether the character would be legal in some position of a qvar.+-- Means that '..' and "AAA" will pass the test.+isPossiblyQvar :: Char -> Bool+isPossiblyQvar c = isIdent (toLower c) || c == '.'+ matchChar :: Char -> String -> Lex a () matchChar c msg = do s <- getInput@@ -344,7 +410,7 @@ setBOL >> getSrcLocL >>= \l -> return (Loc (mkSrcSpan l l) VRightCurly) else do bol <- checkBOL- (bol, ws) <- lexWhiteSpace bol+ (bol', ws) <- lexWhiteSpace bol -- take care of whitespace in PCDATA ec <- getExtContext case ec of@@ -352,11 +418,11 @@ -- then we want to care about the whitespace. -- We don't bother to test for XmlSyntax, since we -- couldn't end up in ChildCtxt otherwise.- Just ChildCtxt | not bol && ws -> getSrcLocL >>= \l -> return $ Loc (mkSrcSpan l l) $ XPCDATA " "+ Just ChildCtxt | not bol' && ws -> getSrcLocL >>= \l -> return $ Loc (mkSrcSpan l l) $ XPCDATA " " _ -> do startToken sl <- getSrcLocL- t <- if bol then lexBOL -- >>= \t -> trace ("BOL: " ++ show t) (return t)- else lexToken -- >>= \t -> trace (show t) (return t)+ t <- if bol' then lexBOL -- >>= \t -> trace ("BOL: " ++ show t) (return t)+ else lexToken -- >>= \t -> trace (show t) (return t) el <- getSrcLocL return $ Loc (mkSrcSpan sl el) t @@ -375,12 +441,12 @@ '{':'-':_ -> do loc <- getSrcLocL discard 2- (bol, c) <- lexNestedComment bol ""+ (bol1, c) <- lexNestedComment bol "" loc2 <- getSrcLocL pushComment $ Comment True (mkSrcSpan loc loc2) (reverse c)- (bol, _) <- lexWhiteSpace bol- return (bol, True)- '-':'-':s | all (== '-') (takeWhile isHSymbol s) -> do+ (bol2, _) <- lexWhiteSpace bol1+ return (bol2, True)+ '-':'-':s1 | all (== '-') (takeWhile isHSymbol s1) -> do loc <- getSrcLocL discard 2 dashes <- lexWhile (== '-')@@ -393,25 +459,30 @@ _ -> do pushComment com lexNewline- lexWhiteSpace True+ lexWhiteSpace_ True return (True, True) '\n':_ -> do lexNewline- lexWhiteSpace True+ lexWhiteSpace_ True return (True, True) '\t':_ -> do lexTab- (bol, _) <- lexWhiteSpace bol- return (bol, True)+ (bol', _) <- lexWhiteSpace bol+ return (bol', True) c:_ | isSpace c -> do discard 1- (bol, _) <- lexWhiteSpace bol- return (bol, True)+ (bol', _) <- lexWhiteSpace bol+ return (bol', True) _ -> return (bol, False) +-- | lexWhiteSpace without the return value.+lexWhiteSpace_ :: Bool -> Lex a ()+lexWhiteSpace_ bol = do _ <- lexWhiteSpace bol+ return ()+ isRecognisedPragma, isLinePragma :: String -> Bool-isRecognisedPragma str = let pragma = map toLower . takeWhile isAlphaNum . dropWhile isSpace $ str- in case lookup pragma pragmas of+isRecognisedPragma str = let pragma = takeWhile isPragmaChar . dropWhile isSpace $ str+ in case lookupKnownPragma pragma of Nothing -> False _ -> True @@ -423,17 +494,17 @@ lexLinePragma :: Lex a (Int, String) lexLinePragma = do discard 3 -- {-#- lexWhile isSpace+ lexWhile_ isSpace discard 4 -- LINE- lexWhile isSpace+ lexWhile_ isSpace i <- lexWhile isDigit when (null i) $ fail "Improperly formatted LINE pragma"- lexWhile isSpace+ lexWhile_ isSpace matchChar '"' "Improperly formatted LINE pragma" fn <- lexWhile (/= '"') matchChar '"' "Impossible - lexLinePragma"- lexWhile isSpace- mapM (flip matchChar "Improperly formatted LINE pragma") "#-}"+ lexWhile_ isSpace+ mapM_ (flip matchChar "Improperly formatted LINE pragma") "#-}" lexNewline return (read i, fn) @@ -444,8 +515,8 @@ '-':'}':_ -> discard 2 >> return (bol, str) '{':'-':_ -> do discard 2- (bol, c) <- lexNestedComment bol ("-{" ++ str) -- rest of the subcomment- lexNestedComment bol ("}-" ++ c ) -- rest of this comment+ (bol', c) <- lexNestedComment bol ("-{" ++ str) -- rest of the subcomment+ lexNestedComment bol' ("}-" ++ c ) -- rest of this comment '\t':_ -> lexTab >> lexNestedComment bol ('\t':str) '\n':_ -> lexNewline >> lexNestedComment True ('\n':str) c:_ -> discard 1 >> lexNestedComment bol (c:str)@@ -526,7 +597,7 @@ EOF -> return EOF _ -> fail $ "lexPCDATA: unexpected token: " ++ show x '<':_ -> return $ XPCDATA ""- _ -> do let pcd = takeWhile (\c -> not $ elem c "<\n") s+ _ -> do let pcd = takeWhile (\c -> c `notElem` "<\n") s l = length pcd discard l x <- lexPCDATA@@ -596,6 +667,11 @@ (n, str) <- lexOctal con <- intHash return (con (n, '0':c:str))+ | toLower c == 'b' && isBinDigit d && BinaryLiterals `elem` exts -> do+ discard 2+ (n, str) <- lexBinary+ con <- intHash+ return (con (n, '0':c:str)) | toLower c == 'x' && isHexDigit d -> do discard 2 (n, str) <- lexHexadecimal@@ -603,38 +679,46 @@ return (con (n, '0':c:str)) -- implicit parameters- '?':c:_ | isLower c && ImplicitParams `elem` exts -> do+ '?':c:_ | isIdentStart c && ImplicitParams `elem` exts -> do discard 1 id <- lexWhile isIdent return $ IDupVarId id - '%':c:_ | isLower c && ImplicitParams `elem` exts -> do+ '%':c:_ | isIdentStart c && ImplicitParams `elem` exts -> do discard 1 id <- lexWhile isIdent return $ ILinVarId id -- end implicit parameters -- harp--- '(':'|':c:_ | isHSymbol c -> discard 1 >> return LeftParen '(':'|':c:_ | RegularPatterns `elem` exts && not (isHSymbol c) ->- do discard 2- return RPGuardOpen- '|':')':_ | RegularPatterns `elem` exts ->- do discard 2- return RPGuardClose+ discard 2 >> return RPGuardOpen+ | Arrows `elem` exts && not (isHSymbol c) ->+ discard 2 >> return OpenArrowBracket+ '|':')':_ | RegularPatterns `elem` exts -> discard 2 >> return RPGuardClose+ | Arrows `elem` exts -> discard 2 >> return CloseArrowBracket {- This is handled by the reserved_ops above. '@':':':_ | RegularPatterns `elem` exts -> do discard 2 return RPCAt -} + -- template haskell+ '[':'|':'|':_ | TemplateHaskell `elem` exts -> do+ discard 3+ return THTExpQuote++ '[':'e':'|':'|':_ | TemplateHaskell `elem` exts -> do+ discard 4+ return THTExpQuote+ '[':'|':_ | TemplateHaskell `elem` exts -> do discard 2- return $ THExpQuote+ return THExpQuote '[':c:'|':_ | c == 'e' && TemplateHaskell `elem` exts -> do discard 3- return $ THExpQuote+ return THExpQuote | c == 'p' && TemplateHaskell `elem` exts -> do discard 3 return THPatQuote@@ -644,27 +728,39 @@ | c == 't' && TemplateHaskell `elem` exts -> do discard 3 return THTypQuote- '[':'$':c:_ | isLower c && QuasiQuotes `elem` exts ->- discard 2 >> lexQuasiQuote+ '[':'$':c:_ | isIdentStart c && QuasiQuotes `elem` exts ->+ discard 2 >> lexQuasiQuote c - '[':c:s | isLower c && QuasiQuotes `elem` exts && case dropWhile isIdent s of { '|':_ -> True;_->False} ->- discard 1 >> lexQuasiQuote+ '[':c:s' | isIdentStart c && QuasiQuotes `elem` exts && case dropWhile isIdent s' of { '|':_ -> True;_->False} ->+ discard 1 >> lexQuasiQuote c+ | isUpper c && QuasiQuotes `elem` exts && case dropWhile isPossiblyQvar s' of { '|':_ -> True;_->False} ->+ discard 1 >> lexQuasiQuote c + '|':'|':']':_ | TemplateHaskell `elem` exts -> do+ discard 3+ return THTCloseQuote '|':']':_ | TemplateHaskell `elem` exts -> do discard 2 return THCloseQuote - '$':c:_ | isLower c && TemplateHaskell `elem` exts -> do+ '$':c1:c2:_ | isIdentStart c1 && TemplateHaskell `elem` exts -> do discard 1 id <- lexWhile isIdent return $ THIdEscape id- | c == '(' && TemplateHaskell `elem` exts -> do+ | c1 == '(' && TemplateHaskell `elem` exts -> do discard 2 return THParenEscape+ | c1 == '$' && isIdentStart c2 && TemplateHaskell `elem` exts -> do+ discard 2+ id <- lexWhile isIdent+ return $ THTIdEscape id+ | c1 == '$' && c2 == '(' && TemplateHaskell `elem` exts -> do+ discard 3+ return THTParenEscape -- end template haskell -- hsx- '<':'%':c:_ | XmlSyntax `elem` exts -> do+ '<':'%':c:_ | XmlSyntax `elem` exts -> case c of '>' -> do discard 3 pushExtContextL ChildCtxt@@ -678,25 +774,48 @@ return XStdTagOpen -- end hsx - '(':'#':c:_ | UnboxedTuples `elem` exts && not (isHSymbol c) -> do discard 2 >> return LeftHashParen+ '(':'#':c:_ | unboxed exts && not (isHSymbol c) -> discard 2 >> return LeftHashParen - '#':')':_ | UnboxedTuples `elem` exts -> do discard 2 >> return RightHashParen+ '#':')':_ | unboxed exts -> discard 2 >> return RightHashParen -- pragmas - '{':'-':'#':_ -> do discard 3 >> lexPragmaStart+ '{':'-':'#':_ -> saveExtensionsL >> discard 3 >> lexPragmaStart - '#':'-':'}':_ -> do discard 3 >> return PragmaEnd+ '#':'-':'}':_ -> restoreExtensionsL >> discard 3 >> return PragmaEnd + -- Parallel arrays++ '[':':':_ | ParallelArrays `elem` exts -> discard 2 >> return ParArrayLeftSquare++ ':':']':_ | ParallelArrays `elem` exts -> discard 2 >> return ParArrayRightSquare++ -- Lexed seperately to deal with visible type applciation++ '@':c:_ | TypeApplications `elem` exts+ -- Operator starting with an '@'+ && not (isOpSymbol c) -> do+ lc <- getLastChar+ if isIdent lc+ then discard 1 >> return At+ else discard 1 >> return TApp++ '#':c:_ | OverloadedLabels `elem` exts+ && isIdentStart c -> do+ discard 1+ [ident] <- lexIdents+ return $ LabelVarId ident++ c:_ | isDigit c -> lexDecimalOrFloat | isUpper c -> lexConIdOrQual "" - | isLower c || c == '_' -> do+ | isIdentStart c -> do idents <- lexIdents case idents of [ident] -> case lookup ident (reserved_ids ++ special_varids) of- Just (keyword, scheme) -> do+ Just (keyword, scheme) -> -- check if an extension keyword is enabled if isEnabled scheme exts then flagKW keyword >> return keyword@@ -755,17 +874,25 @@ idents <- lexIdents return $ ident : idents '#':_ | MagicHash `elem` exts -> do- discard 1- return [ident ++ "#"]+ hashes <- lexWhile (== '#')+ return [ident ++ hashes] _ -> return [ident] - lexQuasiQuote :: Lex a Token- lexQuasiQuote = do+ lexQuasiQuote :: Char -> Lex a Token+ lexQuasiQuote c = do -- We've seen and dropped [$ already- ident <- lexWhile isIdent+ ident <- lexQuoter matchChar '|' "Malformed quasi-quote quoter" body <- lexQQBody return $ THQuasiQuote (ident, body)+ where lexQuoter+ | isIdentStart c = lexWhile isIdent+ | otherwise = do+ qualThing <- lexConIdOrQual ""+ case qualThing of+ QVarId (s1,s2) -> return $ s1 ++ '.':s2+ QVarSym (s1, s2) -> return $ s1 ++ '.':s2+ _ -> fail "Malformed quasi-quote quoter" lexQQBody :: Lex a String lexQQBody = do@@ -795,47 +922,70 @@ rest <- lexQQBody return (str++rest) +unboxed :: [KnownExtension] -> Bool+unboxed exts = UnboxedSums `elem` exts || UnboxedTuples `elem` exts++-- Underscores are used in some pragmas. Options pragmas are a special case+-- with our representation: the thing after the underscore is a parameter.+-- Strip off the parameters to option pragmas by hand here, everything else+-- sits in the pragmas map.+lookupKnownPragma :: String -> Maybe Token+lookupKnownPragma s =+ case map toLower s of+ x | "options_" `isPrefixOf` x -> Just $ OPTIONS (Just $ drop 8 s, undefined)+ | "options" == x -> Just $ OPTIONS (Nothing, undefined)+ | otherwise -> lookup x pragmas+ lexPragmaStart :: Lex a Token lexPragmaStart = do- lexWhile isSpace- pr <- lexWhile isAlphaNum- case lookup (map toLower pr) pragmas of+ lexWhile_ isSpace+ pr <- lexWhile isPragmaChar+ case lookupKnownPragma pr of Just (INLINE True) -> do s <- getInput case map toLower s of- '_':'c':'o':'n':'l':'i':'k':'e':_ -> do+ ' ':'c':'o':'n':'l':'i':'k':'e':_ -> do discard 8- return $ INLINE_CONLIKE+ return INLINE_CONLIKE _ -> return $ INLINE True Just SPECIALISE -> do s <- getInput case dropWhile isSpace $ map toLower s of 'i':'n':'l':'i':'n':'e':_ -> do- lexWhile isSpace+ lexWhile_ isSpace discard 6 return $ SPECIALISE_INLINE True 'n':'o':'i':'n':'l':'i':'n':'e':_ -> do- lexWhile isSpace+ lexWhile_ isSpace discard 8 return $ SPECIALISE_INLINE False 'n':'o':'t':'i':'n':'l':'i':'n':'e':_ -> do- lexWhile isSpace+ lexWhile_ isSpace discard 9 return $ SPECIALISE_INLINE False _ -> return SPECIALISE - Just (OPTIONS _) -> do -- see, I promised we'd mask out the 'undefined'- s <- getInput- case s of- '_':_ -> do- discard 1- com <- lexWhile isIdent- rest <- lexRawPragma- return $ OPTIONS (Just com, rest)- x:_ | isSpace x -> do- rest <- lexRawPragma- return $ OPTIONS (Nothing, rest)- _ -> fail "Malformed Options pragma"+ Just (OPTIONS opt) -> -- see, I promised we'd mask out the 'undefined'+ -- We do not want to store necessary whitespace in the datatype+ -- but if the pragma starts with a newline then we must keep+ -- it to differentiate the two cases.+ let dropIfSpace (' ':xs) = xs+ dropIfSpace xs = xs+ in+ case fst opt of+ Just opt' -> do+ rest <- lexRawPragma+ return $ OPTIONS (Just opt', dropIfSpace rest)+ Nothing -> do+ s <- getInput+ case s of+ x:_ | isSpace x -> do+ rest <- lexRawPragma+ return $ OPTIONS (Nothing, dropIfSpace rest)+ _ -> fail "Malformed Options pragma"+ Just RULES -> do -- Rules enable ScopedTypeVariables locally.+ addExtensionL ScopedTypeVariables+ return RULES {- Just (CFILES _) -> do rest <- lexRawPragma return $ CFILES rest@@ -851,9 +1001,7 @@ -- topLexer -- we just discard it as a comment for now and restart -} lexRawPragma :: Lex a String-lexRawPragma = do- rpr <- lexRawPragmaAux- return $ dropWhile isSpace rpr+lexRawPragma = lexRawPragmaAux where lexRawPragmaAux = do rpr <- lexWhile (/='#') s <- getInput@@ -917,7 +1065,7 @@ r <- getInput case r of '#':'#':_ -> case c of- Right c -> discard 2 >> return c+ Right c' -> discard 2 >> return c' Left s -> fail s '#':_ -> discard 1 >> return b _ -> return a@@ -935,17 +1083,17 @@ exts <- getExtensionsL case rest of '.':c:_- | isLower c || c == '_' -> do -- qualified varid?+ | isIdentStart c -> do -- qualified varid? discard 1 ident <- lexWhile isIdent s <- getInput- exts <- getExtensionsL+ exts' <- getExtensionsL ident' <- case s of- '#':_ | MagicHash `elem` exts -> discard 1 >> return (ident ++ "#")+ '#':_ | MagicHash `elem` exts' -> discard 1 >> return (ident ++ "#") _ -> return ident case lookup ident' reserved_ids of -- cannot qualify a reserved word- Just (_,scheme) | isEnabled scheme exts -> just_a_conid+ Just (_,scheme) | isEnabled scheme exts' -> just_a_conid _ -> return (QVarId (qual', ident')) | isUpper c -> do -- qualified conid?@@ -955,10 +1103,10 @@ | isHSymbol c -> do -- qualified symbol? discard 1 sym <- lexWhile isHSymbol- exts <- getExtensionsL+ exts' <- getExtensionsL case lookup sym reserved_ops of -- cannot qualify a reserved operator- Just (_,scheme) | isEnabled scheme exts -> just_a_conid+ Just (_,scheme) | isEnabled scheme exts' -> just_a_conid _ -> return $ case c of ':' -> QConSym (qual', sym) _ -> QVarSym (qual', sym)@@ -969,8 +1117,8 @@ not (isIdent $ head cs) && MagicHash `elem` exts -> do discard 1 case conid of- ConId con -> return $ ConId $ con ++ "#"- QConId (q,con) -> return $ QConId (q,con ++ "#")+ ConId con' -> return $ ConId $ con' ++ "#"+ QConId (q,con') -> return $ QConId (q,con' ++ "#") _ -> fail $ "lexConIdOrQual: unexpected token: " ++ show conid _ -> return conid -- not a qualified thing @@ -999,23 +1147,23 @@ lexString :: Lex a Token-lexString = loop ("","")+lexString = loop [] [] where- loop (s,raw) = do+ loop !s !raw = do r <- getInput exts <- getExtensionsL case r of '\\':'&':_ -> do discard 2- loop (s, '&':'\\':raw)+ loop s ('&':'\\':raw) '\\':c:_ | isSpace c -> do discard 1 wcs <- lexWhiteChars matchChar '\\' "Illegal character in string gap"- loop (s, '\\':reverse wcs ++ '\\':raw)+ loop s ('\\':revAppend wcs ('\\':raw)) | otherwise -> do (ce, str) <- lexEscape- loop (ce:s, reverse str ++ '\\':raw)+ loop (ce `seq` ce : s) (revAppend str ('\\':raw)) '"':'#':_ | MagicHash `elem` exts -> do discard 2 return (StringHash (reverse s, reverse raw))@@ -1024,9 +1172,13 @@ return (StringTok (reverse s, reverse raw)) c:_ | c /= '\n' -> do discard 1- loop (c:s, c:raw)+ loop (c:s) (c:raw) _ -> fail "Improperly terminated string" + revAppend :: [a] -> [a] -> [a]+ revAppend [] ys = ys+ revAppend (x:xs) ys = revAppend xs (x:ys)+ lexWhiteChars :: Lex a String lexWhiteChars = do s <- getInput@@ -1107,17 +1259,17 @@ 'o':c:_ | isOctDigit c -> do discard 1 (n, raw) <- lexOctal- n <- checkChar n- return (n, 'o':raw)+ n' <- checkChar n+ return (n', 'o':raw) 'x':c:_ | isHexDigit c -> do discard 1 (n, raw) <- lexHexadecimal- n <- checkChar n- return (n, 'x':raw)+ n' <- checkChar n+ return (n', 'x':raw) c:_ | isDigit c -> do (n, raw) <- lexDecimal- n <- checkChar n- return (n, raw)+ n' <- checkChar n+ return (n', raw) _ -> fail "Illegal escape sequence" @@ -1137,6 +1289,12 @@ ds <- lexWhile isOctDigit return (parseInteger 8 ds, ds) +-- assumes at least one binary digit+lexBinary :: Lex a (Integer, String)+lexBinary = do+ ds <- lexWhile isBinDigit+ return (parseInteger 2 ds, ds)+ -- assumes at least one hexadecimal digit lexHexadecimal :: Lex a (Integer, String) lexHexadecimal = do@@ -1151,28 +1309,33 @@ -- Stolen from Hugs's Prelude parseInteger :: Integer -> String -> Integer-parseInteger radix ds =- foldl1 (\n d -> n * radix + d) (map (toInteger . digitToInt) ds)+parseInteger radix = go 0+ where+ go !acc [] = acc+ go !acc (d:ds) = go (acc * radix + toInteger (digitToInt d)) ds flagKW :: Token -> Lex a ()-flagKW t = do+flagKW t = when (t `elem` [KW_Do, KW_MDo]) $ do exts <- getExtensionsL- when (NondecreasingIndentation `elem` exts) $- flagDo+ when (NondecreasingIndentation `elem` exts) flagDo +-- | Selects ASCII binary digits, i.e. @\'0\'@..@\'1\'@.+isBinDigit :: Char -> Bool+isBinDigit c = c >= '0' && c <= '1' ------------------------------------------------------------------ -- "Pretty" printing for tokens showToken :: Token -> String showToken t = case t of VarId s -> s+ LabelVarId s -> '#':s QVarId (q,s) -> q ++ '.':s IDupVarId s -> '?':s ILinVarId s -> '%':s ConId s -> s QConId (q,s) -> q ++ '.':s- DVarId ss -> concat $ intersperse "-" ss+ DVarId ss -> intercalate "-" ss VarSym s -> s ConSym s -> s QVarSym (q,s) -> q ++ '.':s@@ -1197,9 +1360,12 @@ VRightCurly -> "virtual }" LeftSquare -> "[" RightSquare -> "]"+ ParArrayLeftSquare -> "[:"+ ParArrayRightSquare -> ":]" Comma -> "," Underscore -> "_" BackQuote -> "`"+ QuoteColon -> "':" Dot -> "." DotDot -> ".." Colon -> ":"@@ -1210,22 +1376,29 @@ LeftArrow -> "<-" RightArrow -> "->" At -> "@"+ TApp -> "@" Tilde -> "~" DoubleArrow -> "=>" Minus -> "-" Exclamation -> "!" Star -> "*"- LeftArrowTail -> ">-"- RightArrowTail -> "-<"- LeftDblArrowTail -> ">>-"- RightDblArrowTail -> "-<<"+ LeftArrowTail -> "-<"+ RightArrowTail -> ">-"+ LeftDblArrowTail -> "-<<"+ RightDblArrowTail -> ">>-"+ OpenArrowBracket -> "(|"+ CloseArrowBracket -> "|)" THExpQuote -> "[|"+ THTExpQuote -> "[||" THPatQuote -> "[p|" THDecQuote -> "[d|" THTypQuote -> "[t|" THCloseQuote -> "|]"+ THTCloseQuote -> "||]" THIdEscape s -> '$':s THParenEscape -> "$("+ THTIdEscape s -> "$$" ++ s+ THTParenEscape -> "$$(" THVarQuote -> "'" THTyQuote -> "''" THQuasiQuote (n,q) -> "[$" ++ n ++ "|" ++ q ++ "]"@@ -1244,7 +1417,7 @@ PragmaEnd -> "#-}" RULES -> "{-# RULES" INLINE b -> "{-# " ++ if b then "INLINE" else "NOINLINE"- INLINE_CONLIKE -> "{-# " ++ "INLINE_CONLIKE"+ INLINE_CONLIKE -> "{-# " ++ "INLINE CONLIKE" SPECIALISE -> "{-# SPECIALISE" SPECIALISE_INLINE b -> "{-# SPECIALISE " ++ if b then "INLINE" else "NOINLINE" SOURCE -> "{-# SOURCE"@@ -1254,11 +1427,20 @@ GENERATED -> "{-# GENERATED" CORE -> "{-# CORE" UNPACK -> "{-# UNPACK"- OPTIONS (mt,s) -> "{-# OPTIONS" ++ maybe "" (':':) mt ++ " ..."+ NOUNPACK -> "{-# NOUNPACK"+ OPTIONS (mt,_) -> "{-# OPTIONS" ++ maybe "" (':':) mt ++ " ..." -- CFILES s -> "{-# CFILES ..." -- INCLUDE s -> "{-# INCLUDE ..." LANGUAGE -> "{-# LANGUAGE" ANN -> "{-# ANN"+ MINIMAL -> "{-# MINIMAL"+ NO_OVERLAP -> "{-# NO_OVERLAP"+ OVERLAP -> "{-# OVERLAP"+ OVERLAPPING -> "{-# OVERLAPPING"+ OVERLAPPABLE -> "{-# OVERLAPPABLE"+ OVERLAPS -> "{-# OVERLAPS"+ INCOHERENT -> "{-# INCOHERENT"+ COMPLETE -> "{-# COMPLETE" KW_As -> "as" KW_By -> "by" KW_Case -> "case"@@ -1304,6 +1486,12 @@ KW_DotNet -> "dotnet" KW_Jvm -> "jvm" KW_Js -> "js"+ KW_JavaScript -> "javascript" KW_CApi -> "capi"+ KW_Role -> "role"+ KW_Pattern -> "pattern"+ KW_Stock -> "stock"+ KW_Anyclass -> "anyclass"+ KW_Via -> "via" EOF -> "EOF"
src/Language/Haskell/Exts/InternalParser.ly view
@@ -1,1959 +1,2275 @@ > {-> {-# OPTIONS_HADDOCK hide #-}-> ------------------------------------------------------------------------------> -- |-> -- Module : Language.Haskell.Exts.Annotated.Parser-> -- Copyright : (c) Niklas Broberg 2004-2009,-> -- Original (c) Simon Marlow, Sven Panne 1997-2000-> -- License : BSD-style (see the file LICENSE.txt)-> ---> -- Maintainer : Niklas Broberg, d00nibro@chalmers.se-> -- Stability : stable-> -- Portability : portable-> ---> ---> ------------------------------------------------------------------------------>-> module Language.Haskell.Exts.InternalParser (-> -- * General parsing-> ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult,-> -- * Parsing of specific AST elements-> -- ** Modules-> parseModule, parseModuleWithMode, parseModuleWithComments,-> -- ** Expressions-> parseExp, parseExpWithMode, parseExpWithComments,-> -- ** Statements-> parseStmt, parseStmtWithMode, parseStmtWithComments,-> -- ** Patterns-> parsePat, parsePatWithMode, parsePatWithComments,-> -- ** Declarations-> parseDecl, parseDeclWithMode, parseDeclWithComments,-> -- ** Types-> parseType, parseTypeWithMode, parseTypeWithComments,-> -- ** Multiple modules in one file-> parseModules, parseModulesWithMode, parseModulesWithComments,-> -- ** Option pragmas-> getTopPragmas-> ) where->-> import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )-> import Language.Haskell.Exts.Annotated.Syntax ( Type, Exp, Asst )-> import Language.Haskell.Exts.ParseMonad-> import Language.Haskell.Exts.InternalLexer-> import Language.Haskell.Exts.ParseUtils-> import Language.Haskell.Exts.Annotated.Fixity-> import Language.Haskell.Exts.SrcLoc-> import Language.Haskell.Exts.Comments ( Comment )-> import Language.Haskell.Exts.Extension--> import Control.Monad ( liftM, (<=<) )-import Debug.Trace (trace)--> }--------------------------------------------------------------------------------This module comprises a parser for Haskell 98 with the following extensions--* Multi-parameter type classes with functional dependencies-* Implicit parameters-* Pattern guards-* Mdo notation-* FFI-* HaRP-* HSP--Most of the code is blatantly stolen from the GHC module Language.Haskell.Parser.-Some of the code for extensions is greatly influenced by GHC's internal parser-library, ghc/compiler/parser/Parser.y.-------------------------------------------------------------------------------Conflicts: 7 shift/reduce--2 for ambiguity in 'case x of y | let z = y in z :: Bool -> b' [State 99, 186]- (don't know whether to reduce 'Bool' as a btype or shift the '->'.- Similarly lambda and if. The default resolution in favour of the- shift means that a guard can never end with a type signature.- In mitigation: it's a rare case and no Haskell implementation- allows these, because it would require unbounded lookahead.)- There are 2 conflicts rather than one because contexts are parsed- as btypes (cf ctype).--1 for ambiguity in 'let ?x ...' [State 604]- the parser can't tell whether the ?x is the lhs of a normal binding or- an implicit binding. Fortunately resolving as shift gives it the only- sensible meaning, namely the lhs of an implicit binding.--1 for ambiguity using hybrid modules [State 159]- For HSP pages that start with a <% %> block, the parser cannot tell whether- to reduce a srcloc or shift the starting <%. Since any other body could not- start with <%, shifting is the only sensible thing to do.--1 for ambiguity using toplevel xml modules [State 158]- For HSP xml pages starting with a <, the parser cannot tell whether to shift- that < or reduce an implicit 'open'. Since no other body could possibly start- with <, shifting is the only sensible thing to do.--1 for ambiguity in '{-# RULES "name" [ ... #-}' [State 177]- we don't know whether the '[' starts the activation or not: it- might be the start of the declaration with the activation being- empty. Resolving with shift means the declaration cannot start with '['.--1 for ambiguity in '{-# RULES "name" forall = ... #-}' [State 544]- since 'forall' is a valid variable name, we don't know whether- to treat a forall on the input as the beginning of a quantifier- or the beginning of the rule itself. Resolving to shift means- it's always treated as a quantifier, hence the above is disallowed.- This saves explicitly defining a grammar for the rule lhs that- doesn't include 'forall'.---------------------------------------------------------------------------------> %token-> VARID { Loc _ (VarId _) } -- 1-> QVARID { Loc _ (QVarId _) }-> IDUPID { Loc _ (IDupVarId _) } -- duplicable implicit parameter ?x-> ILINID { Loc _ (ILinVarId _) } -- linear implicit parameter %x-> CONID { Loc _ (ConId _) }-> QCONID { Loc _ (QConId _) }-> DVARID { Loc _ (DVarId _) } -- VARID containing dashes-> VARSYM { Loc _ (VarSym _) }-> CONSYM { Loc _ (ConSym _) }-> QVARSYM { Loc _ (QVarSym _) } -- 10-> QCONSYM { Loc _ (QConSym _) } -> INT { Loc _ (IntTok _) }-> RATIONAL { Loc _ (FloatTok _) }-> CHAR { Loc _ (Character _) }-> STRING { Loc _ (StringTok _) }--> PRIMINT { Loc _ (IntTokHash _) }-> PRIMWORD { Loc _ (WordTokHash _) }-> PRIMFLOAT { Loc _ (FloatTokHash _) }-> PRIMDOUBLE { Loc _ (DoubleTokHash _) }-> PRIMCHAR { Loc _ (CharacterHash _) } -- 20-> PRIMSTRING { Loc _ (StringHash _) } --Symbols--> '(' { Loc $$ LeftParen }-> ')' { Loc $$ RightParen }-> '(#' { Loc $$ LeftHashParen }-> '#)' { Loc $$ RightHashParen }-> ';' { Loc $$ SemiColon }-> '{' { Loc $$ LeftCurly }-> '}' { Loc $$ RightCurly } -- 30-> vccurly { Loc $$ VRightCurly } -- a virtual close brace-> '[' { Loc $$ LeftSquare }-> ']' { Loc $$ RightSquare }-> ',' { Loc $$ Comma }-> '_' { Loc $$ Underscore }-> '`' { Loc $$ BackQuote }--Reserved operators--> '.' { Loc $$ Dot }-> '..' { Loc $$ DotDot }-> ':' { Loc $$ Colon }-> '::' { Loc $$ DoubleColon } -- 40-> '=' { Loc $$ Equals } -> '\\' { Loc $$ Backslash }-> '|' { Loc $$ Bar }-> '<-' { Loc $$ LeftArrow }-> '->' { Loc $$ RightArrow }-> '@' { Loc $$ At }-> '~' { Loc $$ Tilde }-> '=>' { Loc $$ DoubleArrow }-> '-' { Loc $$ Minus }-> '!' { Loc $$ Exclamation } -- 50-> '*' { Loc $$ Star } --Arrows--> '-<' { Loc $$ LeftArrowTail }-> '>-' { Loc $$ RightArrowTail }-> '-<<' { Loc $$ LeftDblArrowTail }-> '>>-' { Loc $$ RightDblArrowTail }--Harp--> '(|' { Loc $$ RPGuardOpen }-> '|)' { Loc $$ RPGuardClose }-> '@:' { Loc $$ RPCAt }--Template Haskell--> IDSPLICE { Loc _ (THIdEscape _) } -- $x-> '$(' { Loc $$ THParenEscape } -- 60-> '[|' { Loc $$ THExpQuote } -> '[p|' { Loc $$ THPatQuote }-> '[t|' { Loc $$ THTypQuote }-> '[d|' { Loc $$ THDecQuote }-> '|]' { Loc $$ THCloseQuote }-> VARQUOTE { Loc $$ THVarQuote } -- 'x-> TYPQUOTE { Loc $$ THTyQuote } -- ''T-> QUASIQUOTE { Loc _ (THQuasiQuote _) }--Hsx--> PCDATA { Loc _ (XPCDATA _) }-> '<' { Loc $$ XStdTagOpen } -- 70-> '</' { Loc $$ XCloseTagOpen } -> '<%' { Loc $$ XCodeTagOpen }-> '<%>' { Loc $$ XChildTagOpen }-> '>' { Loc $$ XStdTagClose }-> '/>' { Loc $$ XEmptyTagClose }-> '%>' { Loc $$ XCodeTagClose }-> '<[' { Loc $$ XRPatOpen }-> ']>' { Loc $$ XRPatClose }--FFI--> 'foreign' { Loc $$ KW_Foreign }-> 'export' { Loc $$ KW_Export } -- 80-> 'safe' { Loc $$ KW_Safe } -> 'unsafe' { Loc $$ KW_Unsafe }-> 'threadsafe' { Loc $$ KW_Threadsafe }-> 'interruptible' { Loc $$ KW_Interruptible }-> 'stdcall' { Loc $$ KW_StdCall }-> 'ccall' { Loc $$ KW_CCall }-> 'cplusplus' { Loc $$ KW_CPlusPlus }-> 'dotnet' { Loc $$ KW_DotNet }-> 'jvm' { Loc $$ KW_Jvm }-> 'js' { Loc $$ KW_Js } -- 90-> 'capi' { Loc $$ KW_CApi } --Reserved Ids--> 'as' { Loc $$ KW_As }-> 'by' { Loc $$ KW_By } -- transform list comprehensions-> 'case' { Loc $$ KW_Case }-> 'class' { Loc $$ KW_Class }-> 'data' { Loc $$ KW_Data }-> 'default' { Loc $$ KW_Default }-> 'deriving' { Loc $$ KW_Deriving }-> 'do' { Loc $$ KW_Do }-> 'else' { Loc $$ KW_Else } -- 100-> 'family' { Loc $$ KW_Family } -- indexed type families-> 'forall' { Loc $$ KW_Forall } -- universal/existential qualification-> 'group' { Loc $$ KW_Group } -- transform list comprehensions-> 'hiding' { Loc $$ KW_Hiding }-> 'if' { Loc $$ KW_If }-> 'import' { Loc $$ KW_Import }-> 'in' { Loc $$ KW_In }-> 'infix' { Loc $$ KW_Infix }-> 'infixl' { Loc $$ KW_InfixL }-> 'infixr' { Loc $$ KW_InfixR } -- 110-> 'instance' { Loc $$ KW_Instance }-> 'let' { Loc $$ KW_Let }-> 'mdo' { Loc $$ KW_MDo }-> 'module' { Loc $$ KW_Module } -- 114-> 'newtype' { Loc $$ KW_NewType }-> 'of' { Loc $$ KW_Of }-> 'proc' { Loc $$ KW_Proc } -- arrows-> 'rec' { Loc $$ KW_Rec } -- arrows-> 'then' { Loc $$ KW_Then }-> 'type' { Loc $$ KW_Type } -- 120-> 'using' { Loc $$ KW_Using } -- transform list comprehensions-> 'where' { Loc $$ KW_Where }-> 'qualified' { Loc $$ KW_Qualified }--Pragmas--> '{-# INLINE' { Loc _ (INLINE _) }-> '{-# INLINE_CONLIKE' { Loc $$ INLINE_CONLIKE }-> '{-# SPECIALISE' { Loc $$ SPECIALISE }-> '{-# SPECIALISE_INLINE' { Loc _ (SPECIALISE_INLINE _) }-> '{-# SOURCE' { Loc $$ SOURCE }-> '{-# RULES' { Loc $$ RULES }-> '{-# CORE' { Loc $$ CORE } -- 130-> '{-# SCC' { Loc $$ SCC } -> '{-# GENERATED' { Loc $$ GENERATED }-> '{-# DEPRECATED' { Loc $$ DEPRECATED }-> '{-# WARNING' { Loc $$ WARNING }-> '{-# UNPACK' { Loc $$ UNPACK }-> '{-# OPTIONS' { Loc _ (OPTIONS _) }- '{-# CFILES' { Loc _ (CFILES _) }- '{-# INCLUDE' { Loc _ (INCLUDE _) }-> '{-# LANGUAGE' { Loc $$ LANGUAGE } -- 137-> '{-# ANN' { Loc $$ ANN }-> '#-}' { Loc $$ PragmaEnd } -- 139---> %monad { P }-> %lexer { lexer } { Loc _ EOF }-> %error { parseError }-> %name mparseModule page-> %name mparseExp trueexp-> %name mparsePat pat-> %name mparseDecl topdecl-> %name mparseType truectype-> %name mparseStmt stmt-> %name mparseModules modules-> %partial mfindOptPragmas toppragmas-> %tokentype { Loc Token }-> %expect 7-> %%--------------------------------------------------------------------------------Testing multiple modules in one file--> modules :: { [Module L] }-> : toppragmas modules1 { let (os,ss,l) = $1 in map (\x -> x os ss l) $2 }--> modules1 :: { [[ModulePragma L] -> [S] -> L -> Module L] }-> : module modules1 { $1 : $2 }-> | module { [$1] }--------------------------------------------------------------------------------HSP Pages--Any HSP-specific parts requiring the XmlSyntax extension enabled will-be governed by the lexing, since all productions require at least one-special lexeme.--TODO: Yuck, this is messy, needs fixing in the AST!--> page :: { Module L }-> : toppragmas topxml {% checkPageModule $2 $1 }-> | toppragmas '<%' module '%>' topxml {% let (os,ss,l) = $1 in checkHybridModule $5 ($3 os ss l) $2 $4 }-> | toppragmas module { let (os,ss,l) = $1 in $2 os ss l }--> topxml :: { PExp L }-> : '<' name attrs mattr '>' children '</' name '>' {% do { n <- checkEqNames $2 $8;-> let { cn = reverse $6;-> as = reverse $3; };-> return $ XTag ($1 <^^> $9 <** [$1,$5,$7,$9]) n as $4 cn } }-> | '<' name attrs mattr '/>' { XETag ($1 <^^> $5 <** [$1,$5]) $2 (reverse $3) $4 }---> toppragmas :: { ([ModulePragma L],[S],L) }-> : open toppragmasaux close { let (os,ss,ml) = $2 in (os,$1:ss++[$3],$1 <^^> $3) }--> toppragmasaux :: { ([ModulePragma L],[S],Maybe L) }-> : toppragma ';' toppragmasaux { let (os,ss,ml) = $3 in ($1 : os, $2 : ss, Just $ ann $1 <++> nIS $2 <+?> ml) }-> | {- nothing -} { ([],[],Nothing) }--> toppragma :: { ModulePragma L }-> : '{-# LANGUAGE' conids optsemis '#-}' { LanguagePragma ($1 <^^> $4 <** ($1:snd $2 ++ reverse $3 ++ [$4])) (fst $2) }-> | '{-# OPTIONS' optsemis '#-}' { let Loc l (OPTIONS (mc, s)) = $1-> in OptionsPragma (l <^^> $3 <** (l:reverse $2 ++ [$3])) (readTool mc) s }-> | '{-# ANN' annotation '#-}' { AnnModulePragma ($1 <^^> $3 <** [$1,$3]) $2 }---> conids :: { ([Name L],[S]) }-> : conid ',' conids { ($1 : fst $3, $2 : snd $3) }-> | conid { ([$1],[]) }--------------------------------------------------------------------------------Module Header--> module :: { [ModulePragma L] -> [S] -> L -> Module L }-> : optmodulehead body-> { let (is,ds,ss1,inf) = $2-> in \os ss l -> Module (l <++> inf <** (ss ++ ss1)) $1 os is ds }--> optmodulehead :: { Maybe (ModuleHead L) }-> : 'module' modid maybemodwarning maybeexports 'where' { Just $ ModuleHead ($1 <^^> $5 <** [$1,$5]) $2 $3 $4 }-> | {- empty -} { Nothing }--> maybemodwarning :: { Maybe (WarningText L) }-> : '{-# DEPRECATED' STRING '#-}' { let Loc l (StringTok (s,_)) = $2 in Just $ DeprText ($1 <^^> $3 <** [$1,l,$3]) s }-> | '{-# WARNING' STRING '#-}' { let Loc l (StringTok (s,_)) = $2 in Just $ WarnText ($1 <^^> $3 <** [$1,l,$3]) s }-> | {- empty -} { Nothing }--> body :: { ([ImportDecl L],[Decl L],[S],L) }-> : '{' bodyaux '}' { let (is,ds,ss) = $2 in (is,ds,$1:ss ++ [$3], $1 <^^> $3) }-> | open bodyaux close { let (is,ds,ss) = $2 in (is,ds,$1:ss ++ [$3], $1 <^^> $3) }--> bodyaux :: { ([ImportDecl L],[Decl L],[S]) }-> : optsemis impdecls semis topdecls { (reverse (fst $2), fst $4, reverse $1 ++ snd $2 ++ reverse $3 ++ snd $4) }-> | optsemis topdecls { ([], fst $2, reverse $1 ++ snd $2) }-> | optsemis impdecls optsemis { (reverse (fst $2), [], reverse $1 ++ snd $2 ++ reverse $3) }-> | optsemis { ([], [], reverse $1) }--> semis :: { [S] }-> : optsemis ';' { $2 : $1 }--> optsemis :: { [S] }-> : semis { $1 }-> | {- empty -} { [] }--------------------------------------------------------------------------------The Export List--> maybeexports :: { Maybe (ExportSpecList L) }-> : exports { Just $1 }-> | {- empty -} { Nothing }--> exports :: { ExportSpecList L }-> : '(' exportlist optcomma ')' { ExportSpecList ($1 <^^> $4 <** ($1:reverse (snd $2) ++ $3 ++ [$4])) (reverse (fst $2)) }-> | '(' optcomma ')' { ExportSpecList ($1 <^^> $3 <** ($1:$2++[$3])) [] }--> optcomma :: { [S] }-> : ',' { [$1] }-> | {- empty -} { [ ] }--> exportlist :: { ([ExportSpec L],[S]) }-> : exportlist ',' export { ($3 : fst $1, $2 : snd $1) }-> | export { ([$1],[]) }--> export :: { ExportSpec L }-> : qvar { EVar (ann $1) $1 }-> | qtyconorcls { EAbs (ann $1) $1 }-> | qtyconorcls '(' '..' ')' { EThingAll (ann $1 <++> nIS $4 <** [$2,$3,$4]) $1 }-> | qtyconorcls '(' ')' { EThingWith (ann $1 <++> nIS $3 <** [$2,$3]) $1 [] }-> | qtyconorcls '(' cnames ')' { EThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) }-> | 'module' modid { EModuleContents (nIS $1 <++> ann $2 <** [$1]) $2 }--------------------------------------------------------------------------------Import Declarations--> impdecls :: { ([ImportDecl L],[S]) }-> : impdecls semis impdecl { ($3 : fst $1, snd $1 ++ reverse $2) }-> | impdecl { ([$1],[]) }--> impdecl :: { ImportDecl L }-> : 'import' optsrc optqualified maybepkg modid maybeas maybeimpspec-> { let { (mmn,ss,ml) = $6 ;-> l = nIS $1 <++> ann $5 <+?> ml <+?> (fmap ann) $7 <** ($1:snd $2 ++ snd $3 ++ snd $4 ++ ss)}-> in ImportDecl l $5 (fst $3) (fst $2) (fst $4) mmn $7 }--> optsrc :: { (Bool,[S]) }-> : '{-# SOURCE' '#-}' { (True,[$1,$2]) }-> | {- empty -} { (False,[]) }--> optqualified :: { (Bool,[S]) }-> : 'qualified' { (True,[$1]) }-> | {- empty -} { (False, []) }--Requires the PackageImports extension enabled.-> maybepkg :: { (Maybe String,[S]) }-> : STRING {% do { checkEnabled PackageImports ;-> let { Loc l (StringTok (s,_)) = $1 } ;-> return $ (Just s,[l]) } }-> | {- empty -} { (Nothing,[]) }--> maybeas :: { (Maybe (ModuleName L),[S],Maybe L) }-> : 'as' modid { (Just $2,[$1],Just (nIS $1 <++> ann $2)) }-> | {- empty -} { (Nothing,[],Nothing) }---> maybeimpspec :: { Maybe (ImportSpecList L) }-> : impspec { Just $1 }-> | {- empty -} { Nothing }--> impspec :: { ImportSpecList L }-> : opthiding '(' importlist optcomma ')' { let {(b,ml,s) = $1 ;-> l = (ml <?+> ($2 <^^> $5)) <** (s ++ $2:reverse (snd $3) ++ $4 ++ [$5])}-> in ImportSpecList l b (reverse (fst $3)) }-> | opthiding '(' optcomma ')' { let {(b,ml,s) = $1 ; l = (ml <?+> ($2 <^^> $4)) <** (s ++ $2:$3 ++ [$4])}-> in ImportSpecList l b [] }--> opthiding :: { (Bool, Maybe L,[S]) }-> : 'hiding' { (True,Just (nIS $1),[$1]) }-> | {- empty -} { (False,Nothing,[]) }--> importlist :: { ([ImportSpec L],[S]) }-> : importlist ',' importspec { ($3 : fst $1, $2 : snd $1) }-> | importspec { ([$1],[]) }--> importspec :: { ImportSpec L }-> : var { IVar (ann $1) $1 }-> | tyconorcls { IAbs (ann $1) $1 }-> | tyconorcls '(' '..' ')' { IThingAll (ann $1 <++> nIS $4 <** [$2,$3,$4]) $1 }-> | tyconorcls '(' ')' { IThingWith (ann $1 <++> nIS $3 <** [$2,$3]) $1 [] }-> | tyconorcls '(' cnames ')' { IThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) }--> cnames :: { ([CName L],[S]) }-> : cnames ',' cname { ($3 : fst $1, $2 : snd $1) }-> | cname { ([$1],[]) }--> cname :: { CName L }-> : var { VarName (ann $1) $1 }-> | con { ConName (ann $1) $1 }--------------------------------------------------------------------------------Fixity Declarations--> fixdecl :: { Decl L }-> : infix prec ops { let (ops,ss,l) = $3-> in InfixDecl (ann $1 <++> l <** (snd $2 ++ reverse ss)) $1 (fst $2) (reverse ops) }--> prec :: { (Maybe Int, [S]) }-> : {- empty -} { (Nothing, []) }-> | INT {% let Loc l (IntTok (i,_)) = $1 in checkPrec i >>= \i -> return (Just i, [l]) }--> infix :: { Assoc L }-> : 'infix' { AssocNone $ nIS $1 }-> | 'infixl' { AssocLeft $ nIS $1 }-> | 'infixr' { AssocRight $ nIS $1 }--> ops :: { ([Op L],[S],L) }-> : ops ',' op { let (ops,ss,l) = $1 in ($3 : ops, $2 : ss, l <++> ann $3) }-> | op { ([$1],[],ann $1) }--------------------------------------------------------------------------------Top-Level Declarations--Note: The report allows topdecls to be empty. This would result in another-shift/reduce-conflict, so we don't handle this case here, but in bodyaux.--> topdecls :: { ([Decl L],[S]) }-> : topdecls1 optsemis {% checkRevDecls (fst $1) >>= \ds -> return (ds, snd $1 ++ reverse $2) }--> topdecls1 :: { ([Decl L],[S]) }-> : topdecls1 semis topdecl { ($3 : fst $1, snd $1 ++ reverse $2) }-> | topdecl { ([$1],[]) }--> topdecl :: { Decl L }-> : 'type' dtype '=' truectype-> {% do { dh <- checkSimpleType $2;-> let {l = nIS $1 <++> ann $4 <** [$1,$3]};-> return (TypeDecl l dh $4) } }--Requires the TypeFamilies extension enabled, but the lexer will handle-that through the 'family' keyword.-> | 'type' 'family' type optkind-> {% do { dh <- checkSimpleType $3;-> let {l = nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4) <** ($1:$2:snd $4)};-> return (TypeFamDecl l dh (fst $4)) } }--Here there is no special keyword so we must do the check.-> | 'type' 'instance' truedtype '=' truectype-> {% do { -- no checkSimpleType $4 since dtype may contain type patterns-> checkEnabled TypeFamilies ;-> let {l = nIS $1 <++> ann $5 <** [$1,$2,$4]};-> return (TypeInsDecl l $3 $5) } }-> | data_or_newtype ctype constrs0 deriving-> {% do { (cs,dh) <- checkDataHeader $2;-> let { (qds,ss,minf) = $3;-> l = $1 <> $2 <+?> minf <+?> fmap ann $4 <** ss};-> checkDataOrNew $1 qds;-> return (DataDecl l $1 cs dh (reverse qds) $4) } }--Requires the GADTs extension enabled, handled in gadtlist.-> | data_or_newtype ctype optkind gadtlist deriving-> {% do { (cs,dh) <- checkDataHeader $2;-> let { (gs,ss,minf) = $4;-> l = ann $1 <+?> minf <+?> fmap ann $5 <** (snd $3 ++ ss)};-> checkDataOrNewG $1 gs;-> case (gs, fst $3) of-> ([], Nothing) -> return (DataDecl l $1 cs dh [] $5)-> _ -> checkEnabled GADTs >> return (GDataDecl l $1 cs dh (fst $3) (reverse gs) $5) } }--Same as above, lexer will handle it through the 'family' keyword.-> | 'data' 'family' ctype optkind-> {% do { (cs,dh) <- checkDataHeader $3;-> let {l = nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4) <** ($1:$2:snd $4)};-> return (DataFamDecl l cs dh (fst $4)) } }--Here we must check for TypeFamilies.-> | data_or_newtype 'instance' truectype constrs0 deriving-> {% do { -- (cs,c,t) <- checkDataHeader $4;-> checkEnabled TypeFamilies ;-> let { (qds,ss,minf) = $4 ;-> l = $1 <> $3 <+?> minf <+?> fmap ann $5 <** $2:ss };-> checkDataOrNew $1 qds;-> return (DataInsDecl l $1 $3 (reverse qds) $5) } }--This style requires both TypeFamilies and GADTs, the latter is handled in gadtlist.-> | data_or_newtype 'instance' truectype optkind gadtlist deriving-> {% do { -- (cs,c,t) <- checkDataHeader $4;-> checkEnabled TypeFamilies ;-> let {(gs,ss,minf) = $5;-> l = ann $1 <+?> minf <+?> fmap ann $6 <** ($2:snd $4 ++ ss)};-> checkDataOrNewG $1 gs;-> return (GDataInsDecl l $1 $3 (fst $4) (reverse gs) $6) } }-> | 'class' ctype fds optcbody-> {% do { (cs,dh) <- checkClassHeader $2;-> let {(fds,ss1,minf1) = $3;(mcs,ss2,minf2) = $4} ;-> let { l = nIS $1 <++> ann $2 <+?> minf1 <+?> minf2 <** ($1:ss1 ++ ss2)} ;-> return (ClassDecl l cs dh fds mcs) } }-> | 'instance' ctype optvaldefs-> {% do { (cs,ih) <- checkInstHeader $2;-> let {(mis,ss,minf) = $3};-> return (InstDecl (nIS $1 <++> ann $2 <+?> minf <** ($1:ss)) cs ih mis) } }--Requires the StandaloneDeriving extension enabled.-> | 'deriving' 'instance' ctype-> {% do { checkEnabled StandaloneDeriving ;-> (cs, ih) <- checkInstHeader $3;-> let {l = nIS $1 <++> ann $3 <** [$1,$2]};-> return (DerivDecl l cs ih) } }-> | 'default' '(' typelist ')'-> { DefaultDecl ($1 <^^> $4 <** ($1:$2 : snd $3 ++ [$4])) (fst $3) }--Requires the TemplateHaskell extension, but the lexer will handle that-through the '$(' lexeme.-CHANGE: Arbitrary top-level expressions are considered implicit splices-> | exp0 {% do-> checkToplevel $1-> checkExpr $1 >>= \e -> return (SpliceDecl (ann e) e) -> }-- | '$(' trueexp ')' { let l = $1 <^^> $3 <** [$1,$3] in SpliceDecl l $ ParenSplice l $2 }--These require the ForeignFunctionInterface extension, handled by the-lexer through the 'foreign' (and 'export') keyword.-> | 'foreign' 'import' callconv safety fspec-> { let (s,n,t,ss) = $5 in ForImp (nIS $1 <++> ann t <** ($1:$2:ss)) $3 $4 s n t }-> | 'foreign' 'export' callconv fspec-> { let (s,n,t,ss) = $4 in ForExp (nIS $1 <++> ann t <** ($1:$2:ss)) $3 s n t }--> | '{-# RULES' rules '#-}' { RulePragmaDecl ($1 <^^> $3 <** [$1,$3]) $ reverse $2 }-> | '{-# DEPRECATED' warndeprs '#-}' { DeprPragmaDecl ($1 <^^> $3 <** ($1:snd $2++[$3])) $ reverse (fst $2) }-> | '{-# WARNING' warndeprs '#-}' { WarnPragmaDecl ($1 <^^> $3 <** ($1:snd $2++[$3])) $ reverse (fst $2) }-> | '{-# ANN' annotation '#-}' { AnnPragma ($1 <^^> $3 <** [$1,$3]) $2 }-> | decl { $1 }--> data_or_newtype :: { DataOrNew L }-> : 'data' { DataType $ nIS $1 }-> | 'newtype' { NewType $ nIS $1 }--> typelist :: { ([Type L],[S]) }-> : types {% do { ts <- mapM checkType (fst $1);-> return $ (reverse ts, reverse (snd $1)) } }-> | truetype { ([$1],[]) }-> | {- empty -} { ([],[]) }--> decls :: { ([Decl L],[S]) }-> : optsemis decls1 optsemis {% checkRevDecls (fst $2) >>= \ds -> return (ds, reverse $1 ++ snd $2 ++ reverse $3) }-> | optsemis { ([],reverse $1) }--> decls1 :: { ([Decl L],[S]) }-> : decls1 semis decl { ($3 : fst $1, snd $1 ++ reverse $2) }-> | decl { ([$1],[]) }--> decl :: { Decl L }-> : signdecl { $1 }-> | fixdecl { $1 }-> | valdef { $1 }--> decllist :: { Binds L }-> : '{' decls '}' { BDecls ($1 <^^> $3 <** ($1:snd $2++[$3])) (fst $2) }-> | open decls close { BDecls ($1 <^^> $3 <** ($1:snd $2++[$3])) (fst $2) }--> signdecl :: { Decl L }-> : exp0b '::' truectype {% do { v <- checkSigVar $1;-> return $ TypeSig ($1 <> $3 <** [$2]) [v] $3 } }-> | exp0b ',' vars '::' truectype {% do { v <- checkSigVar $1;-> let {(vs,ss,_) = $3 ; l = $1 <> $5 <** ($2 : reverse ss ++ [$4]) } ;-> return $ TypeSig l (v : reverse vs) $5 } }-> | specinldecl { $1 }--> specinldecl :: { Decl L }-> : '{-# INLINE' activation qvar '#-}' { let Loc l (INLINE s) = $1 in InlineSig (l <^^> $4 <** [l,$4]) s $2 $3 }-> | '{-# INLINE_CONLIKE' activation qvar '#-}' { InlineConlikeSig ($1 <^^> $4 <** [$1,$4]) $2 $3 }-> | '{-# SPECIALISE' activation qvar '::' sigtypes '#-}' -> { SpecSig ($1 <^^> $6 <** ($1: $4 : snd $5 ++ [$6])) $2 $3 (fst $5) }-> | '{-# SPECIALISE_INLINE' activation qvar '::' sigtypes '#-}'-> { let Loc l (SPECIALISE_INLINE s) = $1-> in SpecInlineSig (l <^^> $6 <** (l:$4:snd $5++[$6])) s $2 $3 (fst $5) }-> | '{-# SPECIALISE' 'instance' ctype '#-}' {% do { (cs,ih) <- checkInstHeader $3;-> let {l = $1 <^^> $4 <** [$1,$2,$4]};-> return $ InstSig l cs ih } }--> sigtypes :: { ([Type L],[S]) }-> : sigtype { ([$1],[]) }-> | sigtype ',' sigtypes { ($1 : fst $3, $2 : snd $3) }--> sigtype :: { Type L }-> : ctype {% checkType $ mkTyForall (ann $1) Nothing Nothing $1 }--Binding can be either of implicit parameters, or it can be a normal sequence-of declarations. The two kinds cannot be mixed within the same block of-binding.--> binds :: { Binds L }-> : decllist { $1 }-> | '{' ipbinds '}' { IPBinds ($1 <^^> $3 <** snd $2) (fst $2) }-> | open ipbinds close { IPBinds ($1 <^^> $3 <** snd $2) (fst $2) }--ATTENTION: Dirty Hackery Ahead! If the second alternative of vars is var-instead of qvar, we get another shift/reduce-conflict. Consider the-following programs:-- { (+) :: ... } only var- { (+) x y = ... } could (incorrectly) be qvar--We re-use expressions for patterns, so a qvar would be allowed in patterns-instead of a var only (which would be correct). But deciding what the + is,-would require more lookahead. So let's check for ourselves...--> vars :: { ([Name L],[S],L) }-> : vars ',' var { let (ns,ss,l) = $1 in ($3 : ns, $2 : ss, l <++> ann $3) }-> | qvar {% do { n <- checkUnQual $1;-> return ([n],[],ann n) } }--------------------------------------------------------------------------------FFI--These will only be called on in the presence of a 'foreign' keyword,-so no need to check for extensions.--> callconv :: { CallConv L }-> : 'stdcall' { StdCall (nIS $1) }-> | 'ccall' { CCall (nIS $1) }-> | 'cplusplus' { CPlusPlus (nIS $1) }-> | 'dotnet' { DotNet (nIS $1) }-> | 'jvm' { Jvm (nIS $1) }-> | 'js' { Js (nIS $1) }-> | 'capi' { CApi (nIS $1) }---> safety :: { Maybe (Safety L) }-> : 'safe' { Just $ PlaySafe (nIS $1) False }-> | 'unsafe' { Just $ PlayRisky (nIS $1) }-> | 'threadsafe' { Just $ PlaySafe (nIS $1) True }-> | 'interruptible' { Just $ PlayInterruptible (nIS $1) }-> | {- empty -} { Nothing }--> fspec :: { (Maybe String, Name L, Type L, [S]) }-> : STRING var_no_safety '::' truedtype { let Loc l (StringTok (s,_)) = $1 in (Just s, $2, $4, [l,$3]) }-> | var_no_safety '::' truedtype { (Nothing, $1, $3, [$2]) }--------------------------------------------------------------------------------Pragmas--> rules :: { [Rule L] }-> : rules ';'rule { $3 : $1 }-> | rules ';' { $1 }-> | rule { [$1] }-> | {- empty -} { [] }--> rule :: { Rule L }-> : STRING activation ruleforall exp0 '=' trueexp {% do { let {Loc l (StringTok (s,_)) = $1};-> e <- checkRuleExpr $4;-> return $ Rule (nIS l <++> ann $6 <** l:snd $3 ++ [$5]) s $2 (fst $3) e $6 } }--> activation :: { Maybe (Activation L) }-> : {- empty -} { Nothing }-> | '[' INT ']' { let Loc l (IntTok (i,_)) = $2 in Just $ ActiveFrom ($1 <^^> $3 <** [$1,l,$3]) (fromInteger i) }-> | '[' '~' INT ']' { let Loc l (IntTok (i,_)) = $3 in Just $ ActiveUntil ($1 <^^> $4 <** [$1,$2,l,$4]) (fromInteger i) }--> ruleforall :: { (Maybe [RuleVar L],[S]) }-> : {- empty -} { (Nothing,[]) }-> | 'forall' rulevars '.' { (Just $2,[$1,$3]) }--> rulevars :: { [RuleVar L] }-> : rulevar { [$1] }-> | rulevar rulevars { $1 : $2 }--> rulevar :: { RuleVar L }-> : varid { RuleVar (ann $1) $1 }-> | '(' varid '::' truectype ')' { TypedRuleVar ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 }--> warndeprs :: { ([([Name L],String)],[S]) }-> : warndeprs ';' warndepr { (fst $3 : fst $1, snd $1 ++ ($2:snd $3)) }-> | warndeprs ';' { (fst $1, snd $1 ++ [$2]) }-> | warndepr { ([fst $1],snd $1) }-> | {- empty -} { ([],[]) }--> warndepr :: { (([Name L], String),[S]) }-> : namevars STRING { let Loc l (StringTok (s,_)) = $2 in ((fst $1,s),snd $1 ++ [l]) }--> namevars :: { ([Name L],[S]) }-> : namevar { ([$1],[]) }-> | namevar ',' namevars { ($1 : fst $3, $2 : snd $3) }--> namevar :: { Name L }-> : con { $1 }-> | var { $1 }--> annotation :: { Annotation L }-> : 'type' conid aexp {% checkExpr $3 >>= \e -> return (TypeAnn (nIS $1 <++> ann e <** [$1]) $2 e) }-> | 'module' aexp {% checkExpr $2 >>= \e -> return (ModuleAnn (nIS $1 <++> ann e <** [$1]) e) }-> | namevar aexp {% checkExpr $2 >>= \e -> return (Ann ($1 <> e) $1 e) }--------------------------------------------------------------------------------Types--Type equality contraints need the TypeFamilies extension.--> truedtype :: { Type L }-> : dtype {% checkType $1 }--> dtype :: { PType L }-> : btype { $1 }-> | btype qtyconop dtype { TyInfix ($1 <> $3) $1 $2 $3 }-> | btype qtyvarop dtype { TyInfix ($1 <> $3) $1 $2 $3 } -- FIXME-> | btype '->' ctype { TyFun ($1 <> $3 <** [$2]) $1 $3 }-> | btype '~' btype {% do { checkEnabled TypeFamilies ;-> let {l = $1 <> $3 <** [$2]};-> return $ TyPred l $ EqualP l $1 $3 } }--Implicit parameters can occur in normal types, as well as in contexts.--> truetype :: { Type L }-> : type {% checkType $1 }--> type :: { PType L }-> : ivar '::' dtype { let l = ($1 <> $3 <** [$2]) in TyPred l $ IParam l $1 $3 }-> | dtype { $1 }--> truebtype :: { Type L }-> : btype {% checkType $1 }--> btype :: { PType L }-> : btype atype { TyApp ($1 <> $2) $1 $2 }-> | atype { $1 }--UnboxedTuples requires the extension, but that will be handled through-the (# and #) lexemes. Kinds will be handled at the kind rule.--> trueatype :: { Type L }-> : atype {% checkType $1 }--> atype :: { PType L }-> : gtycon { TyCon (ann $1) $1 }-> | tyvar { TyVar (ann $1) $1 }-> | '(' types ')' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Boxed (reverse (fst $2)) }-> | '(#' types1 '#)' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Unboxed (reverse (fst $2)) }-> | '[' type ']' { TyList ($1 <^^> $3 <** [$1,$3]) $2 }-> | '(' ctype ')' { TyParen ($1 <^^> $3 <** [$1,$3]) $2 }-> | '(' ctype '::' kind ')' { TyKind ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 }-> | ptype { % checkEnabled DataKinds >> return (TyPromoted (ann $1) $1) }--> ptype :: { Promoted L }-> : VARQUOTE '[' ptypes1 ']' { PromotedList ($1 <^^> $4 <** ($1: reverse($4:snd $3))) True (reverse (fst $3)) }-> | '[' ptypes ']' { PromotedList ($1 <^^> $3 <** ($1: reverse($3:snd $2))) False (reverse (fst $2)) }-> | VARQUOTE '(' ptypes1 ')' { PromotedTuple ($1 <^^> $4 <** ($1: reverse($4:snd $3))) (reverse (fst $3)) }-> | VARQUOTE '(' ')' { PromotedUnit ($1 <^^> $3 ) }-> | VARQUOTE qtyconorcls { PromotedCon ((noInfoSpan $1 <++> ann $2) <** [$1]) True $2 }-> | INT { let Loc l (IntTok (i,raw)) = $1 in PromotedInteger (nIS l) i raw }-> | STRING { let Loc l (StringTok (s,raw)) = $1 in PromotedString (nIS l) s raw }--Leading quotes can be left off of promoted types when they make up another promoted-type...--> ptype1 :: { Promoted L }-> : ptype { $1 }-> | qtyconorcls { PromotedCon (ann $1) False $1 }---> ptypes :: { ([Promoted L],[S]) }-> : ptypes1 ',' ptype1 { ($3 : fst $1, $2 : snd $1) }--> ptypes1 :: { ([Promoted L],[S]) }-> : ptype1 { ([$1],[]) }-> | ptypes1 ',' ptype1 { ($3 : fst $1, $2 : snd $1) }---> gtycon :: { QName L }-> : otycon { $1 }-> | '(' ')' { unit_tycon_name ($1 <^^> $2 <** [$1,$2]) }-> | '(' '->' ')' { fun_tycon_name ($1 <^^> $3 <** [$1,$2,$3]) }-> | '[' ']' { list_tycon_name ($1 <^^> $2 <** [$1,$2]) }-> | '(' commas ')' { tuple_tycon_name ($1 <^^> $3 <** ($1:reverse $2 ++ [$3])) Boxed (length $2) }-> | '(#' '#)' { unboxed_singleton_tycon_name ($1 <^^> $2 <** [$1,$2]) }-> | '(#' commas '#)' { tuple_tycon_name ($1 <^^> $3 <** ($1:reverse $2 ++ [$3])) Unboxed (length $2) }--> otycon :: { QName L }-> : qconid { $1 }-> | '(' gconsym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }-> | '(' qvarsym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--These are for infix types--> qtyconop :: { QName L }-> : qconop { $1 }---(Slightly edited) Comment from GHC's hsparser.y:-"context => type" vs "type" is a problem, because you can't distinguish between-- foo :: (Baz a, Baz a)- bar :: (Baz a, Baz a) => [a] -> [a] -> [a]--with one token of lookahead. The HACK is to parse the context as a btype-(more specifically as a tuple type), then check that it has the right form-C a, or (C1 a, C2 b, ... Cn z) and convert it into a context. Blaach!--Forall-quantified types require some extension to enable them, which-is any of the keyword-enabling ones, except ExistentialQuantification.--> truectype :: { Type L }-> : ctype {% checkType $1 }--> ctype :: { PType L }-> : 'forall' ktyvars '.' ctype { TyForall (nIS $1 <++> ann $4 <** [$1,$3]) (Just (reverse (fst $2))) Nothing $4 }-> | context ctype { TyForall ($1 <> $2) Nothing (Just $1) $2 }-> | type { $1 }--Equality constraints require the TypeFamilies extension.--> context :: { PContext L }-> : btype '=>' {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) $1 }-> | btype '~' btype '=>' {% do { checkEnabled TypeFamilies;-> let {l = $1 <> $3 <** [$2,$4]};-> checkPContext (TyPred l $ EqualP l $1 $3) } }--> types :: { ([PType L],[S]) }-> : types1 ',' ctype { ($3 : fst $1, $2 : snd $1) }--> types1 :: { ([PType L],[S]) }-> : ctype { ([$1],[]) }-> | types1 ',' ctype { ($3 : fst $1, $2 : snd $1) }--> ktyvars :: { ([TyVarBind L],Maybe L) }-> : ktyvars ktyvar { ($2 : fst $1, Just (snd $1 <?+> ann $2)) }-> | {- empty -} { ([],Nothing) }--> ktyvar :: { TyVarBind L }-> : tyvar { UnkindedVar (ann $1) $1 }-> | '(' tyvar '::' kind ')' { KindedVar ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 }--> tyvars :: { ([Name L],Maybe L) }-> : tyvars tyvar { ($2 : fst $1, Just (snd $1 <?+> ann $2)) }-> | {- empty -} { ([], Nothing) }--> tyvars1 :: { ([Name L],L) }-> : tyvars tyvar { ($2 : fst $1, snd $1 <?+> ann $2) }---------------------------------------------------------------------------------Functional Dependencies--These require the FunctionalDependencies extension to be enabled.--> fds :: { ([FunDep L],[S],Maybe L) }-> : {- empty -} { ([],[], Nothing) }-> | '|' fds1 {% do { checkEnabled FunctionalDependencies ;-> let {(fds,ss,l) = $2} ;-> return (reverse fds, $1 : reverse ss, Just (nIS $1 <++> l)) } }--> fds1 :: { ([FunDep L],[S],L) }-> : fds1 ',' fd { let (fds,ss,l) = $1 in ($3 : fds, $2 : ss, l <++> ann $3) }-> | fd { ([$1],[],ann $1) }--> fd :: { FunDep L }-> : tyvars '->' tyvars1 { FunDep (snd $1 <?+> nIS $2 <++> snd $3 <** [$2]) (reverse (fst $1)) (reverse (fst $3)) }--------------------------------------------------------------------------------Datatype declarations--GADTs - require the GADTs extension enabled, but we handle that at the calling site.-- gadtlist :: { ([GadtDecl L],[S],L) }- : gadtlist1 {% >> return $1 }--> gadtlist :: { ([GadtDecl L],[S],Maybe L) }-> : 'where' '{' gadtconstrs1 '}' {% return (fst $3, $1 : $2 : snd $3 ++ [$4], Just $ $1 <^^> $4) }-> | 'where' open gadtconstrs1 close {% return (fst $3, $1 : $2 : snd $3 ++ [$4], Just $ $1 <^^> $4) }-> | {- empty -} {% checkEnabled EmptyDataDecls >> return ([],[],Nothing) }--> gadtconstrs1 :: { ([GadtDecl L],[S]) }-> : optsemis gadtconstrs optsemis { (fst $2, reverse $1 ++ snd $2 ++ reverse $3) }--> gadtconstrs :: { ([GadtDecl L],[S]) }-> : gadtconstrs semis gadtconstr { ($3 : fst $1, snd $1 ++ reverse $2) }-> | gadtconstr { ([$1],[]) }--> gadtconstr :: { GadtDecl L }-> : qcon '::' truectype {% do { c <- checkUnQual $1;-> return $ GadtDecl ($1 <> $3 <** [$2]) c $3 } }--To allow the empty case we need the EmptyDataDecls extension.-> constrs0 :: { ([QualConDecl L],[S],Maybe L) }- : {- empty -} {% checkEnabled EmptyDataDecls >> return ([],[],Nothing) }-> : '=' constrs { let (ds,ss,l) = $2 in (ds, $1 : reverse ss, Just $ nIS $1 <++> l) }--> constrs :: { ([QualConDecl L],[S],L) }-> : constrs '|' constr { let (ds,ss,l) = $1 in ($3 : ds, $2 : ss, l <++> ann $3) }-> | constr { ([$1],[],ann $1) }--> constr :: { QualConDecl L }-> : forall context constr1 {% do { checkEnabled ExistentialQuantification ;-> ctxt <- checkContext (Just $2) ;-> let {(mtvs,ss,ml) = $1} ;-> return $ QualConDecl (ml <?+> ann $3 <** ss) mtvs ctxt $3 } }-> | forall constr1 { let (mtvs, ss, ml) = $1 in QualConDecl (ml <?+> ann $2 <** ss) mtvs Nothing $2 }--> forall :: { (Maybe [TyVarBind L], [S], Maybe L) }-> : 'forall' ktyvars '.' {% checkEnabled ExistentialQuantification >> return (Just (fst $2), [$1,$3], Just $ $1 <^^> $3) }-> | {- empty -} { (Nothing, [], Nothing) }--To avoid conflicts when introducing type operators, we need to parse record constructors-as qcon and then check separately that they are truly unqualified.--> constr1 :: { ConDecl L }-> : scontype { let (n,ts,l) = $1 in ConDecl l n ts }-> | sbtype conop sbtype { InfixConDecl ($1 <> $3) $1 $2 $3 }-> | qcon '{' '}' {% do { c <- checkUnQual $1; return $ RecDecl (ann $1 <++> nIS $3 <** [$2,$3]) c [] } }-> | qcon '{' fielddecls '}' {% do { c <- checkUnQual $1;-> return $ RecDecl (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) c (reverse (fst $3)) } }--> scontype :: { (Name L, [BangType L], L) }-> : btype {% do { (c,ts) <- splitTyConApp $1;-> return (c,map (\t -> UnBangedTy (ann t) t) ts,ann $1) } }-> | scontype1 { $1 }--> scontype1 :: { (Name L, [BangType L],L) }-> : btype '!' trueatype {% do { (c,ts) <- splitTyConApp $1;-> return (c,map (\t -> UnBangedTy (ann t) t) ts++-> [BangedTy (nIS $2 <++> ann $3 <** [$2]) $3], $1 <> $3) } }-> | btype '{-# UNPACK' '#-}' '!' trueatype {% do { (c,ts) <- splitTyConApp $1;-> return (c,map (\t -> UnBangedTy (ann t) t) ts++-> [UnpackedTy (nIS $2 <++> ann $5 <** [$2,$3,$4]) $5], $1 <> $5) } }-> | scontype1 satype { let (n,ts,l) = $1 in (n, ts ++ [$2],l <++> ann $2) }--> satype :: { BangType L }-> : trueatype { UnBangedTy (ann $1) $1 }-> | '!' trueatype { BangedTy (nIS $1 <++> ann $2 <** [$1]) $2 }-> | '{-# UNPACK' '#-}' '!' trueatype { UnpackedTy (nIS $1 <++> ann $4 <** [$1,$2,$3]) $4 }--> sbtype :: { BangType L }-> : truebtype { UnBangedTy (ann $1) $1 }-> | '!' trueatype { BangedTy (nIS $1 <++> ann $2 <** [$1]) $2 }-> | '{-# UNPACK' '#-}' '!' trueatype { UnpackedTy (nIS $1 <++> ann $4 <** [$1,$2,$3]) $4 }--> fielddecls :: { ([FieldDecl L],[S]) }-> : fielddecls ',' fielddecl { ($3 : fst $1, $2 : snd $1) }-> | fielddecl { ([$1],[]) }--> fielddecl :: { FieldDecl L }-> : vars '::' stype { let (ns,ss,l) = $1 in FieldDecl (l <++> ann $3 <** (reverse ss ++ [$2])) (reverse ns) $3 }--> stype :: { BangType L }-> : truectype { UnBangedTy (ann $1) $1 }-> | '!' trueatype { BangedTy (nIS $1 <++> ann $2 <** [$1]) $2 }-> | '{-# UNPACK' '#-}' '!' trueatype { UnpackedTy (nIS $1 <++> ann $4 <** [$1,$2,$3]) $4 }--> deriving :: { Maybe (Deriving L) }-> : {- empty -} { Nothing }-> | 'deriving' qtycls1 { let l = nIS $1 <++> ann $2 <** [$1] in Just $ Deriving l [IHead (ann $2) $2 []] }-> | 'deriving' '(' ')' { Just $ Deriving ($1 <^^> $3 <** [$1,$2,$3]) [] }-> | 'deriving' '(' dclasses ')' { Just $ Deriving ($1 <^^> $4 <** $1:$2: reverse (snd $3) ++ [$4]) (reverse (fst $3)) }--> dclasses :: { ([InstHead L],[S]) }-> : types1 {% checkDeriving (fst $1) >>= \ds -> return (ds, snd $1) }--> qtycls1 :: { QName L }-> : qconid { $1 }---------------------------------------------------------------------------------Kinds--> kind :: { Kind L }-> : kind1 {% checkEnabled KindSignatures >> return $1 }--> kind1 :: { Kind L }-> : akind { $1 }-> | akind kind1 { KindApp ($1 <> $2) $1 $2 }-> | akind '->' kind1 { KindFn ($1 <> $3 <** [$2]) $1 $3 }--> akind :: { Kind L }-> : '*' { KindStar (nIS $1) }-> | '!' { KindBang (nIS $1) }-> | '(' kind1 ')' { KindParen ($1 <^^> $3 <** [$1,$3]) $2 }-> | pkind {% checkEnabled DataKinds >> return $1 }-> | qvarid {% checkEnabled PolyKinds >> return (KindVar (ann $1) $1) }--KindParen covers 1-tuples, KindVar l while KindTuple is for pairs--> pkind :: { Kind L }-> : qtyconorcls { KindVar (ann $1) $1 }-> | '(' ')' { let l = $1 <^^> $2 in KindVar l (unit_tycon_name l) }-> | '(' kinds ')' { KindTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) (reverse (fst $2)) }-> | '[' kinds1 ']' { KindList ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) (reverse (fst $2)) }---repeat of what is done for types--> kinds :: { ([Kind L],[S]) }-> : kinds1 ',' akind { ($3 : fst $1, $2 : snd $1) }--> kinds1 :: { ([Kind L],[S]) }-> : akind { ([$1],[]) }-> | kinds1 ',' akind { ($3 : fst $1, $2 : snd $1) }---> optkind :: { (Maybe (Kind L), [S]) }-> : {-empty-} { (Nothing,[]) }-> | '::' kind { (Just $2,[$1]) }-------------------------------------------------------------------------------Class declarations--TODO: Lots of stuff to pass around here.--No implicit parameters in the where clause of a class declaration.-> optcbody :: { (Maybe [ClassDecl L],[S],Maybe L) }-> : 'where' '{' cldecls '}' {% checkClassBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4)) }-> | 'where' open cldecls close {% checkClassBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4)) }-> | {- empty -} { (Nothing,[],Nothing) }--> cldecls :: { ([ClassDecl L],[S]) }-> : optsemis cldecls1 optsemis {% checkRevClsDecls (fst $2) >>= \cs -> return (cs, reverse $1 ++ snd $2 ++ reverse $3) }-> | optsemis { ([],reverse $1) }--> cldecls1 :: { ([ClassDecl L],[S]) }-> : cldecls1 semis cldecl { ($3 : fst $1, snd $1 ++ reverse $2) }-> | cldecl { ([$1],[]) }--Associated types require the TypeFamilies extension.--> cldecl :: { ClassDecl L }-> : decl { ClsDecl (ann $1) $1 }-> | atdecl {% checkEnabled TypeFamilies >> return $1 }--> atdecl :: { ClassDecl L }-> : 'type' type optkind-> {% do { dh <- checkSimpleType $2;-> return (ClsTyFam (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) dh (fst $3)) } }-> | 'type' truedtype '=' truectype-> { ClsTyDef (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }-> | 'data' ctype optkind-> {% do { (cs,dh) <- checkDataHeader $2;-> return (ClsDataFam (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) cs dh (fst $3)) } }--------------------------------------------------------------------------------Instance declarations--> optvaldefs :: { (Maybe [InstDecl L],[S],Maybe L) }-> : 'where' '{' valdefs '}' {% checkInstBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4)) }-> | 'where' open valdefs close {% checkInstBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4)) }-> | {- empty -} { (Nothing, [], Nothing) }--> valdefs :: { ([InstDecl L],[S]) }-> : optsemis valdefs1 optsemis {% checkRevInstDecls (fst $2) >>= \is -> return (is, reverse $1 ++ snd $2 ++ reverse $3) }-> | optsemis { ([],reverse $1) }--> valdefs1 :: { ([InstDecl L],[S]) }-> : valdefs1 semis insvaldef { ($3 : fst $1, snd $1 ++ reverse $2) }-> | insvaldef { ([$1],[]) }--Associated types require the TypeFamilies extension enabled.--> insvaldef :: { InstDecl L }-> : valdef { InsDecl (ann $1) $1 }-> | atinst {% checkEnabled TypeFamilies >> return $1 }-> | specinldecl { InsDecl (ann $1) $1 }-- inlinst :: { InstDecl L }- : '{-# INLINE' activation qvar '#-}' { let Loc l (INLINE s) = $1 in InsInline (l <^^> $4 <** [l,$4]) s $2 $3 }--> atinst :: { InstDecl L }-> : 'type' truedtype '=' truectype-> {% do { -- no checkSimpleType $4 since dtype may contain type patterns-> return (InsType (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4) } }-> | data_or_newtype truectype constrs0 deriving-> {% do { -- (cs,c,t) <- checkDataHeader $4;-> let {(ds,ss,minf) = $3};-> checkDataOrNew $1 ds;-> return (InsData ($1 <> $2 <+?> minf <+?> fmap ann $4 <** ss ) $1 $2 (reverse ds) $4) } }-> | data_or_newtype truectype optkind gadtlist deriving-> {% do { -- (cs,c,t) <- checkDataHeader $4;-> let { (gs,ss,minf) = $4 } ;-> checkDataOrNewG $1 gs;-> return $ InsGData (ann $1 <+?> minf <+?> fmap ann $5 <** (snd $3 ++ ss)) $1 $2 (fst $3) (reverse gs) $5 } }--------------------------------------------------------------------------------Value definitions--> valdef :: { Decl L }-> : exp0b optsig rhs optwhere {% checkValDef (($1 <> $3 <+?> (fmap ann) (fst $4)) <** (snd $2 ++ snd $4)) $1 (fst $2) $3 (fst $4) }-> | '!' aexp rhs optwhere {% do { checkEnabled BangPatterns ;-> let { l = nIS $1 <++> ann $2 <** [$1] };-> p <- checkPattern (BangPat l $2);-> return $ PatBind (p <> $3 <+?> (fmap ann) (fst $4) <** snd $4)-> p Nothing $3 (fst $4) } }--May bind implicit parameters-> optwhere :: { (Maybe (Binds L),[S]) }-> : 'where' binds { (Just $2, [$1]) }-> | {- empty -} { (Nothing, []) }--Type signatures on value definitions require ScopedTypeVariables (or PatternSignatures, which is deprecated).--> optsig :: { (Maybe (Type L),[S]) }-> : '::' truectype {% checkEnabled ScopedTypeVariables >> return (Just $2, [$1]) }-> | {- empty -} { (Nothing,[]) }--> rhs :: { Rhs L }-> : '=' trueexp { UnGuardedRhs (nIS $1 <++> ann $2 <** [$1]) $2 }-> | gdrhs { GuardedRhss (snd $1) (reverse $ fst $1) }--> gdrhs :: { ([GuardedRhs L],L) }-> : gdrhs gdrh { ($2 : fst $1, snd $1 <++> ann $2) }-> | gdrh { ([$1],ann $1) }--Guards may contain patterns if PatternGuards is enabled, hence quals instead of exp.-> gdrh :: { GuardedRhs L }-> : '|' quals '=' trueexp {% do { checkPatternGuards (fst $2);-> return $ GuardedRhs (nIS $1 <++> ann $4 <** ($1:snd $2 ++ [$3])) (reverse (fst $2)) $4 } }--------------------------------------------------------------------------------Expressions--Note: The Report specifies a meta-rule for lambda, let and if expressions-(the exp's that end with a subordinate exp): they extend as far to-the right as possible. That means they cannot be followed by a type-signature or infix application. To implement this without shift/reduce-conflicts, we split exp10 into these expressions (exp10a) and the others-(exp10b). That also means that only an exp0 ending in an exp10b (an exp0b)-can followed by a type signature or infix application. So we duplicate-the exp0 productions to distinguish these from the others (exp0a).--Ugly: We need non-parenthesized post-operators for HaRP, and to parse both-these and normal left sections, we parse both as PostOp and let the post pass-mangle them into the correct form depending on context.--> trueexp :: { Exp L }-> : exp {% checkExpr $1 }--> exp :: { PExp L }-> : exp0b '::' truectype { ExpTypeSig ($1 <> $3 <** [$2]) $1 $3 }-> | exp0 { $1 }-> | exp0b qop { PostOp ($1 <> $2) $1 $2 }-> | exp0b '-<' exp { LeftArrApp ($1 <> $3 <** [$2]) $1 $3 }-> | exp0b '>-' exp { RightArrApp ($1 <> $3 <** [$2]) $1 $3 }-> | exp0b '-<<' exp { LeftArrHighApp ($1 <> $3 <** [$2]) $1 $3 }-> | exp0b '>>-' exp { RightArrHighApp ($1 <> $3 <** [$2]) $1 $3 }--> exp0 :: { PExp L }-> : exp0a { $1 }-> | exp0b { $1 }--> exp0a :: { PExp L }-> : exp0b qop exp10a { InfixApp ($1 <> $3) $1 $2 $3 }-> | exp10a { $1 }--> exp0b :: { PExp L }-> : exp0b qop exp10b { InfixApp ($1 <> $3) $1 $2 $3 }-> | exp10b { $1 }--> exp10a :: { PExp L }-> : '\\' apats '->' exp { Lambda (nIS $1 <++> ann $4 <** [$1,$3]) (reverse $2) $4 }-A let may bind implicit parameters-> | 'let' binds 'in' exp { Let (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }-> | 'if' exp optlayoutsemi 'then' exp optlayoutsemi 'else' exp-> { If (nIS $1 <++> ann $8 <** ($1:$3 ++ $4:$6 ++ [$7])) $2 $5 $8 }-> | 'if' ifaltslist {% checkEnabled MultiWayIf >>-> let (alts, inf, ss) = $2-> in return (MultiIf (nIS $1 <++> inf <** ($1:ss)) alts) }-> | 'proc' apat '->' exp { Proc (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }-> | exppragma { $1 }--> optlayoutsemi :: { [S] }-> : ';' {% checkEnabled DoAndIfThenElse >> return [$1] }-> | {- empty -} { [] }--We won't come here unless XmlSyntax is already checked.-> opthsxsemi :: { [S] }-> : ';' { [$1] }-> | {- empty -} { [] }---mdo blocks require the RecursiveDo extension enabled, but the lexer handles that.--> exp10b :: { PExp L }-> : 'case' exp 'of' altslist { let (als, inf, ss) = $4 in Case (nIS $1 <++> inf <** ($1:$3:ss)) $2 als }-> | '\\' 'case' altslist {% do { checkEnabled LambdaCase ;-> let { (als, inf, ss) = $3 } ;-> return (LCase (nIS $1 <++> inf <** ($1:$2:ss)) als) } }-> | '-' fexp { NegApp (nIS $1 <++> ann $2 <** [$1]) $2 }-> | 'do' stmtlist { let (sts, inf, ss) = $2 in Do (nIS $1 <++> inf <** $1:ss) sts }-> | 'mdo' stmtlist { let (sts, inf, ss) = $2 in MDo (nIS $1 <++> inf <** $1:ss) sts }-> | fexp { $1 }--> exppragma :: { PExp L }-> : '{-# CORE' STRING '#-}' exp { let Loc l (StringTok (s,_)) = $2 in CorePragma (nIS $1 <++> ann $4 <** [l,$3]) s $4 }-> | '{-# SCC' STRING '#-}' exp { let Loc l (StringTok (s,_)) = $2 in SCCPragma (nIS $1 <++> ann $4 <** [l,$3]) s $4 }-> | '{-# GENERATED' STRING INT ':' INT '-' INT ':' INT '#-}' exp-> { let { Loc l0 (StringTok (s,_)) = $2;-> Loc l1 (IntTok (i1,_)) = $3;-> Loc l2 (IntTok (i2,_)) = $5;-> Loc l3 (IntTok (i3,_)) = $7;-> Loc l4 (IntTok (i4,_)) = $9}-> in GenPragma (nIS $1 <++> ann $11 <** [$1,l0,l1,$4,l2,$6,l3,$8,l4,$10])-> s (fromInteger i1, fromInteger i2)-> (fromInteger i3, fromInteger i4) $11 }--> fexp :: { PExp L }-> : fexp aexp { App ($1 <> $2) $1 $2 }-> | aexp { $1 }--> apats :: { [Pat L] }-> : apats apat { $2 : $1 }-> | apat { [$1] }--> apat :: { Pat L }-> : aexp {% checkPattern $1 }-> | '!' aexp {% checkPattern (BangPat (nIS $1 <++> ann $2 <** [$1]) $2) }--UGLY: Because patterns and expressions are mixed, aexp has to be split into-two rules: One right-recursive and one left-recursive. Otherwise we get two-reduce/reduce-errors (for as-patterns and irrefutable patters).--Even though the variable in an as-pattern cannot be qualified, we use-qvar here to avoid a shift/reduce conflict, and then check it ourselves-(as for vars above).--Non-linear name binding, @:, requires RegularPatterns, but the lexer handles that.--> aexp :: { PExp L }-> : qvar '@' aexp {% do { n <- checkUnQual $1;-> return (AsPat ($1 <> $3 <** [$2]) n $3) } }-> | qvar '@:' aexp {% do { n <- checkUnQual $1;-> return (CAsRP ($1 <> $3 <** [$2]) n $3) } }-> | '~' aexp { IrrPat (nIS $1 <++> ann $2 <** [$1]) $2 }-> | aexp1 { $1 }--Note: The first two alternatives of aexp1 are not necessarily record-updates: they could be labeled constructions.--> aexp1 :: { PExp L }-> : aexp1 '{' '}' {% liftM (amap (const (ann $1 <++> nIS $3 <** [$2,$3]))) $ mkRecConstrOrUpdate $1 [] }-> | aexp1 '{' fbinds '}' {% liftM (amap (const (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4]))))-> $ mkRecConstrOrUpdate $1 (reverse (fst $3)) }-> | aexp2 { $1 }--According to the Report, the left section (e op) is legal iff (e op x)-parses equivalently to ((e) op x). Thus e must be an exp0b.-An implicit parameter can be used as an expression, enabled by the lexer.-Extensions using banana brackets are also enabled by the lexer. The only-thing we need to look at here is the erpats that use no non-standard lexemes.--> aexp2 :: { PExp L }-> : ivar { IPVar (ann $1) $1 }-> | qvar { Var (ann $1) $1 }-> | gcon { $1 }-> | literal { Lit (ann $1) $1 }-> | '(' texp ')' { Paren ($1 <^^> $3 <** [$1,$3]) $2 }-> | '(' texp tsectend { TupleSection ($1 <^^> head (snd $3) <** $1:reverse (snd $3)) Boxed (Just $2 : fst $3) }-> | '(' commas texp ')' { TupleSection ($1 <^^> $4 <** $1:reverse ($4:$2)) Boxed-> (replicate (length $2) Nothing ++ [Just $3]) }-> | '(' commas texp tsectend { TupleSection ($1 <^^> head (snd $4) <** $1:reverse (snd $4 ++ $2)) Boxed-> (replicate (length $2) Nothing ++ Just $3 : fst $4) }-> | '(#' texp thashsectend { TupleSection ($1 <^^> head (snd $3) <** $1:reverse (snd $3)) Unboxed (Just $2 : fst $3) }-> | '(#' texp '#)' { TupleSection ($1 <^^> $3 <** [$1,$3]) Unboxed [Just $2] }-> | '(#' commas texp '#)' { TupleSection ($1 <^^> $4 <** $1:reverse ($4:$2)) Unboxed-> (replicate (length $2) Nothing ++ [Just $3]) }-> | '(#' commas texp thashsectend { TupleSection ($1 <^^> head (snd $4) <** $1:reverse (snd $4 ++ $2)) Unboxed-> (replicate (length $2) Nothing ++ Just $3 : fst $4) }-> | '[' list ']' { amap (\l -> l <** [$3]) $ $2 ($1 <^^> $3 <** [$1]) }-> | '_' { WildCard (nIS $1) }-> | '(' erpats ')' {% checkEnabled RegularPatterns >> return (Paren ($1 <^^> $3 <** [$1,$3]) $2) }-> | '(|' sexps '|)' { SeqRP ($1 <^^> $3 <** ($1:reverse (snd $2) ++ [$3])) $ reverse (fst $2) }-> | '(|' exp '|' quals '|)' { GuardRP ($1 <^^> $5 <** ($1:$3 : snd $4 ++ [$5])) $2 $ (reverse $ fst $4) }-> | xml { $1 }--Template Haskell - all this is enabled in the lexer.-> | IDSPLICE { let Loc l (THIdEscape s) = $1 in SpliceExp (nIS l) $ IdSplice (nIS l) s }-> | '$(' trueexp ')' { SpliceExp ($1 <^^> $3 <** [$1,$3]) $ ParenSplice (ann $2) $2 }-> | '[|' trueexp '|]' { BracketExp ($1 <^^> $3 <** [$1,$3]) $ ExpBracket (ann $2) $2 }-> | '[p|' exp0 '|]' {% do { p <- checkPattern $2;-> return $ BracketExp ($1 <^^> $3 <** [$1,$3]) $ PatBracket (ann p) p } }-> | '[t|' truectype '|]' { let l = $1 <^^> $3 <** [$1,$3] in BracketExp l $ TypeBracket l $2 }-> | '[d|' open topdecls close '|]' { let l = $1 <^^> $5 <** ($1:snd $3 ++ [$5]) in BracketExp l $ DeclBracket l (fst $3) }-> | VARQUOTE qvar { VarQuote (nIS $1 <++> ann $2 <** [$1]) $2 }-> | VARQUOTE qcon { VarQuote (nIS $1 <++> ann $2 <** [$1]) $2 }-> | TYPQUOTE tyvar { TypQuote (nIS $1 <++> ann $2 <** [$1]) (UnQual (ann $2) $2) }-> | TYPQUOTE gtycon { TypQuote (nIS $1 <++> ann $2 <** [$1]) $2 }-> | QUASIQUOTE { let Loc l (THQuasiQuote (n,q)) = $1 in QuasiQuote (nIS l) n q }-End Template Haskell--> commas :: { [S] }-> : commas ',' { $2 : $1 }-> | ',' { [$1] }--> texp :: { PExp L }-> : exp { $1 }-> | qopm exp0 { PreOp ($1 <> $2) $1 $2 }-> | exp '->' exp {% do {checkEnabled ViewPatterns;-> return $ ViewPat ($1 <> $3 <** [$2]) $1 $3} }--> tsectend :: { ([Maybe (PExp L)],[S]) }-> : commas texp tsectend { let (mes, ss) = $3 in (replicate (length $1 - 1) Nothing ++ Just $2 : mes, ss ++ $1) }-> | commas texp ')' { (replicate (length $1 - 1) Nothing ++ [Just $2], $3 : $1) }-> | commas ')' { (replicate (length $1) Nothing, $2 : $1) }--> thashsectend :: { ([Maybe (PExp L)],[S]) }-> : commas texp thashsectend { let (mes, ss) = $3 in (replicate (length $1 - 1) Nothing ++ Just $2 : mes, ss ++ $1) }-> | commas texp '#)' { (replicate (length $1 - 1) Nothing ++ [Just $2], $3 : $1) }-> | commas '#)' { (replicate (length $1) Nothing, $2 : $1) }--------------------------------------------------------------------------------Harp Extensions--> sexps :: { ([PExp L],[S]) }-> : sexps ',' exp { ($3 : fst $1, $2 : snd $1) }-> | exp { ([$1],[]) }--Either patterns are left associative-> erpats :: { PExp L }-> : exp '|' erpats { EitherRP ($1 <> $3 <** [$2]) $1 $3 }-> | exp '|' exp { EitherRP ($1 <> $3 <** [$2]) $1 $3 }--------------------------------------------------------------------------------Hsx Extensions - requires XmlSyntax, but the lexer handles all that.--> xml :: { PExp L }-> : '<' name attrs mattr '>' children opthsxsemi '</' name '>' -> {% do { n <- checkEqNames $2 $9;-> let { cn = reverse $6;-> as = reverse $3;-> l = $1 <^^> $10 <** [$1,$5] ++ $7 ++ [$8,srcInfoSpan (ann $9),$10] };-> return $ XTag l n as $4 cn } }-> | '<' name attrs mattr '/>' { XETag ($1 <^^> $5 <** [$1,$5]) $2 (reverse $3) $4 }-> | '<%' exp '%>' { XExpTag ($1 <^^> $3 <** [$1,$3]) $2 }-> | '<%>' children opthsxsemi '</' '%>' { XChildTag ($1 <^^> $5 <** ($1:$3++[$4,$5])) (reverse $2) }--> children :: { [PExp L] }-> : children child { $2 : $1 }-> | {- empty -} { [] }--> child :: { PExp L }-> : PCDATA { let Loc l (XPCDATA pcd) = $1 in XPcdata (nIS l) pcd }-> | '<[' sexps ']>' { XRPats ($1 <^^> $3 <** (snd $2 ++ [$1,$3])) $ reverse (fst $2) }-> | xml { $1 }--> name :: { XName L }-> : xmlname ':' xmlname { let {Loc l1 s1 = $1; Loc l2 s2 = $3}-> in XDomName (nIS l1 <++> nIS l2 <** [l1,$2,l2]) s1 s2 }-> | xmlname { let Loc l str = $1 in XName (nIS l) str }--> xmlname :: { Loc String }-> : VARID { let Loc l (VarId s) = $1 in Loc l s }-> | CONID { let Loc l (ConId s) = $1 in Loc l s }-> | DVARID { let Loc l (DVarId s) = $1 in Loc l $ mkDVar s }-> | xmlkeyword { $1 }--> xmlkeyword :: { Loc String }-> : 'type' { Loc $1 "type" }-> | 'class' { Loc $1 "class" }-> | 'data' { Loc $1 "data" }-> | 'foreign' { Loc $1 "foreign" }-> | 'export' { Loc $1 "export" }-> | 'safe' { Loc $1 "safe" }-> | 'unsafe' { Loc $1 "unsafe" }-> | 'threadsafe' { Loc $1 "threadsafe" }-> | 'stdcall' { Loc $1 "stdcall" }-> | 'ccall' { Loc $1 "ccall" }-> | 'cplusplus' { Loc $1 "cplusplus" }-> | 'dotnet' { Loc $1 "dotnet" }-> | 'jvm' { Loc $1 "jvm" }-> | 'js' { Loc $1 "js" }-> | 'as' { Loc $1 "as" }-> | 'by' { Loc $1 "by" }-> | 'case' { Loc $1 "case" }-> | 'default' { Loc $1 "default" }-> | 'deriving' { Loc $1 "deriving" }-> | 'do' { Loc $1 "do" }-> | 'else' { Loc $1 "else" }-> | 'family' { Loc $1 "family" }-> | 'forall' { Loc $1 "forall" }-> | 'group' { Loc $1 "group" }-> | 'hiding' { Loc $1 "hiding" }-> | 'if' { Loc $1 "if" }-> | 'import' { Loc $1 "import" }-> | 'in' { Loc $1 "in" }-> | 'infix' { Loc $1 "infix" }-> | 'infixl' { Loc $1 "infixl" }-> | 'infixr' { Loc $1 "infixr" }-> | 'instance' { Loc $1 "instance" }-> | 'let' { Loc $1 "let" }-> | 'mdo' { Loc $1 "mdo" }-> | 'module' { Loc $1 "module" }-> | 'newtype' { Loc $1 "newtype" }-> | 'of' { Loc $1 "of" }-> | 'proc' { Loc $1 "proc" }-> | 'rec' { Loc $1 "rec" }-> | 'then' { Loc $1 "then" }-> | 'using' { Loc $1 "using" }-> | 'where' { Loc $1 "where" }-> | 'qualified' { Loc $1 "qualified" }---> attrs :: { [ParseXAttr L] }-> : attrs attr { $2 : $1 }-> | {- empty -} { [] }--> attr :: { ParseXAttr L }-> : name '=' aexp { XAttr ($1 <> $3 <** [$2]) $1 $3 }--> mattr :: { Maybe (PExp L) }--> : aexp { Just $1 }-> | {-empty-} { Nothing }--------------------------------------------------------------------------------List expressions--The rules below are little bit contorted to keep lexps left-recursive while-avoiding another shift/reduce-conflict.--> list :: { L -> PExp L }-> : texp { \l -> List l [$1] }-> | lexps { \l -> let (ps,ss) = $1 in List (l <** reverse ss) (reverse ps) }-> | texp '..' { \l -> EnumFrom (l <** [$2]) $1 }-> | texp ',' exp '..' { \l -> EnumFromThen (l <** [$2,$4]) $1 $3 }-> | texp '..' exp { \l -> EnumFromTo (l <** [$2]) $1 $3 }-> | texp ',' exp '..' exp { \l -> EnumFromThenTo (l <** [$2,$4]) $1 $3 $5 }-> | texp '|' pqualstmts { \l -> let (stss, ss) = $3 in ParComp (l <** ($2:ss)) $1 (reverse stss) }--> lexps :: { ([PExp L],[S]) }-> : lexps ',' texp { let (es, ss) = $1 in ($3 : es, $2 : ss) }-> | texp ',' texp { ([$3,$1], [$2]) }--------------------------------------------------------------------------------List comprehensions--> pqualstmts :: { ([[QualStmt L]],[S]) }-> : pqualstmts '|' qualstmts { let { (stss, ss1) = $1;-> (sts, ss2) = $3 }-> in (reverse sts : stss, ss1 ++ [$2] ++ reverse ss2) }-> | qualstmts { let (sts, ss) = $1 in ([reverse sts], reverse ss) }--> qualstmts :: { ([QualStmt L],[S]) }-> : qualstmts ',' qualstmt { let (sts, ss) = $1 in ($3 : sts, $2 : ss) }-> | qualstmt { ([$1],[]) }--> qualstmt :: { QualStmt L }-> : transformqual { $1 }-> | qual { QualStmt (ann $1) $1 }--> transformqual :: { QualStmt L }-> : 'then' trueexp { ThenTrans (nIS $1 <++> ann $2 <** [$1]) $2 }-> | 'then' trueexp 'by' trueexp { ThenBy (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }-> | 'then' 'group' 'by' trueexp { GroupBy (nIS $1 <++> ann $4 <** [$1,$2,$3]) $4 }-> | 'then' 'group' 'using' trueexp { GroupUsing (nIS $1 <++> ann $4 <** [$1,$2,$3]) $4 }-> | 'then' 'group' 'by' trueexp 'using' trueexp { GroupByUsing (nIS $1 <++> ann $6 <** [$1,$2,$3,$5]) $4 $6 }--> quals :: { ([Stmt L],[S]) }-> : quals ',' qual { let (sts, ss) = $1 in ($3 : sts, $2 : ss) }-> | qual { ([$1],[]) }--> qual :: { Stmt L }-> : pat '<-' trueexp { Generator ($1 <> $3 <** [$2]) $1 $3 }-> | trueexp { Qualifier (ann $1) $1 }-> | 'let' binds { LetStmt (nIS $1 <++> ann $2 <** [$1]) $2 }---------------------------------------------------------------------------------Case alternatives--> altslist :: { ([Alt L],L,[S]) }-> : '{' alts '}' { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }-> | open alts close { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }--> alts :: { ([Alt L],[S]) }-> : optsemis alts1 optsemis { (reverse $ fst $2, $1 ++ snd $2 ++ $3) }--> alts1 :: { ([Alt L],[S]) }-> : alts1 semis alt { ($3 : fst $1, snd $1 ++ $2) }-> | alt { ([$1],[]) }--> alt :: { Alt L }-> : pat ralt optwhere { Alt ($1 <> $2 <+?> (fmap ann) (fst $3) <** snd $3) $1 $2 (fst $3) }--> ralt :: { GuardedAlts L }-> : '->' trueexp { UnGuardedAlt (nIS $1 <++> ann $2 <** [$1]) $2 }-> | gdpats { GuardedAlts (snd $1) (reverse $ fst $1) }--> gdpats :: { ([GuardedAlt L],L) }-> : gdpats gdpat { ($2 : fst $1, snd $1 <++> ann $2) }-> | gdpat { ([$1], ann $1) }- -A guard can be a pattern guard if PatternGuards is enabled, hence quals instead of exp0.-> gdpat :: { GuardedAlt L }-> : '|' quals '->' trueexp {% do { checkPatternGuards (fst $2);-> let {l = nIS $1 <++> ann $4 <** ($1:snd $2 ++ [$3])};-> return (GuardedAlt l (reverse (fst $2)) $4) } }--> pat :: { Pat L }-> : exp {% checkPattern $1 }-> | '!' aexp {% checkPattern (BangPat (nIS $1 <++> ann $2 <** [$1]) $2) }--> ifaltslist :: { ([IfAlt L], L, [S]) }-> : '{' ifalts '}' { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }-> | open ifalts close { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }--> ifalts :: { ([IfAlt L], [S]) }-> : optsemis ifalts1 optsemis { (reverse $ fst $2, $1 ++ snd $2 ++ $3) }--> ifalts1 :: { ([IfAlt L], [S]) }-> : ifalts1 optsemis ifalt { ($3 : fst $1, snd $1 ++ $2) }-> | ifalt { ([$1], []) }--> ifalt :: { IfAlt L }-> : '|' trueexp '->' trueexp { let l = nIS $1 <++> ann $2 <++> ann $4 <** [$1,$3] in (IfAlt l $2 $4) }--------------------------------------------------------------------------------Statement sequences--As per the Report, but with stmt expanded to simplify building the list-without introducing conflicts. This also ensures that the last stmt is-an expression.--TODO: The points can't be added here, must be propagated!--> stmtlist :: { ([Stmt L],L,[S]) }-> : '{' stmts '}' { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }-> | open stmts close { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }--> stmts :: { ([Stmt L],[S]) }-> : stmt stmts1 { ($1 : fst $2, snd $2) }-> | ';' stmts { (fst $2, $1 : snd $2) }-> | {- empty -} { ([],[]) }--> stmts1 :: { ([Stmt L],[S]) }-> : ';' stmts { (fst $2, $1 : snd $2) }-> | {- empty -} { ([],[]) }--A let statement may bind implicit parameters.-> stmt :: { Stmt L }-> : 'let' binds { LetStmt (nIS $1 <++> ann $2 <** [$1]) $2 }-> | pat '<-' trueexp { Generator ($1 <> $3 <** [$2]) $1 $3 }-> | trueexp { Qualifier (ann $1) $1 }-> | 'rec' stmtlist { let (stms,inf,ss) = $2 in RecStmt (nIS $1 <++> inf <** $1:ss) stms }--------------------------------------------------------------------------------Record Field Update/Construction--> fbinds :: { ([PFieldUpdate L],[S]) }-> : fbinds ',' fbind { let (fbs, ss) = $1 in ($3 : fbs, $2 : ss) }-> | fbind { ([$1],[]) }--Puns and wild cards need the respective extensions enabled.--> fbind :: { PFieldUpdate L }-> : qvar '=' exp { FieldUpdate ($1 <>$3 <** [$2]) $1 $3 }-> | qvar {% checkEnabled NamedFieldPuns >> checkUnQual $1 >>= return . FieldPun (ann $1) }-> | '..' {% checkEnabled RecordWildCards >> return (FieldWildcard (nIS $1)) }--------------------------------------------------------------------------------Implicit parameter bindings - need the ImplicitParameter extension enabled, but the lexer handles that.--> ipbinds :: { ([IPBind L],[S]) }-> : optsemis ipbinds1 optsemis { (reverse (fst $2), reverse $1 ++ snd $2 ++ reverse $3) }--> ipbinds1 :: { ([IPBind L],[S]) }-> : ipbinds1 semis ipbind { ($3 : fst $1, snd $1 ++ reverse $2) }-> | ipbind { ([$1],[]) }--> ipbind :: { IPBind L }-> : ivar '=' trueexp { IPBind ($1 <> $3 <** [$2]) $1 $3 }--------------------------------------------------------------------------------Variables, Constructors and Operators.--> gcon :: { PExp L }-> : '(' ')' { p_unit_con ($1 <^^> $2 <** [$1,$2]) }-> | '[' ']' { List ($1 <^^> $2 <** [$1,$2]) [] }-> | '(' commas ')' { p_tuple_con ($1 <^^> $3 <** $1:reverse ($3:$2)) Boxed (length $2) }-> | '(#' '#)' { p_unboxed_singleton_con ($1 <^^> $2 <** [$1,$2]) }-> | '(#' commas '#)' { p_tuple_con ($1 <^^> $3 <** $1:reverse ($3:$2)) Unboxed (length $2) }-> | qcon { Con (ann $1) $1 }--> var :: { Name L }-> : varid { $1 }-> | '(' varsym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--> var_no_safety :: { Name L }-> : varid_no_safety { $1 }-> | '(' varsym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--> qvar :: { QName L }-> : qvarid { $1 }-> | '(' qvarsym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--Implicit parameter-> ivar :: { IPName L }-> : ivarid { $1 }--> con :: { Name L }-> : conid { $1 }-> | '(' consym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--> qcon :: { QName L }-> : qconid { $1 }-> | '(' gconsym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--> varop :: { Name L }-> : varsym { $1 }-> | '`' varid '`' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--> qvarop :: { QName L }-> : qvarsym { $1 }-> | '`' qvarid '`' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--> qvaropm :: { QName L }-> : qvarsymm { $1 }-> | '`' qvarid '`' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--> conop :: { Name L }-> : consym { $1 }-> | '`' conid '`' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--> qconop :: { QName L }-> : gconsym { $1 }-> | '`' qconid '`' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }--> op :: { Op L }-> : varop { VarOp (ann $1) $1 }-> | conop { ConOp (ann $1) $1 }--> qop :: { QOp L }-> : qvarop { QVarOp (ann $1) $1 }-> | qconop { QConOp (ann $1) $1 }--> qopm :: { QOp L }-> : qvaropm { QVarOp (ann $1) $1 }-> | qconop { QConOp (ann $1) $1 }--> gconsym :: { QName L }-> : ':' { list_cons_name (nIS $1) }-> | qconsym { $1 }--------------------------------------------------------------------------------Identifiers and Symbols--> qvarid :: { QName L }-> : varid { UnQual (ann $1) $1 }-> | QVARID { let {Loc l (QVarId q) = $1; nis = nIS l}-> in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q)) }--> varid_no_safety :: { Name L }-> : VARID { let Loc l (VarId v) = $1 in Ident (nIS l) v }-> | 'as' { as_name (nIS $1) }-> | 'qualified' { qualified_name (nIS $1) }-> | 'hiding' { hiding_name (nIS $1) }-> | 'export' { export_name (nIS $1) }-> | 'stdcall' { stdcall_name (nIS $1) }-> | 'ccall' { ccall_name (nIS $1) }-> | 'cplusplus' { cplusplus_name (nIS $1) }-> | 'dotnet' { dotnet_name (nIS $1) }-> | 'jvm' { jvm_name (nIS $1) }-> | 'js' { js_name (nIS $1) }--> varid :: { Name L }-> : varid_no_safety { $1 }-> | 'safe' { safe_name (nIS $1) }-> | 'unsafe' { unsafe_name (nIS $1) }-> | 'threadsafe' { threadsafe_name (nIS $1) }-> | 'forall' { forall_name (nIS $1) }-> | 'family' { family_name (nIS $1) }---Implicit parameter-> ivarid :: { IPName L }-> : IDUPID { let Loc l (IDupVarId i) = $1 in IPDup (nIS l) i }-> | ILINID { let Loc l (ILinVarId i) = $1 in IPLin (nIS l) i }--> qconid :: { QName L }-> : conid { UnQual (ann $1) $1 }-> | QCONID { let {Loc l (QConId q) = $1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q)) }--> conid :: { Name L }-> : CONID { let Loc l (ConId c) = $1 in Ident (nIS l) c }--> qconsym :: { QName L }-> : consym { UnQual (ann $1) $1 }-> | QCONSYM { let {Loc l (QConSym q) = $1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q)) }--> consym :: { Name L }-> : CONSYM { let Loc l (ConSym c) = $1 in Symbol (nIS l) c }--> qvarsym :: { QName L }-> : varsym { UnQual (ann $1) $1 }-> | qvarsym1 { $1 }--> qvarsymm :: { QName L }-> : varsymm { UnQual (ann $1) $1 }-> | qvarsym1 { $1 }--> varsym :: { Name L }-> : VARSYM { let Loc l (VarSym v) = $1 in Symbol (nIS l) v }-> | '-' { minus_name (nIS $1) }-> | '!' { bang_name (nIS $1) }-> | '.' { dot_name (nIS $1) }-> | '*' { star_name (nIS $1) }--> varsymm :: { Name L } -- varsym not including '-'-> : VARSYM { let Loc l (VarSym v) = $1 in Symbol (nIS l) v }-> | '!' { bang_name (nIS $1) }-> | '.' { dot_name (nIS $1) }-> | '*' { star_name (nIS $1) }--> qvarsym1 :: { QName L }-> : QVARSYM { let {Loc l (QVarSym q) = $1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q)) }--> literal :: { Literal L }-> : INT { let Loc l (IntTok (i,raw)) = $1 in Int (nIS l) i raw }-> | CHAR { let Loc l (Character (c,raw)) = $1 in Char (nIS l) c raw }-> | RATIONAL { let Loc l (FloatTok (r,raw)) = $1 in Frac (nIS l) r raw }-> | STRING { let Loc l (StringTok (s,raw)) = $1 in String (nIS l) s raw }-> | PRIMINT { let Loc l (IntTokHash (i,raw)) = $1 in PrimInt (nIS l) i raw }-> | PRIMWORD { let Loc l (WordTokHash (w,raw)) = $1 in PrimWord (nIS l) w raw }-> | PRIMFLOAT { let Loc l (FloatTokHash (f,raw)) = $1 in PrimFloat (nIS l) f raw }-> | PRIMDOUBLE { let Loc l (DoubleTokHash (d,raw)) = $1 in PrimDouble (nIS l) d raw }-> | PRIMCHAR { let Loc l (CharacterHash (c,raw)) = $1 in PrimChar (nIS l) c raw }-> | PRIMSTRING { let Loc l (StringHash (s,raw)) = $1 in PrimString (nIS l) s raw }--------------------------------------------------------------------------------Layout--> open :: { S } : {% pushCurrentContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x) (return x) -} }--> close :: { S }-> : vccurly { $1 {- >>= \x -> trace (show x ++ show x ++ show x) (return x) -} } -- context popped in lexer.-> | error {% popContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x ++ show x) (return x) -} }--------------------------------------------------------------------------------Miscellaneous (mostly renamings)--> modid :: { ModuleName L }-> : CONID { let Loc l (ConId n) = $1 in ModuleName (nIS l) n }-> | QCONID { let Loc l (QConId n) = $1 in ModuleName (nIS l) (fst n ++ '.':snd n) }--> tyconorcls :: { Name L }-> : con { $1 }--> qtyconorcls :: { QName L }-> : qcon { $1 }--> tyvar :: { Name L }-> : tyvarid { $1 }--> tyvarid :: { Name L }-> : varid_no_safety { $1 }-> | 'safe' { safe_name (nIS $1) }-> | 'unsafe' { unsafe_name (nIS $1) }-> | 'threadsafe' { threadsafe_name (nIS $1) }- | 'forall' { forall_name (nIS $1) }- | 'family' { family_name (nIS $1) }--> qtyvarop :: { QName L }-> qtyvarop : '`' tyvar '`' { UnQual ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }-> | tyvarsym { UnQual (ann $1) $1 }--> tyvarsym :: { Name L }-> tyvarsym : VARSYM { let Loc l (VarSym x) = $1 in Symbol (nIS l) x }---------------------------------------------------------------------------------> {--> type L = SrcSpanInfo -- just for convenience-> type S = SrcSpan--> parseError :: Loc Token -> P a-> parseError t = fail $ "Parse error: " ++ showToken (unLoc t)--> (<>) :: (Annotated a, Annotated b) => a SrcSpanInfo -> b SrcSpanInfo -> SrcSpanInfo-> a <> b = ann a <++> ann b->-> infixl 6 <>--> nIS = noInfoSpan-> iS = infoSpan---> -- | Parse of a string, which should contain a complete Haskell module.-> parseModule :: String -> ParseResult (Module SrcSpanInfo)-> parseModule = simpleParse mparseModule--> -- | Parse of a string containing a complete Haskell module, using an explicit mode.-> parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)-> parseModuleWithMode = modeParse mparseModule--> -- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-> parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])-> parseModuleWithComments = commentParse mparseModule--> -- | Parse of a string containing a Haskell expression.-> parseExp :: String -> ParseResult (Exp SrcSpanInfo)-> parseExp = simpleParse mparseExp--> -- | Parse of a string containing a Haskell expression, using an explicit mode.-> parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo)-> parseExpWithMode = modeParse mparseExp--> -- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-> parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment])-> parseExpWithComments = commentParse mparseExp--> -- | Parse of a string containing a Haskell pattern.-> parsePat :: String -> ParseResult (Pat SrcSpanInfo)-> parsePat = simpleParse mparsePat--> -- | Parse of a string containing a Haskell pattern, using an explicit mode.-> parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo)-> parsePatWithMode = modeParse mparsePat--> -- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-> parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment])-> parsePatWithComments = commentParse mparsePat--> -- | Parse of a string containing a Haskell top-level declaration.-> parseDecl :: String -> ParseResult (Decl SrcSpanInfo)-> parseDecl = simpleParse mparseDecl--> -- | Parse of a string containing a Haskell top-level declaration, using an explicit mode.-> parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo)-> parseDeclWithMode = modeParse mparseDecl--> -- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-> parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment])-> parseDeclWithComments = commentParse mparseDecl--> -- | Parse of a string containing a Haskell type.-> parseType :: String -> ParseResult (Type SrcSpanInfo)-> parseType = runParser mparseType--> -- | Parse of a string containing a Haskell type, using an explicit mode.-> parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo)-> parseTypeWithMode mode = runParserWithMode mode mparseType--> -- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-> parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment])-> parseTypeWithComments mode str = runParserWithModeComments mode mparseType str--> -- | Parse of a string containing a Haskell statement.-> parseStmt :: String -> ParseResult (Stmt SrcSpanInfo)-> parseStmt = simpleParse mparseStmt--> -- | Parse of a string containing a Haskell type, using an explicit mode.-> parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo)-> parseStmtWithMode = modeParse mparseStmt--> -- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-> parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment])-> parseStmtWithComments = commentParse mparseStmt---> simpleParse :: AppFixity a => P (a L) -> String -> ParseResult (a L)-> simpleParse p = applyFixities preludeFixities <=< runParser p--> modeParse :: AppFixity a => P (a L) -> ParseMode -> String -> ParseResult (a L)-> modeParse p mode = applyFixities' (fixities mode) <=< runParserWithMode mode p--> commentParse :: AppFixity a => P (a L) -> ParseMode -> String -> ParseResult (a L, [Comment])-> commentParse p mode str = do (ast, cs) <- runParserWithModeComments mode p str-> ast' <- applyFixities' (fixities mode) ast-> return (ast', cs)--> -- | Partial parse of a string starting with a series of top-level option pragmas.-> getTopPragmas :: String -> ParseResult [ModulePragma SrcSpanInfo]-> getTopPragmas = runParser (mfindOptPragmas >>= \(ps,_,_) -> return ps)--> -- | Parse of a string, which should contain a complete Haskell module.-> parseModules :: String -> ParseResult [Module SrcSpanInfo]-> parseModules = mapM (applyFixities preludeFixities) <=< runParser mparseModules--> -- | Parse of a string containing a complete Haskell module, using an explicit mode.-> parseModulesWithMode :: ParseMode -> String -> ParseResult [Module SrcSpanInfo]-> parseModulesWithMode mode = mapM (applyFixities' (fixities mode)) <=< runParserWithMode mode mparseModules--> -- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-> parseModulesWithComments :: ParseMode -> String -> ParseResult ([Module SrcSpanInfo], [Comment])-> parseModulesWithComments mode str = do (ast,cs) <- runParserWithModeComments mode mparseModules str-> ast' <- mapM (applyFixities' (fixities mode)) ast-> return (ast', cs)->-> applyFixities' :: (AppFixity a) => Maybe [Fixity] -> a L -> ParseResult (a L)-> applyFixities' Nothing ast = return ast-> applyFixities' (Just fixs) ast = applyFixities fixs ast->+> {-# LANGUAGE CPP #-}+> {-# OPTIONS_HADDOCK hide #-}+> +> -----------------------------------------------------------------------------+> -- |+> -- Module : Language.Haskell.Exts.Annotated.Parser+> -- Copyright : (c) Niklas Broberg 2004-2009,+> -- Original (c) Simon Marlow, Sven Panne 1997-2000+> -- License : BSD-style (see the file LICENSE.txt)+> --+> -- Maintainer : Niklas Broberg, d00nibro@chalmers.se+> -- Stability : stable+> -- Portability : portable+> --+> --+> -----------------------------------------------------------------------------+>+> module Language.Haskell.Exts.InternalParser (+> mparseModule,+> mparseExp,+> mparsePat,+> mparseDecl,+> mparseType,+> mparseStmt,+> mparseImportDecl,+> ngparseModulePragmas,+> ngparseModuleHeadAndImports,+> ngparsePragmasAndModuleHead,+> ngparsePragmasAndModuleName+> ) where+>+> import Language.Haskell.Exts.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )+> import Language.Haskell.Exts.Syntax ( Type, Exp, Asst )+> import Language.Haskell.Exts.ParseMonad+> import Language.Haskell.Exts.InternalLexer+> import Language.Haskell.Exts.ParseUtils+> import Language.Haskell.Exts.Fixity+> import Language.Haskell.Exts.SrcLoc+> import Language.Haskell.Exts.Extension++> import Control.Monad ( liftM, (<=<), when )+> import Control.Applicative ( (<$>) )+> import Data.Maybe+> #if MIN_VERSION_base(4,11,0)+> import Prelude hiding ((<>))+> #endif+import Debug.Trace (trace)++> }++-----------------------------------------------------------------------------+This module comprises a parser for Haskell 98 with the following extensions++* Multi-parameter type classes with functional dependencies+* Implicit parameters+* Pattern guards+* Mdo notation+* FFI+* HaRP+* HSP++Most of the code is blatantly stolen from the GHC module Language.Haskell.Parser.+Some of the code for extensions is greatly influenced by GHC's internal parser+library, ghc/compiler/parser/Parser.y.+-----------------------------------------------------------------------------+Conflicts: 7 shift/reduce++2 for ambiguity in 'case x of y | let z = y in z :: Bool -> b' [State 99, 186]+ (don't know whether to reduce 'Bool' as a btype or shift the '->'.+ Similarly lambda and if. The default resolution in favour of the+ shift means that a guard can never end with a type signature.+ In mitigation: it's a rare case and no Haskell implementation+ allows these, because it would require unbounded lookahead.)+ There are 2 conflicts rather than one because contexts are parsed+ as btypes (cf ctype).++1 for ambiguity in 'let ?x ...' [State 604]+ the parser can't tell whether the ?x is the lhs of a normal binding or+ an implicit binding. Fortunately resolving as shift gives it the only+ sensible meaning, namely the lhs of an implicit binding.++1 for ambiguity using hybrid modules [State 159]+ For HSP pages that start with a <% %> block, the parser cannot tell whether+ to reduce a srcloc or shift the starting <%. Since any other body could not+ start with <%, shifting is the only sensible thing to do.++1 for ambiguity using toplevel xml modules [State 158]+ For HSP xml pages starting with a <, the parser cannot tell whether to shift+ that < or reduce an implicit 'open'. Since no other body could possibly start+ with <, shifting is the only sensible thing to do.++1 for ambiguity in '{-# RULES "name" [ ... #-}' [State 177]+ we don't know whether the '[' starts the activation or not: it+ might be the start of the declaration with the activation being+ empty. Resolving with shift means the declaration cannot start with '['.++1 for ambiguity in '{-# RULES "name" forall = ... #-}' [State 544]+ since 'forall' is a valid variable name, we don't know whether+ to treat a forall on the input as the beginning of a quantifier+ or the beginning of the rule itself. Resolving to shift means+ it's always treated as a quantifier, hence the above is disallowed.+ This saves explicitly defining a grammar for the rule lhs that+ doesn't include 'forall'.++-----------------------------------------------------------------------------++> %token+> VARID { Loc _ (VarId _) } -- 1+> LABELVARID { Loc _ (LabelVarId _) }+> QVARID { Loc _ (QVarId _) }+> IDUPID { Loc _ (IDupVarId _) } -- duplicable implicit parameter ?x+> ILINID { Loc _ (ILinVarId _) } -- linear implicit parameter %x+> CONID { Loc _ (ConId _) }+> QCONID { Loc _ (QConId _) }+> DVARID { Loc _ (DVarId _) } -- VARID containing dashes+> VARSYM { Loc _ (VarSym _) }+> CONSYM { Loc _ (ConSym _) }+> QVARSYM { Loc _ (QVarSym _) } -- 10+> QCONSYM { Loc _ (QConSym _) }+> INT { Loc _ (IntTok _) }+> RATIONAL { Loc _ (FloatTok _) }+> CHAR { Loc _ (Character _) }+> STRING { Loc _ (StringTok _) }++> PRIMINT { Loc _ (IntTokHash _) }+> PRIMWORD { Loc _ (WordTokHash _) }+> PRIMFLOAT { Loc _ (FloatTokHash _) }+> PRIMDOUBLE { Loc _ (DoubleTokHash _) }+> PRIMCHAR { Loc _ (CharacterHash _) } -- 20+> PRIMSTRING { Loc _ (StringHash _) }++Symbols++> '(' { Loc $$ LeftParen }+> ')' { Loc $$ RightParen }+> '(#' { Loc $$ LeftHashParen }+> '#)' { Loc $$ RightHashParen }+> ';' { Loc $$ SemiColon }+> '{' { Loc $$ LeftCurly }+> '}' { Loc $$ RightCurly } -- 30+> vccurly { Loc $$ VRightCurly } -- a virtual close brace+> '[' { Loc $$ LeftSquare }+> ']' { Loc $$ RightSquare }+> '[:' { Loc $$ ParArrayLeftSquare }+> ':]' { Loc $$ ParArrayRightSquare }+> ',' { Loc $$ Comma }+> '_' { Loc $$ Underscore }+> '`' { Loc $$ BackQuote }++Reserved operators++> '.' { Loc $$ Dot }+> '..' { Loc $$ DotDot }+> ':' { Loc $$ Colon }+> '::' { Loc $$ DoubleColon } -- 40+> '=' { Loc $$ Equals }+> '\\' { Loc $$ Backslash }+> '|' { Loc $$ Bar }+> '<-' { Loc $$ LeftArrow }+> '->' { Loc $$ RightArrow }+> '@' { Loc $$ At }+> TYPEAPP { Loc $$ TApp }+> '~' { Loc $$ Tilde }+> '=>' { Loc $$ DoubleArrow }+> '-' { Loc $$ Minus }+> '!' { Loc $$ Exclamation } -- 50+> '*' { Loc $$ Star }++Arrows++> '-<' { Loc $$ LeftArrowTail }+> '>-' { Loc $$ RightArrowTail }+> '-<<' { Loc $$ LeftDblArrowTail }+> '>>-' { Loc $$ RightDblArrowTail }+> '(|' { Loc $$ OpenArrowBracket }+> '|)' { Loc $$ CloseArrowBracket }++Harp++> '(/' { Loc $$ RPGuardOpen }+> '/)' { Loc $$ RPGuardClose }+> '@:' { Loc $$ RPCAt }++Template Haskell++> IDSPLICE { Loc _ (THIdEscape _) } -- $x+> TIDSPLICE { Loc _ (THTIdEscape _) } -- $$x+> '$(' { Loc $$ THParenEscape } -- 60+> '$$(' { Loc $$ THTParenEscape }+> '[|' { Loc $$ THExpQuote }+> '[||' { Loc $$ THTExpQuote }+> '[p|' { Loc $$ THPatQuote }+> '[t|' { Loc $$ THTypQuote }+> '[d|' { Loc $$ THDecQuote }+> '|]' { Loc $$ THCloseQuote }+> '||]' { Loc $$ THTCloseQuote }+> VARQUOTE { Loc $$ THVarQuote } -- 'x+> TYPQUOTE { Loc $$ THTyQuote } -- ''T+> QUASIQUOTE { Loc _ (THQuasiQuote _) }++Hsx++> PCDATA { Loc _ (XPCDATA _) }+> '<' { Loc $$ XStdTagOpen } -- 70+> '</' { Loc $$ XCloseTagOpen }+> '<%' { Loc $$ XCodeTagOpen }+> '<%>' { Loc $$ XChildTagOpen }+> '>' { Loc $$ XStdTagClose }+> '/>' { Loc $$ XEmptyTagClose }+> '%>' { Loc $$ XCodeTagClose }+> '<[' { Loc $$ XRPatOpen }+> ']>' { Loc $$ XRPatClose }++FFI++> 'foreign' { Loc $$ KW_Foreign }+> 'export' { Loc $$ KW_Export } -- 80+> 'safe' { Loc $$ KW_Safe }+> 'unsafe' { Loc $$ KW_Unsafe }+> 'threadsafe' { Loc $$ KW_Threadsafe }+> 'interruptible' { Loc $$ KW_Interruptible }+> 'stdcall' { Loc $$ KW_StdCall }+> 'ccall' { Loc $$ KW_CCall }+> 'cplusplus' { Loc $$ KW_CPlusPlus }+> 'dotnet' { Loc $$ KW_DotNet }+> 'jvm' { Loc $$ KW_Jvm }+> 'js' { Loc $$ KW_Js } -- 90+> 'javascript' { Loc $$ KW_JavaScript }+> 'capi' { Loc $$ KW_CApi }++Reserved Ids++> 'as' { Loc $$ KW_As }+> 'by' { Loc $$ KW_By } -- transform list comprehensions+> 'case' { Loc $$ KW_Case }+> 'class' { Loc $$ KW_Class }+> 'data' { Loc $$ KW_Data }+> 'default' { Loc $$ KW_Default }+> 'deriving' { Loc $$ KW_Deriving }+> 'do' { Loc $$ KW_Do }+> 'else' { Loc $$ KW_Else } -- 100+> 'family' { Loc $$ KW_Family } -- indexed type families+> 'forall' { Loc $$ KW_Forall } -- universal/existential qualification+> 'group' { Loc $$ KW_Group } -- transform list comprehensions+> 'hiding' { Loc $$ KW_Hiding }+> 'if' { Loc $$ KW_If }+> 'import' { Loc $$ KW_Import }+> 'in' { Loc $$ KW_In }+> 'infix' { Loc $$ KW_Infix }+> 'infixl' { Loc $$ KW_InfixL }+> 'infixr' { Loc $$ KW_InfixR } -- 110+> 'instance' { Loc $$ KW_Instance }+> 'let' { Loc $$ KW_Let }+> 'mdo' { Loc $$ KW_MDo }+> 'module' { Loc $$ KW_Module } -- 114+> 'newtype' { Loc $$ KW_NewType }+> 'of' { Loc $$ KW_Of }+> 'proc' { Loc $$ KW_Proc } -- arrows+> 'rec' { Loc $$ KW_Rec } -- arrows or RecursiveDo+> 'then' { Loc $$ KW_Then }+> 'type' { Loc $$ KW_Type } -- 120+> 'using' { Loc $$ KW_Using } -- transform list comprehensions+> 'where' { Loc $$ KW_Where }+> 'qualified' { Loc $$ KW_Qualified }+> 'role' { Loc $$ KW_Role }+> 'pattern' { Loc $$ KW_Pattern }+> 'stock' { Loc $$ KW_Stock } -- for DerivingStrategies extension+> 'anyclass' { Loc $$ KW_Anyclass } -- for DerivingStrategies extension+> 'via' { Loc $$ KW_Via } -- for DerivingStrategies extension++Pragmas++> '{-# INLINE' { Loc _ (INLINE _) }+> '{-# INLINE CONLIKE' { Loc $$ INLINE_CONLIKE }+> '{-# SPECIALISE' { Loc $$ SPECIALISE }+> '{-# SPECIALISE INLINE' { Loc _ (SPECIALISE_INLINE _) }+> '{-# SOURCE' { Loc $$ SOURCE }+> '{-# RULES' { Loc $$ RULES }+> '{-# CORE' { Loc $$ CORE } -- 130+> '{-# SCC' { Loc $$ SCC }+> '{-# GENERATED' { Loc $$ GENERATED }+> '{-# DEPRECATED' { Loc $$ DEPRECATED }+> '{-# WARNING' { Loc $$ WARNING }+> '{-# UNPACK' { Loc $$ UNPACK }+> '{-# NOUNPACK' { Loc $$ NOUNPACK }+> '{-# OPTIONS' { Loc _ (OPTIONS _) }+ '{-# CFILES' { Loc _ (CFILES _) }+ '{-# INCLUDE' { Loc _ (INCLUDE _) }+> '{-# LANGUAGE' { Loc $$ LANGUAGE } -- 137+> '{-# ANN' { Loc $$ ANN }+> '{-# MINIMAL' { Loc $$ MINIMAL }+> '{-# NO_OVERLAP' { Loc $$ NO_OVERLAP }+> '{-# OVERLAP' { Loc $$ OVERLAP }+> '{-# OVERLAPS' { Loc $$ OVERLAPS }+> '{-# OVERLAPPING' { Loc $$ OVERLAPPING }+> '{-# OVERLAPPABLE' { Loc $$ OVERLAPPABLE }+> '{-# INCOHERENT' { Loc $$ INCOHERENT }+> '{-# COMPLETE' { Loc $$ COMPLETE }+> '#-}' { Loc $$ PragmaEnd } -- 139++Utility++> NEVER { Loc $$@SrcSpan{srcSpanStartLine= -1} _ } -- never-matching terminal of type SrcSpan++> %monad { P }+> %lexer { lexer } { Loc _ EOF }+> %error { parseError }+> %name mparseModule page+> %name mparseExp trueexp+> %name mparsePat pat+> %name mparseDeclAux body+> %name mparseType truectype+> %name mparseStmt stmt+> %name mparseImportDecl impdecl+> %partial ngparseModulePragmas toppragmas+> %partial ngparseModuleHeadAndImports moduletopimps+> %partial ngparsePragmasAndModuleHead moduletophead+> %partial ngparsePragmasAndModuleName moduletopname+> %tokentype { Loc Token }+> %expect 13+> %%++-----------------------------------------------------------------------------+Testing multiple modules in one file++> modules :: { [Module L] }+> : toppragmas modules1 { let (os,ss,l) = $1 in map (\x -> x os ss l) $2 }++> modules1 :: { [[ModulePragma L] -> [S] -> L -> Module L] }+> : module modules1 { $1 : $2 }+> | module { [$1] }++-----------------------------------------------------------------------------+HSP Pages++Any HSP-specific parts requiring the XmlSyntax extension enabled will+be governed by the lexing, since all productions require at least one+special lexeme.++TODO: Yuck, this is messy, needs fixing in the AST!++> page :: { Module L }+> : toppragmas topxml {% checkPageModule $2 $1 }+> | toppragmas '<%' module '%>' topxml {% let (os,ss,l) = $1 in checkHybridModule $5 ($3 os ss l) $2 $4 }+> | toppragmas module { let (os,ss,l) = $1 in $2 os ss l }++> topxml :: { PExp L }+> : '<' name attrs mattr '>' children '</' name '>' {% do { n <- checkEqNames $2 $8;+> let { cn = reverse $6;+> as = reverse $3; };+> return $ XTag ($1 <^^> $9 <** [$1,$5,$7,$9]) n as $4 cn } }+> | '<' name attrs mattr '/>' { XETag ($1 <^^> $5 <** [$1,$5]) $2 (reverse $3) $4 }+++> toppragmas :: { ([ModulePragma L],[S],L) }+> : open toppragmasaux close { let (os,ss,ml) = $2 in (os,$1:ss++[$3],$1 <^^> $3) }++> toppragmasaux :: { ([ModulePragma L],[S],Maybe L) }+> : toppragma optsemis toppragmasaux { let (os,ss,ml) = $3;+> ss' = reverse $2 ++ ss;+> l' = case $2 of+> [] -> ann $1+> _ -> ann $1 <++> nIS (last $2);+> in ($1 : os, ss', Just $ l' <+?> ml) }+> | {- nothing -} { ([],[],Nothing) }++> toppragma :: { ModulePragma L }+> : '{-# LANGUAGE' conids optsemis '#-}' { LanguagePragma ($1 <^^> $4 <** ($1:snd $2 ++ reverse $3 ++ [$4])) (fst $2) }+> | '{-# OPTIONS' optsemis '#-}' { let Loc l (OPTIONS (mc, s)) = $1+> in OptionsPragma (l <^^> $3 <** (l:reverse $2 ++ [$3])) (readTool mc) s }+> | '{-# ANN' annotation '#-}' { AnnModulePragma ($1 <^^> $3 <** [$1,$3]) $2 }+++> conids :: { ([Name L],[S]) }+> : conids ',' conid { (fst $1 ++ [$3], snd $1 ++ [$2]) }+> | optsemis conid { ([$2],[]) }++-----------------------------------------------------------------------------+Module Header++> module :: { [ModulePragma L] -> [S] -> L -> Module L }+> : optmodulehead body+> { let (is,ds,ss1,inf) = $2+> in \os ss l -> Module (l <++> inf <** (ss ++ ss1)) $1 os is ds }++> optmodulehead :: { Maybe (ModuleHead L) }+> : 'module' modid maybemodwarning maybeexports 'where' { Just $ ModuleHead ($1 <^^> $5 <** [$1,$5]) $2 $3 $4 }+> | {- empty -} { Nothing }++> maybemodwarning :: { Maybe (WarningText L) }+> : '{-# DEPRECATED' STRING '#-}' { let Loc l (StringTok (s,_)) = $2 in Just $ DeprText ($1 <^^> $3 <** [$1,l,$3]) s }+> | '{-# WARNING' STRING '#-}' { let Loc l (StringTok (s,_)) = $2 in Just $ WarnText ($1 <^^> $3 <** [$1,l,$3]) s }+> | {- empty -} { Nothing }++> body :: { ([ImportDecl L],[Decl L],[S],L) }+> : '{' bodyaux '}' { let (is,ds,ss) = $2 in (is,ds,$1:ss ++ [$3], $1 <^^> $3) }++Trailing optsemis in the next line is a workaround for #25. Having the optsemis+here causes one more shift/reduce conflict.++> | open bodyaux close optsemis { let (is,ds,ss) = $2 in (is,ds,$1:ss ++ [$3], $1 <^^> $3) }++> bodyaux :: { ([ImportDecl L],[Decl L],[S]) }+> : optsemis impdecls semis topdecls { (reverse (fst $2), fst $4, reverse $1 ++ snd $2 ++ reverse $3 ++ snd $4) }+> | optsemis topdecls { ([], fst $2, reverse $1 ++ snd $2) }+> | optsemis impdecls optsemis { (reverse (fst $2), [], reverse $1 ++ snd $2 ++ reverse $3) }+> | optsemis { ([], [], reverse $1) }++> semis :: { [S] }+> : optsemis ';' { $2 : $1 }++> optsemis :: { [S] }+> : semis { $1 }+> | {- empty -} { [] }++-----------------------------------------------------------------------------+The Export List++> maybeexports :: { Maybe (ExportSpecList L) }+> : exports { Just $1 }+> | {- empty -} { Nothing }++> exports :: { ExportSpecList L }+> : '(' exportlist optcomma ')' { ExportSpecList ($1 <^^> $4 <** ($1:reverse (snd $2) ++ $3 ++ [$4])) (reverse (fst $2)) }+> | '(' optcomma ')' { ExportSpecList ($1 <^^> $3 <** ($1:$2++[$3])) [] }++> optcomma :: { [S] }+> : ',' { [$1] }+> | {- empty -} { [ ] }++> exportlist :: { ([ExportSpec L],[S]) }+> : exportlist ',' export { ($3 : fst $1, $2 : snd $1) }+> | export { ([$1],[]) }++> export :: { ExportSpec L }+> : qvar { EVar (ann $1) $1 }+> | 'type' qcname {% do { checkEnabled ExplicitNamespaces;+> return (EAbs (nIS $1 <++> ann $2 <** [$1, srcInfoSpan (ann $2)]) (TypeNamespace (nIS $1 <** [$1])) $2) } }+> | qtyconorcls { EAbs (ann $1) (NoNamespace (ann $1)) $1 }+> | qtyconorcls '(' ')' { EThingWith (ann $1 <++> nIS $3 <** [$2,$3]) (NoWildcard noSrcSpan) $1 [] }+> | qtyconorcls '(' export_names ')' {% mkEThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse $ fst $3) }+> | 'module' modid { EModuleContents (nIS $1 <++> ann $2 <** [$1]) $2 }+> | 'pattern' qcon {% do { checkEnabled PatternSynonyms;+> return $ EAbs (nIS $1 <++> (ann $2) <** [$1])+> (PatternNamespace (nIS $1)) $2 }}++> export_names :: { ([Either S (CName L)],[S]) }+> : export_names ',' cname_w_wildcard { ($3 : fst $1, $2 : snd $1) }+> | cname_w_wildcard { ([$1],[]) }++> cname_w_wildcard :: { Either S (CName L) }+> : '..' { Left $1 }+> | cname { Right $1 }++>+> qcname :: { QName L }+> : qvar { $1 }+> | qcon { $1 }++-----------------------------------------------------------------------------+Import Declarations++> impdecls :: { ([ImportDecl L],[S]) }+> : impdecls semis impdecl { ($3 : fst $1, snd $1 ++ reverse $2) }+> | impdecl { ([$1],[]) }++> impdecl :: { ImportDecl L }+> : 'import' optsrc optsafe optqualified maybepkg modid optqualified_post maybeas maybeimpspec+> { let { (mmn,ss,ml) = $8 ;+> l = nIS $1 <++> ann $6 <+?> ml <+?> (fmap ann) $9 <** ($1:snd $2 ++ snd $3 ++ snd $4 ++ snd $5 ++ snd $7 ++ ss)}+> in ImportDecl l $6 (fst $4 || fst $7) (fst $2) (fst $3) (fst $5) mmn $9 }++> optsrc :: { (Bool,[S]) }+> : '{-# SOURCE' '#-}' { (True,[$1,$2]) }+> | {- empty -} { (False,[]) }++> optsafe :: { (Bool,[S]) }+> : 'safe' {% do { checkEnabledOneOf [Safe, SafeImports, Trustworthy] ;+> return (True, [$1]) } }+> | {- empty -} { (False, []) }++> optqualified :: { (Bool,[S]) }+> : 'qualified' { (True,[$1]) }+> | {- empty -} { (False, []) }++> optqualified_post :: { (Bool,[S]) }+> : 'qualified' {% do { checkEnabled ImportQualifiedPost;+> return (True,[$1]) } }+> | {- empty -} { (False, []) }++Requires the PackageImports extension enabled.+> maybepkg :: { (Maybe String,[S]) }+> : STRING {% do { checkEnabled PackageImports ;+> let { Loc l (StringTok (s,_)) = $1 } ;+> return $ (Just s,[l]) } }+> | {- empty -} { (Nothing,[]) }++> maybeas :: { (Maybe (ModuleName L),[S],Maybe L) }+> : 'as' modid { (Just $2,[$1],Just (nIS $1 <++> ann $2)) }+> | {- empty -} { (Nothing,[],Nothing) }+++> maybeimpspec :: { Maybe (ImportSpecList L) }+> : impspec { Just $1 }+> | {- empty -} { Nothing }++> impspec :: { ImportSpecList L }+> : opthiding '(' importlist optcomma ')' { let {(b,ml,s) = $1 ;+> l = (ml <?+> ($2 <^^> $5)) <** (s ++ $2:reverse (snd $3) ++ $4 ++ [$5])}+> in ImportSpecList l b (reverse (fst $3)) }+> | opthiding '(' optcomma ')' { let {(b,ml,s) = $1 ; l = (ml <?+> ($2 <^^> $4)) <** (s ++ $2:$3 ++ [$4])}+> in ImportSpecList l b [] }++> opthiding :: { (Bool, Maybe L,[S]) }+> : 'hiding' { (True,Just (nIS $1),[$1]) }+> | {- empty -} { (False,Nothing,[]) }++> importlist :: { ([ImportSpec L],[S]) }+> : importlist ',' importspec { ($3 : fst $1, $2 : snd $1) }+> | importspec { ([$1],[]) }++> importspec :: { ImportSpec L }+> : var { IVar (ann $1) $1 }+> | 'type' var {% do { checkEnabled ExplicitNamespaces;+> return (IAbs (nIS $1 <++> ann $2 <** [$1, srcInfoSpan (ann $2)]) (TypeNamespace (nIS $1 <** [$1])) $2) } }+> | 'pattern' con {% do { checkEnabled PatternSynonyms;+> return (IAbs (nIS $1 <++> ann $2 <** [$1, srcInfoSpan (ann $2)]) (PatternNamespace (nIS $1 <** [$1])) $2) } }+> | tyconorcls { IAbs (ann $1) (NoNamespace (ann $1)) $1 }+> | tyconorcls '(' '..' ')' { IThingAll (ann $1 <++> nIS $4 <** [$2,$3,$4]) $1 }+> | tyconorcls '(' ')' { IThingWith (ann $1 <++> nIS $3 <** [$2,$3]) $1 [] }+> | tyconorcls '(' import_names ')' { IThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) }++> import_names :: { ([CName L],[S]) }+> : import_names ',' cname { ($3 : fst $1, $2 : snd $1) }+> | cname { ([$1],[]) }++> cname :: { CName L }+> : var { VarName (ann $1) $1 }+> | con { ConName (ann $1) $1 }++-----------------------------------------------------------------------------+Fixity Declarations++> fixdecl :: { Decl L }+> : infix prec ops { let (ops,ss,l) = $3+> in InfixDecl (ann $1 <++> l <** (snd $2 ++ reverse ss)) $1 (fst $2) (reverse ops) }++> prec :: { (Maybe Int, [S]) }+> : {- empty -} { (Nothing, []) }+> | INT {% let Loc l (IntTok (i,_)) = $1 in checkPrec i >>= \i -> return (Just i, [l]) }++> infix :: { Assoc L }+> : 'infix' { AssocNone $ nIS $1 }+> | 'infixl' { AssocLeft $ nIS $1 }+> | 'infixr' { AssocRight $ nIS $1 }++> ops :: { ([Op L],[S],L) }+> : ops ',' op { let (ops,ss,l) = $1 in ($3 : ops, $2 : ss, l <++> ann $3) }+> | op { ([$1],[],ann $1) }+++> opt_injectivity_info :: { Maybe (InjectivityInfo L) }+> : {- empty -} { Nothing }+> | injectivity_info { Just $1 }++> injectivity_info :: { InjectivityInfo L }+> : '|' tyvarid '->' inj_varids+> { InjectivityInfo (nIS $1 <++> ann (last $4) <** [$1,$3]) $2 (reverse $4) }+>+>+> inj_varids :: { [Name L] }+> : inj_varids tyvarid { $2 : $1 }+> | tyvarid { [$1] }++-----------------------------------------------------------------------------+Top-Level Declarations++Note: The report allows topdecls to be empty. This would result in another+shift/reduce-conflict, so we don't handle this case here, but in bodyaux.++> topdecls :: { ([Decl L],[S]) }+> : topdecls1 optsemis {% checkRevDecls (fst $1) >>= \ds -> return (ds, snd $1 ++ reverse $2) }++> topdecls1 :: { ([Decl L],[S]) }+> : topdecls1 semis topdecl { ($3 : fst $1, snd $1 ++ reverse $2) }+> | topdecl { ([$1],[]) }++> topdecl :: { Decl L }+> : role_annot {% checkEnabled RoleAnnotations >> return $1 }+> | 'type' dtype '=' truectype+> {% do { dh <- checkSimpleType $2;+> let {l = nIS $1 <++> ann $4 <** [$1,$3]};+> return (TypeDecl l dh $4) } }++Requires the TypeFamilies extension enabled, but the lexer will handle+that through the 'family' keyword.+> | 'type' 'family' type opt_tyfam_kind_sig opt_injectivity_info where_type_family+> {% do { dh <- checkSimpleType $3;+> let {l = nIS $1 <++> ann $3 <** [$1,$2]};+> case $6 of {+> Nothing -> return (TypeFamDecl l dh $4 $5);+> Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh $4 $5 x); }}}++Here there is no special keyword so we must do the check.+> | 'type' 'instance' truedtype '=' truectype+> {% do { -- no checkSimpleType $4 since dtype may contain type patterns+> checkEnabled TypeFamilies ;+> let {l = nIS $1 <++> ann $5 <** [$1,$2,$4]};+> return (TypeInsDecl l $3 $5) } }+> | data_or_newtype ctype constrs0 maybe_derivings+> {% do { (cs,dh) <- checkDataHeader $2;+> let { (qds,ss,minf) = $3;+> l = $1 <> $2 <+?> minf <+?> fmap ann (listToMaybe $4) <** ss};+> checkDataOrNew $1 qds;+> return (DataDecl l $1 cs dh (reverse qds) (reverse $4)) } }++Requires the GADTs extension enabled, handled in gadtlist.+> | data_or_newtype ctype optkind gadtlist maybe_derivings+> {% do { (cs,dh) <- checkDataHeader $2;+> let { (gs,ss,minf) = $4;+> derivs' = reverse $5;+> l = ann $1 <+?> minf <+?> fmap ann (listToMaybe $5) <** (snd $3 ++ ss)};+> checkDataOrNewG $1 gs;+> case (gs, fst $3) of+> ([], Nothing) -> return (DataDecl l $1 cs dh [] derivs')+> _ -> checkEnabled GADTs >> return (GDataDecl l $1 cs dh (fst $3) (reverse gs) derivs') } }++Same as above, lexer will handle it through the 'family' keyword.+> | 'data' 'family' ctype opt_datafam_kind_sig+> {% do { (cs,dh) <- checkDataHeader $3;+> let {l = nIS $1 <++> ann $3 <+?> (fmap ann) $4 <** [$1,$2]};+> return (DataFamDecl l cs dh $4) } }++Here we must check for TypeFamilies.+> | data_or_newtype 'instance' truectype constrs0 maybe_derivings+> {% do { -- (cs,c,t) <- checkDataHeader $4;+> checkEnabled TypeFamilies ;+> let { (qds,ss,minf) = $4 ;+> l = $1 <> $3 <+?> minf <+?> fmap ann (listToMaybe $5) <** $2:ss };+> checkDataOrNew $1 qds;+> return (DataInsDecl l $1 $3 (reverse qds) (reverse $5)) } }++This style requires both TypeFamilies and GADTs, the latter is handled in gadtlist.+> | data_or_newtype 'instance' truectype optkind gadtlist maybe_derivings+> {% do { -- (cs,c,t) <- checkDataHeader $4;+> checkEnabled TypeFamilies ;+> let {(gs,ss,minf) = $5;+> derivs' = reverse $6;+> l = ann $1 <+?> minf <+?> fmap ann (listToMaybe derivs') <** ($2:snd $4 ++ ss)};+> checkDataOrNewG $1 gs;+> return (GDataInsDecl l $1 $3 (fst $4) (reverse gs) derivs') } }+> | 'class' ctype fds optcbody+> {% do { (cs,dh) <- checkClassHeader $2;+> let {(fds,ss1,minf1) = $3;(mcs,ss2,minf2) = $4} ;+> let { l = nIS $1 <++> ann $2 <+?> minf1 <+?> minf2 <** ($1:ss1 ++ ss2)} ;+> return (ClassDecl l cs dh fds mcs) } }+> | 'instance' optoverlap ctype optvaldefs+> {% do { ih <- checkInstHeader $3;+> let {(mis,ss,minf) = $4};+> return (InstDecl (nIS $1 <++> ann $3 <+?> minf <** ($1:ss)) $2 ih mis) } }++Requires the StandaloneDeriving extension enabled.+> | 'deriving' deriv_standalone_strategy 'instance' optoverlap ctype+> {% do { checkEnabled StandaloneDeriving ;+> ih <- checkInstHeader $5;+> let {l = nIS $1 <++> ann $5 <** [$1,$3]};+> return (DerivDecl l $2 $4 ih) } }+> | 'default' '(' typelist ')'+> { DefaultDecl ($1 <^^> $4 <** ($1:$2 : snd $3 ++ [$4])) (fst $3) }++Requires the TemplateHaskell extension, but the lexer will handle that+through the '$(' lexeme.+CHANGE: Arbitrary top-level expressions are considered implicit splices+> | exp0 {% do+> checkToplevel $1+> checkExpr $1 >>= \e -> return (SpliceDecl (ann e) e)+> }++ | '$(' trueexp ')' { let l = $1 <^^> $3 <** [$1,$3] in SpliceDecl l $ ParenSplice l $2 }+ | '$$(' trueexp ')' { let l = $1 <^^> $3 <** [$1,$3] in TSpliceDecl l $ TParenSplice l $2 }++These require the ForeignFunctionInterface extension, handled by the+lexer through the 'foreign' (and 'export') keyword.+> | 'foreign' 'import' callconv safety fspec+> { let (s,n,t,ss) = $5 in ForImp (nIS $1 <++> ann t <** ($1:$2:ss)) $3 $4 s n t }+> | 'foreign' 'export' callconv fspec+> { let (s,n,t,ss) = $4 in ForExp (nIS $1 <++> ann t <** ($1:$2:ss)) $3 s n t }++> | '{-# RULES' rules '#-}' { RulePragmaDecl ($1 <^^> $3 <** [$1,$3]) $ reverse $2 }+> | '{-# DEPRECATED' warndeprs '#-}' { DeprPragmaDecl ($1 <^^> $3 <** ($1:snd $2++[$3])) $ reverse (fst $2) }+> | '{-# WARNING' warndeprs '#-}' { WarnPragmaDecl ($1 <^^> $3 <** ($1:snd $2++[$3])) $ reverse (fst $2) }+> | '{-# ANN' annotation '#-}' { AnnPragma ($1 <^^> $3 <** [$1,$3]) $2 }+> | '{-# COMPLETE' con_list opt_tyconsig '#-}'+> { let com = maybe [] ((:[]) . fst) $3; ts = fmap snd $3 in+> (CompletePragma ($1 <^^> $4 <** ([$1] ++ fst $2 ++ com ++ [$4])) (snd $2) ts) }+> | decl { $1 }++> -- Family result/return kind signatures+>+> opt_datafam_kind_sig :: { Maybe (ResultSig L) }+> : { Nothing }+> | '::' kind { (Just $ KindSig (nIS $1 <++> ann $2 <** [$1]) $2) }+>+> opt_tyfam_kind_sig :: { Maybe (ResultSig L) }+> : { Nothing }+> | '::' kind { (Just $ KindSig (nIS $1 <++> ann $2 <** [$1]) $2) }+> | '=' ktyvar { (Just $ TyVarSig (nIS $1 <++> ann $2 <** [$1]) $2) }+>+> opt_at_kind_inj_sig :: { (Maybe (ResultSig L), Maybe (InjectivityInfo L))}+> : { (Nothing, Nothing) }+> | '::' kind { (Just (KindSig (nIS $1 <++> ann $2 <** [$1]) $2), Nothing) }+> | '=' ktyvar injectivity_info+> { (Just (TyVarSig (nIS $1 <++> ann $2 <** [$1]) $2), Just $3) }++> opt_at_kind_inj_sig2 :: { (Maybe (ResultSig L), Maybe (S, Type L), Maybe (InjectivityInfo L))}+> : { (Nothing, Nothing, Nothing) }+> | '::' kind { (Just (KindSig (nIS $1 <++> ann $2 <** [$1]) $2), Nothing, Nothing) }+> | '=' truectype opt_injectivity_info { (Nothing, Just ($1, $2), $3) }+++Role annotations++> role_annot :: { Decl L }+> role_annot : 'type' 'role' otycon roles+> {% mkRoleAnnotDecl $1 $2 $3 (reverse $4) }++-- Reversed!+> roles :: { [(Maybe String, L)] }+> roles : {- empty -} { [] }+> | roles role { $2 : $1 }++> -- read it in as a varid for better error messages+> role :: { (Maybe String, L) }+> role : VARID { let (VarId v) = unLoc $1 in (Just v, nIS $ loc $1) }+> | '_' { (Nothing, nIS $1) }++++> optoverlap :: { Maybe (Overlap L) }+> : '{-# OVERLAP' '#-}' { Just (Overlap (nIS $1)) }+> | '{-# OVERLAPS' '#-}' { Just (Overlaps (nIS $1)) }+> | '{-# OVERLAPPING' '#-}' { Just (Overlapping (nIS $1)) }+> | '{-# OVERLAPPABLE' '#-}' { Just (Overlappable (nIS $1)) }+> | '{-# INCOHERENT' '#-}' { Just (Incoherent (nIS $1)) }+> | '{-# NO_OVERLAP' '#-}' { Just (NoOverlap (nIS $1)) }+> | {- empty -} { Nothing }++Parsing the body of a closed type family, partially stolen from the source of GHC.+> where_type_family :: { Maybe ([TypeEqn L], S) }+> : {- empty -} { Nothing }+> | 'where' ty_fam_inst_eqn_list { Just ($2, $1) }++> ty_fam_inst_eqn_list :: { [TypeEqn L] }+> : '{' ty_fam_inst_eqns '}' { $2 }+> | open ty_fam_inst_eqns close { $2 }++> ty_fam_inst_eqns :: { [TypeEqn L] }+> : ty_fam_inst_eqns ';' ty_fam_inst_eqn { $1 ++ [$3] }+> | ty_fam_inst_eqns ';' { $1 }+> | ty_fam_inst_eqn { [$1] }+> | { [] }++> ty_fam_inst_eqn :: { TypeEqn L }+> : truectype '=' truectype+> {% do { checkEnabled TypeFamilies ;+> return (TypeEqn (ann $1 <++> ann $3 <** [$2]) $1 $3) } }++> data_or_newtype :: { DataOrNew L }+> : 'data' { DataType $ nIS $1 }+> | 'newtype' { NewType $ nIS $1 }++> typelist :: { ([Type L],[S]) }+> : types {% do { ts <- mapM checkType (fst $1);+> return $ (reverse ts, reverse (snd $1)) } }+> | truetype { ([$1],[]) }+> | {- empty -} { ([],[]) }++> decls :: { ([Decl L],[S]) }+> : optsemis decls1 optsemis {% checkRevDecls (fst $2) >>= \ds -> return (ds, reverse $1 ++ snd $2 ++ reverse $3) }+> | optsemis { ([],reverse $1) }++> decls1 :: { ([Decl L],[S]) }+> : decls1 semis decl { ($3 : fst $1, snd $1 ++ reverse $2) }+> | decl { ([$1],[]) }++> decl :: { Decl L }+> : signdecl { $1 }+> | fixdecl { $1 }+> | valdef { $1 }+> | pat_syn { $1 }+> | pattern_synonym_sig { $1 }++> decllist :: { Binds L }+> : '{' decls '}' { BDecls ($1 <^^> $3 <** ($1:snd $2++[$3])) (fst $2) }+> | open decls close { let l' = if null (fst $2) then nIS $3 else (ann . last $ fst $2)+> in BDecls (nIS $1 <++> l' <** ($1:snd $2++[$3])) (fst $2) }++> signdecl :: { Decl L }+> : signdecl0 { $1 }+> | specinldecl { $1 }++> signdecl0 :: { Decl L }+> : exp0b '::' truectype {% do { v <- checkSigVar $1;+> return $ TypeSig ($1 <> $3 <** [$2]) [v] $3 } }+> | exp0b ',' vars '::' truectype {% do { v <- checkSigVar $1;+> let {(vs,ss,_) = $3 ; l = $1 <> $5 <** ($2 : reverse ss ++ [$4]) } ;+> return $ TypeSig l (v : reverse vs) $5 } }++> specinldecl :: { Decl L }+> : '{-# INLINE' activation qvar '#-}' { let Loc l (INLINE s) = $1 in InlineSig (l <^^> $4 <** [l,$4]) s $2 $3 }+> | '{-# INLINE CONLIKE' activation qvar '#-}' { InlineConlikeSig ($1 <^^> $4 <** [$1,$4]) $2 $3 }+> | '{-# SPECIALISE' activation qvar '::' sigtypes '#-}'+> { SpecSig ($1 <^^> $6 <** ($1: $4 : snd $5 ++ [$6])) $2 $3 (fst $5) }+> | '{-# SPECIALISE INLINE' activation qvar '::' sigtypes '#-}'+> { let Loc l (SPECIALISE_INLINE s) = $1+> in SpecInlineSig (l <^^> $6 <** (l:$4:snd $5++[$6])) s $2 $3 (fst $5) }+> | '{-# SPECIALISE' 'instance' ctype '#-}' {% do { ih <- checkInstHeader $3;+> let {l = $1 <^^> $4 <** [$1,$2,$4]};+> return $ InstSig l ih } }+> | '{-# MINIMAL' name_boolformula '#-}' { MinimalPragma ($1 <^^> $3 <** [$1,$3]) $2 }++> sigtypes :: { ([Type L],[S]) }+> : sigtype { ([$1],[]) }+> | sigtype ',' sigtypes { ($1 : fst $3, $2 : snd $3) }++> sigtype :: { Type L }+> : ctype {% checkType $ mkTyForall (ann $1) Nothing Nothing $1 }++> name_boolformula :: { Maybe (BooleanFormula L) }+> : name_boolformula1 { Just $1 }+> | {- empty -} { Nothing }++> name_boolformula1 :: { BooleanFormula L }+> : name_boolformula_and { $1 }+> | name_boolformula_and '|' name_boolformula1 { OrFormula (ann $1 <++> ann $3 <** [$2]) [$1,$3] }++> name_boolformula_and :: { BooleanFormula L }+> : name_boolformula_atom { $1 }+> | name_boolformula_atom ',' name_boolformula_and { AndFormula (ann $1 <++> ann $3 <** [$2]) [$1,$3] }++> name_boolformula_atom :: { BooleanFormula L }+> : '(' name_boolformula1 ')' { ParenFormula ($1 <^^> $3 <** [$1,$3]) $2 }+> | var { VarFormula (ann $1) $1 }++Binding can be either of implicit parameters, or it can be a normal sequence+of declarations. The two kinds cannot be mixed within the same block of+binding.++> binds :: { Binds L }+> : decllist { $1 }+> | '{' ipbinds '}' { IPBinds ($1 <^^> $3 <** snd $2) (fst $2) }+> | open ipbinds close { let l' = ann . last $ fst $2+> in IPBinds (nIS $1 <++> l' <** snd $2) (fst $2) }++ATTENTION: Dirty Hackery Ahead! If the second alternative of vars is var+instead of qvar, we get another shift/reduce-conflict. Consider the+following programs:++ { (+) :: ... } only var+ { (+) x y = ... } could (incorrectly) be qvar++We re-use expressions for patterns, so a qvar would be allowed in patterns+instead of a var only (which would be correct). But deciding what the + is,+would require more lookahead. So let's check for ourselves...++> vars :: { ([Name L],[S],L) }+> : vars ',' var { let (ns,ss,l) = $1 in ($3 : ns, $2 : ss, l <++> ann $3) }+> | qvar {% do { n <- checkUnQual $1;+> return ([n],[],ann n) } }++-----------------------------------------------------------------------------+FFI++These will only be called on in the presence of a 'foreign' keyword,+so no need to check for extensions.++> callconv :: { CallConv L }+> : 'stdcall' { StdCall (nIS $1) }+> | 'ccall' { CCall (nIS $1) }+> | 'cplusplus' { CPlusPlus (nIS $1) }+> | 'dotnet' { DotNet (nIS $1) }+> | 'jvm' { Jvm (nIS $1) }+> | 'js' { Js (nIS $1) }+> | 'javascript' { JavaScript (nIS $1) }+> | 'capi' { CApi (nIS $1) }+++> safety :: { Maybe (Safety L) }+> : 'safe' { Just $ PlaySafe (nIS $1) False }+> | 'unsafe' { Just $ PlayRisky (nIS $1) }+> | 'threadsafe' { Just $ PlaySafe (nIS $1) True }+> | 'interruptible' { Just $ PlayInterruptible (nIS $1) }+> | {- empty -} { Nothing }++> fspec :: { (Maybe String, Name L, Type L, [S]) }+> : STRING var_no_safety '::' truedtype { let Loc l (StringTok (s,_)) = $1 in (Just s, $2, $4, [l,$3]) }+> | var_no_safety '::' truedtype { (Nothing, $1, $3, [$2]) }++-----------------------------------------------------------------------------+Pragmas++> rules :: { [Rule L] }+> : rules ';'rule { $3 : $1 }+> | rules ';' { $1 }+> | rule { [$1] }+> | {- empty -} { [] }++> rule :: { Rule L }+> : STRING activation ruleforall exp0 '=' trueexp {% do { let {Loc l (StringTok (s,_)) = $1};+> e <- checkRuleExpr $4;+> return $ Rule (nIS l <++> ann $6 <** l:snd $3 ++ [$5]) s $2 (fst $3) e $6 } }++> activation :: { Maybe (Activation L) }+> : {- empty -} { Nothing }+> | '[' INT ']' { let Loc l (IntTok (i,_)) = $2 in Just $ ActiveFrom ($1 <^^> $3 <** [$1,l,$3]) (fromInteger i) }+> | '[' '~' INT ']' { let Loc l (IntTok (i,_)) = $3 in Just $ ActiveUntil ($1 <^^> $4 <** [$1,$2,l,$4]) (fromInteger i) }++> ruleforall :: { (Maybe [RuleVar L],[S]) }+> : {- empty -} { (Nothing,[]) }+> | 'forall' rulevars '.' { (Just $2,[$1,$3]) }++> rulevars :: { [RuleVar L] }+> : rulevar { [$1] }+> | rulevar rulevars { $1 : $2 }++> rulevar :: { RuleVar L }+> : varid { RuleVar (ann $1) $1 }+> | '(' varid '::' truectype ')' { TypedRuleVar ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 }++> warndeprs :: { ([([Name L],String)],[S]) }+> : warndeprs ';' warndepr { (fst $3 : fst $1, snd $1 ++ ($2:snd $3)) }+> | warndeprs ';' { (fst $1, snd $1 ++ [$2]) }+> | warndepr { ([fst $1],snd $1) }+> | {- empty -} { ([],[]) }++> warndepr :: { (([Name L], String),[S]) }+> : namevars STRING { let Loc l (StringTok (s,_)) = $2 in ((fst $1,s),snd $1 ++ [l]) }++> namevars :: { ([Name L],[S]) }+> : namevar { ([$1],[]) }+> | namevar ',' namevars { ($1 : fst $3, $2 : snd $3) }++> namevar :: { Name L }+> : con { $1 }+> | var { $1 }++> annotation :: { Annotation L }+> : 'type' conid aexp {% checkExpr $3 >>= \e -> return (TypeAnn (nIS $1 <++> ann e <** [$1]) $2 e) }+> | 'module' aexp {% checkExpr $2 >>= \e -> return (ModuleAnn (nIS $1 <++> ann e <** [$1]) e) }+> | namevar aexp {% checkExpr $2 >>= \e -> return (Ann ($1 <> e) $1 e) }++-----------------------------------------------------------------------------+Types++Type equality contraints need the TypeFamilies extension.++> truedtype :: { Type L }+> : dtype {% checkType $1 }++> dtype :: { PType L }+> : dtype_('*',NEVER) { $1 }++> dtype_(ostar,kstar) :: { PType L }+> : btype_(ostar,kstar) { splitTilde $1 }+> | btype_(ostar,kstar) qtyconop dtype_(ostar,kstar) { TyInfix ($1 <> $3) $1 $2 $3 }+> | btype_(ostar,kstar) qtyvarop_(ostar) dtype_(ostar,kstar) { TyInfix ($1 <> $3) $1 (UnpromotedName (ann $2) $2) $3 } -- FIXME+> | btype_(ostar,kstar) '->' ctype_(ostar,kstar) { TyFun ($1 <> $3 <** [$2]) (splitTilde $1) $3 }+ | btype_(ostar,kstar) '~' btype_(ostar,kstar) {% do { checkEnabledOneOf [TypeFamilies, GADTs] ;+ let {l = $1 <> $3 <** [$2]};+ return $ TyPred l $ EqualP l $1 $3 } }++Implicit parameters can occur in normal types, as well as in contexts.++> truetype :: { Type L }+> : type {% checkType $1 }++> type :: { PType L }+> : type_('*',NEVER) { $1 }++> type_(ostar,kstar) :: { PType L }+> : ivar '::' dtype_(ostar,kstar) { let l = ($1 <> $3 <** [$2]) in TyPred l $ IParam l $1 $3 }+> | dtype_(ostar,kstar) { $1 }++> truebtype :: { Type L }+> : btype {% checkType (splitTilde $1) }+> trueatype :: { Type L }+> : atype {% checkType $1 }++> btype :: { PType L }+> : btype_('*',NEVER) { $1 }++> btype_(ostar,kstar) :: { PType L }+> : btype_(ostar,kstar) atype_(ostar,kstar) { TyApp ($1 <> $2) $1 $2 }+> | atype_(ostar,kstar) { $1 }++UnboxedTuples requires the extension, but that will be handled through+the (# and #) lexemes. Kinds will be handled at the kind rule.++> atype :: { PType L }+> : atype_('*',NEVER) { $1 }++> atype_(ostar,kstar) :: { PType L }+> : kstar { TyStar (nIS $1) }+> | gtycon_(ostar) { TyCon (ann $1) $1 }+> | tyvar {% checkTyVar $1 }+> | strict_mark atype { let (mstrict, mupack) = $1+> in bangType mstrict mupack $2 }+> | '(' types_(ostar,kstar) ')' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Boxed (reverse (fst $2)) }+> | '(#' types_bars2(ostar,kstar) '#)' { TyUnboxedSum ($1 <^^> $3 <** ($1: reverse ($3: snd $2))) (reverse (fst $2)) }+> | '(#' types1_(ostar,kstar) '#)' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Unboxed (reverse (fst $2)) }+> | '[' type_(ostar,kstar) ']' { TyList ($1 <^^> $3 <** [$1,$3]) $2 }+> | '[:' type_(ostar,kstar) ':]' { TyParArray ($1 <^^> $3 <** [$1,$3]) $2 }+> | '(' ctype_(ostar,kstar) ')' { TyParen ($1 <^^> $3 <** [$1,$3]) $2 }+> | '(' ctype_(ostar,kstar) '::' kind ')' { TyKind ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 }+> | '$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ ParenSplice l $2 }+> | '$$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ TParenSplice l $2 }+> | IDSPLICE { let Loc l (THIdEscape s) = $1 in TySplice (nIS l) $ IdSplice (nIS l) s }+> | TIDSPLICE { let Loc l (THTIdEscape s) = $1 in TySplice (nIS l) $ TIdSplice (nIS l) s }+> | '_' { TyWildCard (nIS $1) Nothing }+> | QUASIQUOTE { let Loc l (THQuasiQuote (n,q)) = $1 in TyQuasiQuote (nIS l) n q }+> | ptype_(ostar,kstar) { % checkEnabled DataKinds >> return (TyPromoted (ann $1) $1) }++> ptype_(ostar,kstar) :: { Promoted L }+> : VARQUOTE gcon_nolist {% fmap (PromotedCon (nIS $1 <++> ann $2 <** [$1]) True) (pexprToQName $2) }+> | VARQUOTE '[' types1_(ostar,kstar) ']' {% PromotedList ($1 <^^> $4 <** ($1:reverse($4:snd $3))) True . reverse <\$> mapM checkType (fst $3) }+> | '[' types_(ostar,kstar) ']' {% PromotedList ($1 <^^> $3 <** ($1:reverse($3:snd $2))) False . reverse <\$> mapM checkType (fst $2) }+> | VARQUOTE '[' ']' { PromotedList ($1 <^^> $3 <** [$1, $3]) True [] }+ | '[' ']' {% PromotedList ($1 <^^> $2 <** [$1, $2]) False [] }+> | VARQUOTE '(' types1 ')' {% PromotedTuple ($1 <^^> $4 <** ($1:reverse($4:snd $3))) . reverse <\$> mapM checkType (fst $3) }+> | INT { let Loc l (IntTok (i,raw)) = $1 in PromotedInteger (nIS l) i raw }+> | STRING { let Loc l (StringTok (s,raw)) = $1 in PromotedString (nIS l) s raw }+++> strict_mark :: { (Maybe (L -> BangType L,S), Maybe (Unpackedness L)) }+> : strictness { (Just $1, Nothing) }+> | unpackedness { (Nothing, Just $1) }+> | unpackedness strictness { (Just $2, Just $1) }++> strictness :: { (L -> BangType L, S) }+> : '!' { (BangedTy, $1) }+> | '~' { (LazyTy, $1) }++> unpackedness :: { Unpackedness L }+> : '{-# UNPACK' '#-}' { (Unpack ((nIS $1 <++> nIS $2) <** [$1,$2])) }+> | '{-# NOUNPACK' '#-}' { (NoUnpack ((nIS $1 <++> nIS $2) <** [$1,$2])) }+++> gtycon :: { QName L }+> : gtycon_('*') { $1 }++> gtycon_(ostar) :: { QName L }+> : otycon_(ostar) { $1 }+> | '(' ')' { unit_tycon_name ($1 <^^> $2 <** [$1,$2]) }+> | '(' '->' ')' { fun_tycon_name ($1 <^^> $3 <** [$1,$2,$3]) }+> | '[' ']' { list_tycon_name ($1 <^^> $2 <** [$1,$2]) }+> | '(' commas ')' { tuple_tycon_name ($1 <^^> $3 <** ($1:reverse $2 ++ [$3])) Boxed (length $2) }+> | '(#' '#)' { unboxed_singleton_tycon_name ($1 <^^> $2 <** [$1,$2]) }+> | '(#' commas '#)' { tuple_tycon_name ($1 <^^> $3 <** ($1:reverse $2 ++ [$3])) Unboxed (length $2) }++> otycon :: { QName L }+> : otycon_('*') { $1 }++> otycon_(ostar) :: { QName L }+> : qconid { $1 }+> | '(' gconsym ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }+> | '(' qvarsym_(ostar) ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }++These are for infix types++> qtyconop :: { MaybePromotedName L }+> : qconop { UnpromotedName (ann $1) $1 }+> | VARQUOTE gconsym { PromotedName (nIS $1 <++> ann $2 <** [$1]) $2 }+++(Slightly edited) Comment from GHC's hsparser.y:+"context => type" vs "type" is a problem, because you can't distinguish between++ foo :: (Baz a, Baz a)+ bar :: (Baz a, Baz a) => [a] -> [a] -> [a]++with one token of lookahead. The HACK is to parse the context as a btype+(more specifically as a tuple type), then check that it has the right form+C a, or (C1 a, C2 b, ... Cn z) and convert it into a context. Blaach!++Forall-quantified types require some extension to enable them, which+is any of the keyword-enabling ones, except ExistentialQuantification.++> truectype :: { Type L }+> : ctype {% checkType $1 }++> ctype :: { PType L }+> : ctype_('*',NEVER) { $1 }++> ctype_(ostar,kstar) :: { PType L }+> : 'forall' ktyvars '.' ctype_(ostar,kstar) { mkTyForall (nIS $1 <++> ann $4 <** [$1,$3]) (Just (reverse (fst $2))) Nothing $4 }+> | context_(ostar,kstar) ctype_(ostar,kstar) { mkTyForall ($1 <> $2) Nothing (Just $1) $2 }+> | type_(ostar,kstar) { $1 }++Equality constraints require the TypeFamilies extension.++> context :: { PContext L }+> : context_('*',NEVER) { $1 }++> context_(ostar,kstar) :: { PContext L }+> : btype_(ostar,kstar) '=>' {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) (splitTilde $1) }++> types :: { ([PType L],[S]) }+> : types_('*',NEVER) { $1 }++> types_(ostar,kstar) :: { ([PType L],[S]) }+> : types1_(ostar,kstar) ',' ctype_(ostar,kstar) { ($3 : fst $1, $2 : snd $1) }++> types1 :: { ([PType L],[S]) }+> : types1_('*',NEVER) { $1 }++> types1_(ostar,kstar) :: { ([PType L],[S]) }+> : ctype_(ostar,kstar) { ([$1],[]) }+> | types1_(ostar,kstar) ',' ctype_(ostar,kstar) { ($3 : fst $1, $2 : snd $1) }++> types_bars2(ostar,kstar) :: { ([PType L],[S]) }+> : ctype_(ostar,kstar) '|' ctype_(ostar,kstar) { ([$3, $1], [$2]) }+> | types_bars2(ostar,kstar) '|' ctype_(ostar,kstar) { ($3 : fst $1, $2 : snd $1) }++> ktyvars :: { ([TyVarBind L],Maybe L) }+> : ktyvars ktyvar { ($2 : fst $1, Just (snd $1 <?+> ann $2)) }+> | {- empty -} { ([],Nothing) }++> ktyvar :: { TyVarBind L }+> : tyvar { UnkindedVar (ann $1) $1 }+> | '(' tyvar '::' kind ')' { KindedVar ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 }++> tyvars :: { ([Name L],Maybe L) }+> : tyvars tyvar { ($2 : fst $1, Just (snd $1 <?+> ann $2)) }+> | {- empty -} { ([], Nothing) }++> tyvars1 :: { ([Name L],L) }+> : tyvars tyvar { ($2 : fst $1, snd $1 <?+> ann $2) }+++-----------------------------------------------------------------------------+Functional Dependencies++These require the FunctionalDependencies extension to be enabled.++> fds :: { ([FunDep L],[S],Maybe L) }+> : {- empty -} { ([],[], Nothing) }+> | '|' fds1 {% do { checkEnabled FunctionalDependencies ;+> let {(fds,ss,l) = $2} ;+> return (reverse fds, $1 : reverse ss, Just (nIS $1 <++> l)) } }++> fds1 :: { ([FunDep L],[S],L) }+> : fds1 ',' fd { let (fds,ss,l) = $1 in ($3 : fds, $2 : ss, l <++> ann $3) }+> | fd { ([$1],[],ann $1) }++> fd :: { FunDep L }+> : tyvars '->' tyvars1 { FunDep (snd $1 <?+> nIS $2 <++> snd $3 <** [$2]) (reverse (fst $1)) (reverse (fst $3)) }++-----------------------------------------------------------------------------+Datatype declarations++GADTs - require the GADTs extension enabled, but we handle that at the calling site.++ gadtlist :: { ([GadtDecl L],[S],L) }+ : gadtlist1 {% >> return $1 }++> gadtlist :: { ([GadtDecl L],[S],Maybe L) }+> : 'where' '{' gadtconstrs1 '}' {% return (fst $3, $1 : $2 : snd $3 ++ [$4], Just $ $1 <^^> $4) }+> | 'where' open gadtconstrs1 close {% return (fst $3, $1 : $2 : snd $3 ++ [$4], Just $ $1 <^^> $4) }+> | {- empty -} {% checkEnabled EmptyDataDecls >> return ([],[],Nothing) }++> gadtconstrs1 :: { ([GadtDecl L],[S]) }+> : optsemis gadtconstrs optsemis { (fst $2, reverse $1 ++ snd $2 ++ reverse $3) }++> gadtconstrs :: { ([GadtDecl L],[S]) }+> : gadtconstrs semis gadtconstr { ($3 ++ fst $1, snd $1 ++ reverse $2) }+> | gadtconstr { ($1,[]) }++> gadtconstr :: { [GadtDecl L] }+> : qcon '::' truectype {% do { c <- checkUnQual $1;+> return [GadtDecl ($1 <> $3 <** [$2]) c Nothing Nothing Nothing $3] } }+> | qcon '::' context '{' fielddecls '}' '->' truectype+> {% do { c <- checkUnQual $1;+> ctxt <- checkContext (Just $3) ;+> return [GadtDecl ($1 <> $8 <** [$2,$4,$6,$7] ++ snd $5) c Nothing ctxt (Just (reverse $ fst $5)) $8] } }+> | qcon '::' '{' fielddecls '}' '->' truectype+> {% do { c <- checkUnQual $1;+> return [GadtDecl ($1 <> $7 <** [$2,$3,$5,$6] ++ snd $4) c Nothing Nothing (Just (reverse $ fst $4)) $7] } }++To allow the empty case we need the EmptyDataDecls extension.+> constrs0 :: { ([QualConDecl L],[S],Maybe L) }+ : {- empty -} {% checkEnabled EmptyDataDecls >> return ([],[],Nothing) }+> : '=' constrs { let (ds,ss,l) = $2 in (ds, $1 : reverse ss, Just $ nIS $1 <++> l) }++> constrs :: { ([QualConDecl L],[S],L) }+> : constrs '|' constr { let (ds,ss,l) = $1 in ($3 : ds, $2 : ss, l <++> ann $3) }+> | constr { ([$1],[],ann $1) }++> constr :: { QualConDecl L }+> : forall context constr1 {% do { checkEnabled ExistentialQuantification ;+> ctxt <- checkContext (Just $2) ;+> let {(mtvs,ss,ml) = $1} ;+> return $ QualConDecl (ml <?+> ann $3 <** ss) mtvs ctxt $3 } }+> | forall constr1 { let (mtvs, ss, ml) = $1 in QualConDecl (ml <?+> ann $2 <** ss) mtvs Nothing $2 }++> forall :: { (Maybe [TyVarBind L], [S], Maybe L) }+> : 'forall' ktyvars '.' {% checkEnabled ExistentialQuantification >> return (Just (fst $2), [$1,$3], Just $ $1 <^^> $3) }+> | {- empty -} { (Nothing, [], Nothing) }++To avoid conflicts when introducing type operators, we need to parse record constructors+as qcon and then check separately that they are truly unqualified.++> constr1 :: { ConDecl L }+> : scontype { let (n,ts,l) = $1 in ConDecl l n ts }+> | truebtype conop truebtype { InfixConDecl ($1 <> $3) $1 $2 $3 }+> | qcon '{' '}' {% do { c <- checkUnQual $1; return $ RecDecl (ann $1 <++> nIS $3 <** [$2,$3]) c [] } }+> | qcon '{' fielddecls '}' {% do { c <- checkUnQual $1;+> return $ RecDecl (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) c (reverse (fst $3)) } }++> scontype :: { (Name L, [Type L], L) }+> : btype {% do { (c,ts) <- splitTyConApp $1;+> return (c, ts, ann $1) } }++> fielddecls :: { ([FieldDecl L],[S]) }+> : fielddecls ',' fielddecl { ($3 : fst $1, $2 : snd $1) }+> | fielddecl { ([$1],[]) }++> fielddecl :: { FieldDecl L }+> : vars '::' truectype { let (ns,ss,l) = $1 in FieldDecl (l <++> ann $3 <** (reverse ss ++ [$2])) (reverse ns) $3 }++> maybe_derivings :: { [Deriving L] }+> : {- empty -} { [] }+> | derivings { $1 }++> derivings :: { [Deriving L] }+> : derivings deriving { $2 : $1 }+> | deriving { [$1] }++> deriving :: { Deriving L }+> : 'deriving' deriv_clause_types+> { let (ihs, last_ss, sss) = $2+> in Deriving ($1 <^^> last_ss <** $1:sss) Nothing ihs }+> | 'deriving' deriv_strategy_no_via deriv_clause_types+> { let (ihs, last_ss, sss) = $3+> in Deriving ($1 <^^> last_ss <** $1:sss) (Just $2) ihs }+> | 'deriving' deriv_clause_types deriv_strategy_via+> { let (ihs, last_ss, sss) = $2+> in Deriving ($1 <^^> last_ss <** $1:sss) (Just $3) ihs }++> dclasses :: { ([InstRule L],[S]) }+> : types1 {% checkDeriving (fst $1) >>= \ds -> return (ds, snd $1) }++> qtycls1 :: { InstHead L }+> : qconid { IHCon (ann $1) $1 }++> deriv_clause_types :: { ([InstRule L], SrcSpan, [SrcSpan]) }+> : qtycls1 { [IRule (ann $1) Nothing Nothing $1], srcInfoSpan (ann $1), [] }+> | '(' ')' { [], $2, [$1, $2] }+> | '(' dclasses ')' { case fst $2 of+> [ts] -> ([IParen ($1 <^^> $3 <** [$1,$3]) ts], $3, [])+> tss -> (reverse tss, $3, $1: reverse (snd $2) ++ [$3]) }++-----------------------------------------------------------------------------+Kinds++> kind :: { Kind L }+> : kind1 {% checkEnabled KindSignatures >> return $1 }++> kind1 :: { Kind L }+> : ctype_(NEVER,'*') {% checkType $1 }++> optkind :: { (Maybe (Kind L), [S]) }+> : {-empty-} { (Nothing,[]) }+> | '::' kind { (Just $2,[$1]) }++> opt_tyconsig :: { Maybe ( S, QName L ) }+> : {- empty -} { Nothing }+> | '::' gtycon { Just ($1, $2) }+-----------------------------------------------------------------------------+Class declarations++TODO: Lots of stuff to pass around here.++No implicit parameters in the where clause of a class declaration.+> optcbody :: { (Maybe [ClassDecl L],[S],Maybe L) }+> : 'where' '{' cldecls '}' {% checkClassBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4)) }+> | 'where' open cldecls close {% do { vs <- checkClassBody (fst $3);+> let { l' = if null (fst $3) then nIS $4 else (ann . last $ fst $3) };+> return (Just vs, $1:$2: snd $3 ++ [$4], Just (nIS $1 <++> l')) } }+> | {- empty -} { (Nothing,[],Nothing) }++> cldecls :: { ([ClassDecl L],[S]) }+> : optsemis cldecls1 optsemis {% checkRevClsDecls (fst $2) >>= \cs -> return (cs, reverse $1 ++ snd $2 ++ reverse $3) }+> | optsemis { ([],reverse $1) }++> cldecls1 :: { ([ClassDecl L],[S]) }+> : cldecls1 semis cldecl { ($3 : fst $1, snd $1 ++ reverse $2) }+> | cldecl { ([$1],[]) }++Associated types require the TypeFamilies extension.++> cldecl :: { ClassDecl L }+> : decl { ClsDecl (ann $1) $1 }+> | atdecl {% checkEnabled TypeFamilies >> return $1 }+> | 'default' signdecl {% checkEnabled DefaultSignatures >> checkDefSigDef $2 >>= \(n,t,l) -> return (ClsDefSig (nIS $1 <++> ann $2 <** [$1,l]) n t) }++> opt_family :: { [S] }+> : {- empty -} { [] }+> | 'family' { [$1] }++> atdecl :: { ClassDecl L }+> : 'data' opt_family type opt_datafam_kind_sig+> {% do { (cs,dh) <- checkDataHeader $3;+> return (ClsDataFam (nIS $1 <++> ann $3 <+?> (fmap ann) $4 <** [$1]) cs dh $4) } }+> | 'type' type opt_at_kind_inj_sig2+> {% mkAssocType $1 $2 $3 }+> | 'type' 'family' type opt_at_kind_inj_sig+> {% do { dh <- checkSimpleType $3;+> return (ClsTyFam (nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4)+> <+?> (fmap ann) (snd $4)+> <** [$1]) dh (fst $4) (snd $4)) } }+> | 'type' 'instance' ty_fam_inst_eqn+> { ClsTyDef (nIS $1 <++> ann $3 <** [$1,$2]) $3 }++-----------------------------------------------------------------------------+Instance declarations++> optvaldefs :: { (Maybe [InstDecl L],[S],Maybe L) }+> : 'where' '{' valdefs '}' {% checkInstBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4)) }+> | 'where' open valdefs close {% checkInstBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4)) }+> | {- empty -} { (Nothing, [], Nothing) }++> valdefs :: { ([InstDecl L],[S]) }+> : optsemis valdefs1 optsemis {% checkRevInstDecls (fst $2) >>= \is -> return (is, reverse $1 ++ snd $2 ++ reverse $3) }+> | optsemis { ([],reverse $1) }++> valdefs1 :: { ([InstDecl L],[S]) }+> : valdefs1 semis insvaldef { ($3 : fst $1, snd $1 ++ reverse $2) }+> | insvaldef { ([$1],[]) }++Associated types require the TypeFamilies extension enabled.++> insvaldef :: { InstDecl L }+> : valdef { InsDecl (ann $1) $1 }+> | atinst {% checkEnabled TypeFamilies >> return $1 }+> | specinldecl { InsDecl (ann $1) $1 }+> | signdecl0 {% checkEnabled InstanceSigs >> return (InsDecl (ann $1) $1) }++ inlinst :: { InstDecl L }+ : '{-# INLINE' activation qvar '#-}' { let Loc l (INLINE s) = $1 in InsInline (l <^^> $4 <** [l,$4]) s $2 $3 }++> atinst :: { InstDecl L }+> : 'type' truedtype '=' truectype+> {% do { -- no checkSimpleType $4 since dtype may contain type patterns+> return (InsType (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4) } }+> | data_or_newtype truectype constrs0 maybe_derivings+> {% do { -- (cs,c,t) <- checkDataHeader $4;+> let {(ds,ss,minf) = $3};+> checkDataOrNew $1 ds;+> return (InsData ($1 <> $2 <+?> minf <+?> fmap ann (listToMaybe $4) <** ss ) $1 $2 (reverse ds) (reverse $4)) } }+> | data_or_newtype truectype optkind gadtlist maybe_derivings+> {% do { -- (cs,c,t) <- checkDataHeader $4;+> let { (gs,ss,minf) = $4 } ;+> checkDataOrNewG $1 gs;+> return $ InsGData (ann $1 <+?> minf <+?> fmap ann (listToMaybe $5) <** (snd $3 ++ ss)) $1 $2 (fst $3) (reverse gs) (reverse $5) } }++-----------------------------------------------------------------------------+Value definitions++> valdef :: { Decl L }+> : exp0b optsig rhs optwhere {% checkValDef (($1 <> $3 <+?> (fmap ann) (fst $4)) <** (snd $4)) $1 $2 $3 (fst $4) }+> | '!' aexp rhs optwhere {% do { checkEnabled BangPatterns ;+> let { l = nIS $1 <++> ann $2 <** [$1] };+> p <- checkPattern (BangPat l $2);+> return $ PatBind (p <> $3 <+?> (fmap ann) (fst $4) <** snd $4)+> p $3 (fst $4) } }++May bind implicit parameters+> optwhere :: { (Maybe (Binds L),[S]) }+> : 'where' binds { (Just $2, [$1]) }+> | {- empty -} { (Nothing, []) }++Type signatures on value definitions require ScopedTypeVariables (or PatternSignatures, which is deprecated).++> optsig :: { (Maybe (Type L, S)) }+> : '::' truectype {% checkEnabled ScopedTypeVariables >> return (Just ($2, $1)) }+> | {- empty -} { Nothing }++> rhs :: { Rhs L }+> : '=' trueexp { UnGuardedRhs (nIS $1 <++> ann $2 <** [$1]) $2 }+> | gdrhs { GuardedRhss (snd $1) (reverse $ fst $1) }++> gdrhs :: { ([GuardedRhs L],L) }+> : gdrhs gdrh { ($2 : fst $1, snd $1 <++> ann $2) }+> | gdrh { ([$1],ann $1) }++Guards may contain patterns if PatternGuards is enabled, hence quals instead of exp.+> gdrh :: { GuardedRhs L }+> : '|' quals '=' trueexp {% do { checkPatternGuards (fst $2);+> return $ GuardedRhs (nIS $1 <++> ann $4 <** ($1:snd $2 ++ [$3])) (reverse (fst $2)) $4 } }++-----------------------------------------------------------------------------+Expressions++Note: The Report specifies a meta-rule for lambda, let and if expressions+(the exp's that end with a subordinate exp): they extend as far to+the right as possible. That means they cannot be followed by a type+signature or infix application. To implement this without shift/reduce+conflicts, we split exp10 into these expressions (exp10a) and the others+(exp10b). That also means that only an exp0 ending in an exp10b (an exp0b)+can followed by a type signature or infix application. So we duplicate+the exp0 productions to distinguish these from the others (exp0a).++Ugly: We need non-parenthesized post-operators for HaRP, and to parse both+these and normal left sections, we parse both as PostOp and let the post pass+mangle them into the correct form depending on context.++> trueexp :: { Exp L }+> : exp {% checkExpr $1 }++> exp :: { PExp L }+> : exp0b '::' truectype { ExpTypeSig ($1 <> $3 <** [$2]) $1 $3 }+> | exp0 { $1 }+> | exp0b qop { PostOp ($1 <> $2) $1 $2 }+> | exp0b '-<' exp { LeftArrApp ($1 <> $3 <** [$2]) $1 $3 }+> | exp0b '>-' exp { RightArrApp ($1 <> $3 <** [$2]) $1 $3 }+> | exp0b '-<<' exp { LeftArrHighApp ($1 <> $3 <** [$2]) $1 $3 }+> | exp0b '>>-' exp { RightArrHighApp ($1 <> $3 <** [$2]) $1 $3 }++> exp0 :: { PExp L }+> : exp0a { $1 }+> | exp0b { $1 }++> exp0a :: { PExp L }+> : exp0b qop exp10a { InfixApp ($1 <> $3) $1 $2 $3 }+> | exp10a { $1 }++> exp0b :: { PExp L }+> : exp0b qop exp10b { InfixApp ($1 <> $3) $1 $2 $3 }+> | exp10b { $1 }++> exp10a :: { PExp L }+> : expblocka { $1 }+> | fexp expblocka {% checkEnabled BlockArguments >>+> return (App ($1 <> $2) $1 $2) }++> expblocka :: { PExp L }+> : '\\' apats '->' exp { Lambda (nIS $1 <++> ann $4 <** [$1,$3]) (reverse $2) $4 }+A let may bind implicit parameters+> | 'let' binds 'in' exp { Let (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }+> | 'if' exp optlayoutsemi 'then' exp optlayoutsemi 'else' exp+> { If (nIS $1 <++> ann $8 <** ($1:$3 ++ $4:$6 ++ [$7])) $2 $5 $8 }+> | 'if' ifaltslist {% checkEnabled MultiWayIf >>+> let (alts, inf, ss) = $2+> in return (MultiIf (nIS $1 <++> inf <** ($1:ss)) alts) }+> | 'proc' apat '->' exp { Proc (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }+> | exppragma { $1 }++> optlayoutsemi :: { [S] }+> : ';' {% checkEnabled DoAndIfThenElse >> return [$1] }+> | {- empty -} { [] }++We won't come here unless XmlSyntax is already checked.+> opthsxsemi :: { [S] }+> : ';' { [$1] }+> | {- empty -} { [] }+++mdo blocks require the RecursiveDo extension enabled, but the lexer handles that.++> exp10b :: { PExp L }+> : expblockb { $1 }+> | '-' fexp { NegApp (nIS $1 <++> ann $2 <** [$1]) $2 }+> | fexp { $1 }++> expblockb :: { PExp L }+> : 'case' exp 'of' altslist { let (als, inf, ss) = $4 in Case (nIS $1 <++> inf <** ($1:$3:ss)) $2 als }+> | '\\' 'case' altslist {% do { checkEnabled LambdaCase ;+> let { (als, inf, ss) = $3 } ;+> return (LCase (nIS $1 <++> inf <** ($1:$2:ss)) als) } }+> | 'do' stmtlist { let (sts, inf, ss) = $2 in Do (nIS $1 <++> inf <** $1:ss) sts }+> | 'mdo' stmtlist { let (sts, inf, ss) = $2 in MDo (nIS $1 <++> inf <** $1:ss) sts }++> exppragma :: { PExp L }+> : '{-# CORE' STRING '#-}' exp { let Loc l (StringTok (s,_)) = $2 in CorePragma (nIS $1 <++> ann $4 <** [l,$3]) s $4 }+> | '{-# SCC' STRING '#-}' exp { let Loc l (StringTok (s,_)) = $2 in SCCPragma (nIS $1 <++> ann $4 <** [l,$3]) s $4 }+> | '{-# GENERATED' STRING INT ':' INT '-' INT ':' INT '#-}' exp+> { let { Loc l0 (StringTok (s,_)) = $2;+> Loc l1 (IntTok (i1,_)) = $3;+> Loc l2 (IntTok (i2,_)) = $5;+> Loc l3 (IntTok (i3,_)) = $7;+> Loc l4 (IntTok (i4,_)) = $9}+> in GenPragma (nIS $1 <++> ann $11 <** [$1,l0,l1,$4,l2,$6,l3,$8,l4,$10])+> s (fromInteger i1, fromInteger i2)+> (fromInteger i3, fromInteger i4) $11 }++> fexp :: { PExp L }+> : fexp aexp { App ($1 <> $2) $1 $2 }+> | fexp expblockb {% checkEnabled BlockArguments >>+> return (App ($1 <> $2) $1 $2) }+> | aexp { $1 }++> apats :: { [Pat L] }+> : apats apat { $2 : $1 }+> | apat { [$1] }++> apat :: { Pat L }+> : aexp {% checkPattern $1 }+> | '!' aexp {% checkPattern (BangPat (nIS $1 <++> ann $2 <** [$1]) $2) }++UGLY: Because patterns and expressions are mixed, aexp has to be split into+two rules: One right-recursive and one left-recursive. Otherwise we get two+reduce/reduce-errors (for as-patterns and irrefutable patters).++Even though the variable in an as-pattern cannot be qualified, we use+qvar here to avoid a shift/reduce conflict, and then check it ourselves+(as for vars above).++Non-linear name binding, @:, requires RegularPatterns, but the lexer handles that.++> aexp :: { PExp L }+> : qvar '@' aexp {% do { n <- checkUnQual $1;+> return (AsPat ($1 <> $3 <** [$2]) n $3) } }+> | qvar '@:' aexp {% do { n <- checkUnQual $1;+> return (CAsRP ($1 <> $3 <** [$2]) n $3) } }+> | '~' aexp { IrrPat (nIS $1 <++> ann $2 <** [$1]) $2 }+> | TYPEAPP trueatype { TypeApp (nIS $1 <++> ann $2 <** [$1]) $2 }+> | aexp1 { $1 }++Note: The first two alternatives of aexp1 are not necessarily record+updates: they could be labeled constructions.++> aexp1 :: { PExp L }+> : aexp1 '{' '}' {% liftM (amap (const (ann $1 <++> nIS $3 <** [$2,$3]))) $ mkRecConstrOrUpdate $1 [] }+> | aexp1 '{' fbinds '}' {% liftM (amap (const (ann $1 <++> nIS $4 <** ($2:snd $3 ++ [$4]))))+> $ mkRecConstrOrUpdate $1 (fst $3) }+> | aexp2 { $1 }++According to the Report, the left section (e op) is legal iff (e op x)+parses equivalently to ((e) op x). Thus e must be an exp0b.+An implicit parameter can be used as an expression, enabled by the lexer.+Extensions using banana brackets are also enabled by the lexer. The only+thing we need to look at here is the erpats that use no non-standard lexemes.++> aexp2 :: { PExp L }+> : ivar { IPVar (ann $1) $1 }+> | overloaded_label { $1 }+> | qvar { Var (ann $1) $1 }+> | gcon { $1 }+> | literal { Lit (ann $1) $1 }+> | '(' texp ')' { Paren ($1 <^^> $3 <** [$1,$3]) $2 }+> | '(' tup_exprs ')' {% do { e <- mkSumOrTuple Boxed ($1 <^^> $3) (snd $2)+> ; return $ amap (\l -> l <** [$1] ++ fst $2 ++ [$3]) e } }+> | '(#' texp '#)' { TupleSection ($1 <^^> $3 <** [$1,$3]) Unboxed [Just $2] }+> | '(#' tup_exprs '#)' {% do { e <- mkSumOrTuple Unboxed ($1 <^^> $3) (snd $2)+> ; return $ amap (\l -> l <** [$1] ++ fst $2 ++ [$3]) e } }+> | '[' list ']' { amap (\l -> l <** [$3]) $ $2 ($1 <^^> $3 <** [$1]) }+> | '[:' parr ':]' { amap (\l -> l <** [$3]) $ $2 ($1 <^^> $3 <** [$1]) }+> | '(' erpats ')' {% checkEnabled RegularPatterns >> return (Paren ($1 <^^> $3 <** [$1,$3]) $2) }+> | '(|' exp '|)' { ArrOp ($1 <^^> $3 <** [$1,$3]) $2 }+> | '(/' sexps '/)' { SeqRP ($1 <^^> $3 <** ($1:reverse (snd $2) ++ [$3])) $ reverse (fst $2) }+> | '(/' exp '|' quals '/)' { GuardRP ($1 <^^> $5 <** ($1:$3 : snd $4 ++ [$5])) $2 $ (reverse $ fst $4) }+> | xml { $1 }+++Template Haskell - all this is enabled in the lexer.+> | IDSPLICE { let Loc l (THIdEscape s) = $1 in SpliceExp (nIS l) $ IdSplice (nIS l) s }+> | TIDSPLICE { let Loc l (THTIdEscape s) = $1 in SpliceExp (nIS l) $ TIdSplice (nIS l) s }+> | '$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in SpliceExp l $ ParenSplice l $2 }+> | '$$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in SpliceExp l $ TParenSplice l $2 }+> | '[|' trueexp '|]' { let l = ($1 <^^> $3 <** [$1,$3]) in BracketExp l $ ExpBracket l $2 }+> | '[||' trueexp '||]' { let l = ($1 <^^> $3 <** [$1,$3]) in BracketExp l $ TExpBracket l $2 }+> | '[p|' exp0 '|]' {% do { p <- checkPattern $2;+> let {l = ($1 <^^> $3 <** [$1,$3]) };+> return $ BracketExp l $ PatBracket l p } }+> | '[t|' truectype '|]' { let l = $1 <^^> $3 <** [$1,$3] in BracketExp l $ TypeBracket l $2 }+> | '[d|' open topdecls close '|]' { let l = $1 <^^> $5 <** ($1:snd $3 ++ [$5])+> in BracketExp l $ DeclBracket ($1 <^^> $5 <** ($2:snd $3 ++ [$4,$5])) (fst $3) }+> | VARQUOTE '(' ')' { let {l1 = $1 <^^> $3 <** [$1];+> l2 = $2 <^^> $3 <** [$2,$3];}+> in VarQuote l1 (unit_con_name l2) }+> | VARQUOTE '[' ']' { let {l1 = $1 <^^> $3 <** [$1];+> l2 = $2 <^^> $3 <** [$2,$3];}+> in VarQuote l1 (list_con_name l2) }+> | VARQUOTE qvar { VarQuote (nIS $1 <++> ann $2 <** [$1]) $2 }+> | VARQUOTE qcon { VarQuote (nIS $1 <++> ann $2 <** [$1]) $2 }+> | TYPQUOTE tyvar { TypQuote (nIS $1 <++> ann $2 <** [$1]) (UnQual (ann $2) $2) }+> | TYPQUOTE gtycon { TypQuote (nIS $1 <++> ann $2 <** [$1]) $2 }+> | QUASIQUOTE { let Loc l (THQuasiQuote (n,q)) = $1 in QuasiQuote (nIS l) n q }+End Template Haskell++> tup_exprs :: { ([S], SumOrTuple L) }+> : texp commas_tup_tail { (fst $2, STuple (Just $1 : snd $2)) }+> | texp bars { ($2, SSum 0 (length $2) $1) }+> | commas tup_tail { ($1 ++ (fst $2), STuple ((map (const Nothing) $1) ++ snd $2)) }+> | bars texp bars0 { ($1 ++ $3, SSum (length $1) (length $3) $2) }++> commas_tup_tail :: { ([S], [Maybe (PExp L)]) }+> : commas tup_tail { (reverse $1 ++ fst $2, map (const Nothing) (tail $1) ++ snd $2) }++> tup_tail :: { ([S], [Maybe (PExp L)]) }+> : texp commas_tup_tail { (fst $2, Just $1 : snd $2) }+> | texp { ([], [Just $1]) }+> | {- empty -} { ([], [Nothing]) }++> commas :: { [S] }+> : commas ',' { $2 : $1 }+> | ',' { [$1] }++> bars :: { [S] }+> : bars '|' { $2 : $1 }+> | '|' { [$1] }++> bars0 :: { [S] }+> : bars { $1 }+> | { [] }++> texp :: { PExp L }+> : exp { $1 }+> | qopm exp0 { PreOp ($1 <> $2) $1 $2 }+> | exp '->' pat {% do {checkEnabled ViewPatterns;+> return $ ViewPat ($1 <> $3 <** [$2]) $1 $3} }++-----------------------------------------------------------------------------+Harp Extensions++> sexps :: { ([PExp L],[S]) }+> : sexps ',' exp { ($3 : fst $1, $2 : snd $1) }+> | exp { ([$1],[]) }++Either patterns are left associative+> erpats :: { PExp L }+> : exp '|' erpats { EitherRP ($1 <> $3 <** [$2]) $1 $3 }+> | exp '|' exp { EitherRP ($1 <> $3 <** [$2]) $1 $3 }++-----------------------------------------------------------------------------+Hsx Extensions - requires XmlSyntax, but the lexer handles all that.++> xml :: { PExp L }+> : '<' name attrs mattr '>' children opthsxsemi '</' name '>'+> {% do { n <- checkEqNames $2 $9;+> let { cn = reverse $6;+> as = reverse $3;+> l = $1 <^^> $10 <** [$1,$5] ++ $7 ++ [$8,srcInfoSpan (ann $9),$10] };+> return $ XTag l n as $4 cn } }+> | '<' name attrs mattr '/>' { XETag ($1 <^^> $5 <** [$1,$5]) $2 (reverse $3) $4 }+> | '<%' exp '%>' { XExpTag ($1 <^^> $3 <** [$1,$3]) $2 }+> | '<%>' children opthsxsemi '</' '%>' { XChildTag ($1 <^^> $5 <** ($1:$3++[$4,$5])) (reverse $2) }++> children :: { [PExp L] }+> : children child { $2 : $1 }+> | {- empty -} { [] }++> child :: { PExp L }+> : PCDATA { let Loc l (XPCDATA pcd) = $1 in XPcdata (nIS l) pcd }+> | '<[' sexps ']>' { XRPats ($1 <^^> $3 <** (snd $2 ++ [$1,$3])) $ reverse (fst $2) }+> | xml { $1 }++> name :: { XName L }+> : xmlname ':' xmlname { let {Loc l1 s1 = $1; Loc l2 s2 = $3}+> in XDomName (nIS l1 <++> nIS l2 <** [l1,$2,l2]) s1 s2 }+> | xmlname { let Loc l str = $1 in XName (nIS l) str }++> xmlname :: { Loc String }+> : VARID { let Loc l (VarId s) = $1 in Loc l s }+> | CONID { let Loc l (ConId s) = $1 in Loc l s }+> | DVARID { let Loc l (DVarId s) = $1 in Loc l $ mkDVar s }+> | xmlkeyword { $1 }++> xmlkeyword :: { Loc String }+> : 'type' { Loc $1 "type" }+> | 'class' { Loc $1 "class" }+> | 'data' { Loc $1 "data" }+> | 'foreign' { Loc $1 "foreign" }+> | 'export' { Loc $1 "export" }+> | 'safe' { Loc $1 "safe" }+> | 'unsafe' { Loc $1 "unsafe" }+> | 'interruptible' { Loc $1 "interruptible" }+> | 'threadsafe' { Loc $1 "threadsafe" }+> | 'stdcall' { Loc $1 "stdcall" }+> | 'ccall' { Loc $1 "ccall" }+> | 'cplusplus' { Loc $1 "cplusplus" }+> | 'dotnet' { Loc $1 "dotnet" }+> | 'jvm' { Loc $1 "jvm" }+> | 'js' { Loc $1 "js" }+> | 'javascript' { Loc $1 "javascript" }+> | 'capi' { Loc $1 "capi" }+> | 'as' { Loc $1 "as" }+> | 'by' { Loc $1 "by" }+> | 'case' { Loc $1 "case" }+> | 'default' { Loc $1 "default" }+> | 'deriving' { Loc $1 "deriving" }+> | 'do' { Loc $1 "do" }+> | 'else' { Loc $1 "else" }+> | 'family' { Loc $1 "family" }+> | 'forall' { Loc $1 "forall" }+> | 'group' { Loc $1 "group" }+> | 'hiding' { Loc $1 "hiding" }+> | 'if' { Loc $1 "if" }+> | 'import' { Loc $1 "import" }+> | 'in' { Loc $1 "in" }+> | 'infix' { Loc $1 "infix" }+> | 'infixl' { Loc $1 "infixl" }+> | 'infixr' { Loc $1 "infixr" }+> | 'instance' { Loc $1 "instance" }+> | 'let' { Loc $1 "let" }+> | 'mdo' { Loc $1 "mdo" }+> | 'module' { Loc $1 "module" }+> | 'newtype' { Loc $1 "newtype" }+> | 'of' { Loc $1 "of" }+> | 'proc' { Loc $1 "proc" }+> | 'rec' { Loc $1 "rec" }+> | 'then' { Loc $1 "then" }+> | 'using' { Loc $1 "using" }+> | 'where' { Loc $1 "where" }+> | 'qualified' { Loc $1 "qualified" }+++> attrs :: { [ParseXAttr L] }+> : attrs attr { $2 : $1 }+> | {- empty -} { [] }++> attr :: { ParseXAttr L }+> : name '=' aexp { XAttr ($1 <> $3 <** [$2]) $1 $3 }++> mattr :: { Maybe (PExp L) }++> : aexp { Just $1 }+> | {-empty-} { Nothing }++-----------------------------------------------------------------------------+List expressions++The rules below are little bit contorted to keep lexps left-recursive while+avoiding another shift/reduce-conflict.++> list :: { L -> PExp L }+> : texp { \l -> List l [$1] }+> | lexps { \l -> let (ps,ss) = $1 in List (l <** reverse ss) (reverse ps) }+> | texp '..' { \l -> EnumFrom (l <** [$2]) $1 }+> | texp ',' exp '..' { \l -> EnumFromThen (l <** [$2,$4]) $1 $3 }+> | texp '..' exp { \l -> EnumFromTo (l <** [$2]) $1 $3 }+> | texp ',' exp '..' exp { \l -> EnumFromThenTo (l <** [$2,$4]) $1 $3 $5 }+> | texp '|' pqualstmts { \l -> let (stss, ss) = $3 in ParComp (l <** ($2:ss)) $1 (reverse stss) }++> lexps :: { ([PExp L],[S]) }+> : lexps ',' texp { let (es, ss) = $1 in ($3 : es, $2 : ss) }+> | texp ',' texp { ([$3,$1], [$2]) }++-----------------------------------------------------------------------------+List comprehensions++> pqualstmts :: { ([[QualStmt L]],[S]) }+> : pqualstmts '|' qualstmts { let { (stss, ss1) = $1;+> (sts, ss2) = $3 }+> in (reverse sts : stss, ss1 ++ [$2] ++ reverse ss2) }+> | qualstmts { let (sts, ss) = $1 in ([reverse sts], reverse ss) }++> qualstmts :: { ([QualStmt L],[S]) }+> : qualstmts ',' qualstmt { let (sts, ss) = $1 in ($3 : sts, $2 : ss) }+> | qualstmt { ([$1],[]) }++> qualstmt :: { QualStmt L }+> : transformqual { $1 }+> | qual { QualStmt (ann $1) $1 }++> transformqual :: { QualStmt L }+> : 'then' trueexp { ThenTrans (nIS $1 <++> ann $2 <** [$1]) $2 }+> | 'then' trueexp 'by' trueexp { ThenBy (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }+> | 'then' 'group' 'by' trueexp { GroupBy (nIS $1 <++> ann $4 <** [$1,$2,$3]) $4 }+> | 'then' 'group' 'using' trueexp { GroupUsing (nIS $1 <++> ann $4 <** [$1,$2,$3]) $4 }+> | 'then' 'group' 'by' trueexp 'using' trueexp { GroupByUsing (nIS $1 <++> ann $6 <** [$1,$2,$3,$5]) $4 $6 }++> quals :: { ([Stmt L],[S]) }+> : quals ',' qual { let (sts, ss) = $1 in ($3 : sts, $2 : ss) }+> | qual { ([$1],[]) }++> qual :: { Stmt L }+> : pat '<-' trueexp { Generator ($1 <> $3 <** [$2]) $1 $3 }+> | trueexp { Qualifier (ann $1) $1 }+> | 'let' binds { LetStmt (nIS $1 <++> ann $2 <** [$1]) $2 }++-----------------------------------------------------------------------------+Parallel array expressions++See comments on list expressions. Parallel arrays are finite sequences.+This definition also allows empty arrays.++> parr :: { L -> PExp L }+> : { \l -> ParArray l [] }+> | texp { \l -> ParArray l [$1] }+> | lexps { \l -> let (ps,ss) = $1 in ParArray (l <** reverse ss) (reverse ps) }+> | texp '..' exp { \l -> ParArrayFromTo (l <** [$2]) $1 $3 }+> | texp ',' exp '..' exp { \l -> ParArrayFromThenTo (l <** [$2,$4]) $1 $3 $5 }+> | texp '|' pqualstmts { \l -> let (stss, ss) = $3 in ParArrayComp (l <** ($2:ss)) $1 (reverse stss) }++-----------------------------------------------------------------------------+Case alternatives++> altslist :: { ([Alt L],L,[S]) }+> : '{' alts '}' { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }+> | open alts close { let l' = ann . last $ fst $2+> in (fst $2, nIS $1 <++> l', $1:snd $2 ++ [$3]) }+> | '{' '}' {% do { checkEnabled EmptyCase;+> return ([], $1 <^^> $2, [$1, $2]) } }+++> alts :: { ([Alt L],[S]) }+> : optsemis alts1 optsemis { (reverse $ fst $2, $1 ++ snd $2 ++ $3) }++> alts1 :: { ([Alt L],[S]) }+> : alts1 semis alt { ($3 : fst $1, snd $1 ++ $2) }+> | alt { ([$1],[]) }++> alt :: { Alt L }+> : pat ralt optwhere { Alt ($1 <> $2 <+?> (fmap ann) (fst $3) <** snd $3) $1 $2 (fst $3) }++> ralt :: { Rhs L }+> : '->' trueexp { UnGuardedRhs (nIS $1 <++> ann $2 <** [$1]) $2 }+> | gdpats { GuardedRhss (snd $1) (reverse $ fst $1) }++> gdpats :: { ([GuardedRhs L],L) }+> : gdpats gdpat { ($2 : fst $1, snd $1 <++> ann $2) }+> | gdpat { ([$1], ann $1) }++A guard can be a pattern guard if PatternGuards is enabled, hence quals instead of exp0.+> gdpat :: { GuardedRhs L }+> : '|' quals '->' trueexp {% do { checkPatternGuards (fst $2);+> let {l = nIS $1 <++> ann $4 <** ($1:snd $2 ++ [$3])};+> return (GuardedRhs l (reverse (fst $2)) $4) } }++> pat :: { Pat L }+> : exp {% checkPattern $1 }+> | '!' aexp {% checkPattern (BangPat (nIS $1 <++> ann $2 <** [$1]) $2) }++> ifaltslist :: { ([GuardedRhs L], L, [S]) }+> : '{' ifalts '}' { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }+> | open ifalts close { let l' = ann . last $ fst $2+> in (fst $2, nIS $1 <++> l', $1:snd $2 ++ [$3]) }++> ifalts :: { ([GuardedRhs L], [S]) }+> : optsemis ifalts1 optsemis { (reverse $ fst $2, $1 ++ snd $2 ++ $3) }++> ifalts1 :: { ([GuardedRhs L], [S]) }+> : ifalts1 optsemis gdpat { ($3 : fst $1, snd $1 ++ $2) }+> | gdpat { ([$1], []) }++-----------------------------------------------------------------------------+Statement sequences++As per the Report, but with stmt expanded to simplify building the list+without introducing conflicts. This also ensures that the last stmt is+an expression.++TODO: The points can't be added here, must be propagated!++> stmtlist :: { ([Stmt L],L,[S]) }+> : '{' stmts '}' { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }+> | open stmts close { let l' = ann . last $ fst $2+> in (fst $2, nIS $1 <++> l', $1:snd $2 ++ [$3]) }++> stmts :: { ([Stmt L],[S]) }+> : stmt stmts1 { ($1 : fst $2, snd $2) }+> | ';' stmts { (fst $2, $1 : snd $2) }+> | {- empty -} { ([],[]) }++> stmts1 :: { ([Stmt L],[S]) }+> : ';' stmts { (fst $2, $1 : snd $2) }+> | {- empty -} { ([],[]) }++A let statement may bind implicit parameters.+> stmt :: { Stmt L }+> : 'let' binds { LetStmt (nIS $1 <++> ann $2 <** [$1]) $2 }+> | pat '<-' trueexp { Generator ($1 <> $3 <** [$2]) $1 $3 }+> | trueexp { Qualifier (ann $1) $1 }+> | 'rec' stmtlist { let (stms,inf,ss) = $2 in RecStmt (nIS $1 <++> inf <** $1:ss) stms }++-----------------------------------------------------------------------------+Record Field Update/Construction++> fbinds :: { ([PFieldUpdate L],[S]) }+> : fbind ',' fbinds { let (fbs, ss) = $3 in ($1 : fbs, $2 : ss) }+> | fbind { ([$1],[]) }+> | '..' {% do { checkEnabled RecordWildCards `atSrcLoc` (getPointLoc $1);+> return ([FieldWildcard (nIS $1)], []) } }++Puns and wild cards need the respective extensions enabled.++> fbind :: { PFieldUpdate L }+> : qvar '=' exp { FieldUpdate ($1 <>$3 <** [$2]) $1 $3 }+> | qvar {% checkEnabled NamedFieldPuns >> checkQualOrUnQual $1 >>= return . FieldPun (ann $1) }++-----------------------------------------------------------------------------+Implicit parameter bindings - need the ImplicitParameter extension enabled, but the lexer handles that.++> ipbinds :: { ([IPBind L],[S]) }+> : optsemis ipbinds1 optsemis { (reverse (fst $2), reverse $1 ++ snd $2 ++ reverse $3) }++> ipbinds1 :: { ([IPBind L],[S]) }+> : ipbinds1 semis ipbind { ($3 : fst $1, snd $1 ++ reverse $2) }+> | ipbind { ([$1],[]) }++> ipbind :: { IPBind L }+> : ivar '=' trueexp { IPBind ($1 <> $3 <** [$2]) $1 $3 }++-----------------------------------------------------------------------------+Variables, Constructors and Operators.++> gcon :: { PExp L }+> : sysdcon { $1 }+> | qcon { Con (ann $1) $1 }++> gcon_nolist :: { PExp L }+> : sysdcon_nolist { $1 }+> | qcon { Con (ann $1) $1 }++> sysdcon_nolist :: { PExp L }+> : '(' ')' { p_unit_con ($1 <^^> $2 <** [$1,$2]) }+> | '(#' '#)' { p_unboxed_singleton_con ($1 <^^> $2 <** [$1,$2]) }+> | '(#' commas '#)' { p_tuple_con ($1 <^^> $3 <** $1:reverse ($3:$2)) Unboxed (length $2) }+> | '(' commas ')' { p_tuple_con ($1 <^^> $3 <** $1:reverse ($3:$2)) Boxed (length $2) }+++> sysdcon :: { PExp L }+> : '[' ']' { List ($1 <^^> $2 <** [$1,$2]) [] }+> | sysdcon_nolist { $1 }++> var :: { Name L }+> : varid { $1 }+> | '(' varsym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }++> var_no_safety :: { Name L }+> : varid_no_safety { $1 }+> | '(' varsym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }++> qvar :: { QName L }+> : qvarid { $1 }+> | '(' qvarsym ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }++Implicit parameter+> ivar :: { IPName L }+> : ivarid { $1 }++> con :: { Name L }+> : conid { $1 }+> | '(' consym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }++> con_list :: { ([S], [Name L]) }+> : con { ([], [$1]) }+> | con ',' con_list { let (ss, cs) = $3+> in ($2 : ss, $1 :cs) }++> qcon :: { QName L }+> : qconid { $1 }+> | '(' gconsym ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }++> varop :: { Name L }+> : varsym { $1 }+> | '`' varid '`' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }++> qvarop :: { QName L }+> : qvarsym { $1 }+> | '`' qvarid '`' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }++> qvaropm :: { QName L }+> : qvarsymm { $1 }+> | '`' qvarid '`' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }++> conop :: { Name L }+> : consym { $1 }+> | '`' conid '`' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }++> qconop :: { QName L }+> : gconsym { $1 }+> | '`' qconid '`' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }++> op :: { Op L }+> : varop { VarOp (ann $1) $1 }+> | conop { ConOp (ann $1) $1 }++> qop :: { QOp L }+> : qvarop { QVarOp (ann $1) $1 }+> | qconop { QConOp (ann $1) $1 }++> qopm :: { QOp L }+> : qvaropm { QVarOp (ann $1) $1 }+> | qconop { QConOp (ann $1) $1 }++> gconsym :: { QName L }+> : ':' { list_cons_name (nIS $1) }+> | qconsym { $1 }++> overloaded_label :: { PExp L }+> : LABELVARID { let Loc l (LabelVarId v) = $1 in OverloadedLabel+> (nIS l) v }++-----------------------------------------------------------------------------+Identifiers and Symbols++> qvarid :: { QName L }+> : varid { UnQual (ann $1) $1 }+> | QVARID { let {Loc l (QVarId q) = $1; nis = nIS l}+> in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q)) }+> | '_' { hole_name (nIS $1) }++> varid_no_safety :: { Name L }+> : VARID { let Loc l (VarId v) = $1 in Ident (nIS l) v }+> | 'as' { as_name (nIS $1) }+> | 'qualified' { qualified_name (nIS $1) }+> | 'hiding' { hiding_name (nIS $1) }+> | 'export' { export_name (nIS $1) }+> | 'stdcall' { stdcall_name (nIS $1) }+> | 'ccall' { ccall_name (nIS $1) }+> | 'cplusplus' { cplusplus_name (nIS $1) }+> | 'dotnet' { dotnet_name (nIS $1) }+> | 'jvm' { jvm_name (nIS $1) }+> | 'js' { js_name (nIS $1) }+> | 'javascript' { javascript_name (nIS $1) }+> | 'capi' { capi_name (nIS $1) }+> | 'stock' { stock_name (nIS $1) }+> | 'anyclass' { anyclass_name (nIS $1) }++> varid :: { Name L }+> : varid_no_safety { $1 }+> | 'safe' { safe_name (nIS $1) }+> | 'unsafe' { unsafe_name (nIS $1) }+> | 'interruptible' { interruptible_name (nIS $1) }+> | 'threadsafe' { threadsafe_name (nIS $1) }+> | 'forall' { forall_name (nIS $1) }+> | 'family' { family_name (nIS $1) }+> | 'role' { role_name (nIS $1) }+++Implicit parameter+> ivarid :: { IPName L }+> : IDUPID { let Loc l (IDupVarId i) = $1 in IPDup (nIS l) i }+> | ILINID { let Loc l (ILinVarId i) = $1 in IPLin (nIS l) i }++> qconid :: { QName L }+> : conid { UnQual (ann $1) $1 }+> | QCONID { let {Loc l (QConId q) = $1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q)) }++> conid :: { Name L }+> : CONID { let Loc l (ConId c) = $1 in Ident (nIS l) c }++> qconsym :: { QName L }+> : consym { UnQual (ann $1) $1 }+> | QCONSYM { let {Loc l (QConSym q) = $1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q)) }++> consym :: { Name L }+> : CONSYM { let Loc l (ConSym c) = $1 in Symbol (nIS l) c }++> qvarsym :: { QName L }+> : qvarsym_('*') { $1 }++> qvarsym_(ostar) :: { QName L }+> : varsym_(ostar) { UnQual (ann $1) $1 }+> | qvarsym1 { $1 }++> qvarsymm :: { QName L }+> : varsymm { UnQual (ann $1) $1 }+> | qvarsym1 { $1 }++> varsym :: { Name L }+> : varsym_('*') { $1 }++> varsym_(ostar) :: { Name L }+> : varsymm_(ostar) { $1 }+> | '-' { minus_name (nIS $1) }++> varsymm :: { Name L }+> : varsymm_('*') { $1 }++> varsymm_(ostar) :: { Name L } -- varsym not including '-'+> : VARSYM { let Loc l (VarSym v) = $1 in Symbol (nIS l) v }+> | '!' { bang_name (nIS $1) }+> | '.' { dot_name (nIS $1) }+> | ostar { star_name (nIS $1) }++> qvarsym1 :: { QName L }+> : QVARSYM { let {Loc l (QVarSym q) = $1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q)) }++> literal :: { Literal L }+> : INT { let Loc l (IntTok (i,raw)) = $1 in Int (nIS l) i raw }+> | CHAR { let Loc l (Character (c,raw)) = $1 in Char (nIS l) c raw }+> | RATIONAL { let Loc l (FloatTok (r,raw)) = $1 in Frac (nIS l) r raw }+> | STRING { let Loc l (StringTok (s,raw)) = $1 in String (nIS l) s raw }+> | PRIMINT { let Loc l (IntTokHash (i,raw)) = $1 in PrimInt (nIS l) i raw }+> | PRIMWORD { let Loc l (WordTokHash (w,raw)) = $1 in PrimWord (nIS l) w raw }+> | PRIMFLOAT { let Loc l (FloatTokHash (f,raw)) = $1 in PrimFloat (nIS l) f raw }+> | PRIMDOUBLE { let Loc l (DoubleTokHash (d,raw)) = $1 in PrimDouble (nIS l) d raw }+> | PRIMCHAR { let Loc l (CharacterHash (c,raw)) = $1 in PrimChar (nIS l) c raw }+> | PRIMSTRING { let Loc l (StringHash (s,raw)) = $1 in PrimString (nIS l) s raw }++-----------------------------------------------------------------------------+Layout++> open :: { S } : {% pushCurrentContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x) (return x) -} }++> close :: { S }+> : vccurly { $1 {- >>= \x -> trace (show x ++ show x ++ show x) (return x) -} } -- context popped in lexer.+> | error {% popContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x ++ show x) (return x) -} }++-----------------------------------------------------------------------------+Pattern Synonyms+-- Pattern synonyms++> pat_syn :: { Decl L }+> : pattern_synonym_decl {% checkEnabled PatternSynonyms >> return $1 }++-- Glasgow extension: pattern synonyms+> pattern_synonym_decl :: { Decl L }+> : 'pattern' pattern_synonym_lhs '=' pat+> { let l = nIS $1 <++> ann $4 <** [$1,$3]+> in PatSyn l $2 $4 ImplicitBidirectional+> }+> | 'pattern' pattern_synonym_lhs '<-' pat+> { let l = nIS $1 <++> ann $4 <** [$1,$3]+> in PatSyn l $2 $4 Unidirectional+> }+> | 'pattern' pattern_synonym_lhs '<-' pat where_decls+> { let l = nIS $1 <++> ann $4 <** [$1, $3]+> in PatSyn l $2 $4 $5}++>+> pattern_synonym_lhs :: { Pat L }+> : con vars0 { let l = case $2 of+> [] -> ann $1+> (_:_) -> ann $1 <++> (ann $ last $2)+> in PApp l (UnQual (ann $1) $1) $2 }+> | varid qconsym varid { PInfixApp (ann $1 <++> ann $3) (PVar (ann $1) $1) $2 (PVar (ann $3) $3) }+> | con '{' commavars '}' { let { (ss, ns) = $3 ;+> qnames = (map (\n -> UnQual (ann n) n) ns) }+> in PRec (ann $1 <++> nIS $4 <** ($2 : ss ++ [$4]))+> (UnQual (ann $1) $1) (map (\q -> PFieldPun (ann q) q) qnames) }+>+> vars0 :: { [Pat L] }+> : {- empty -} { [] }+> | varid vars0 { PVar (ann $1) $1 : $2 }++> commavars :: { ([S], [Name L]) }+> : varid { ([], [$1] ) }+> | varid ',' commavars { let (ss, ns) = $3 in ($2 : ss, $1 : ns) }++> where_decls :: { PatternSynDirection L }+> : 'where' '{' decls '}' {% checkExplicitPatSyn $1 $2 $3 $4 }+> | 'where' open decls close {% checkExplicitPatSyn $1 $2 $3 $4 }++> pattern_synonym_sig :: { Decl L }+> : 'pattern' con_list '::' pstype+> {% do { checkEnabled PatternSynonyms ;+> let {(qtvs, ps, prov, req_vars, req, ty) = $4} ;+> let {sig = PatSynSig (nIS $1 <++> ann ty <** [$1] ++ fst $2 ++ [$3] ++ ps) (snd $2) qtvs prov req_vars req ty} ;+> return sig } }++> pstype :: { (Maybe [TyVarBind L], [S], Maybe (Context L), Maybe [TyVarBind L]+> , Maybe (Context L), Type L )}+> : 'forall' ktyvars '.' pstype+> { let (qtvs, ps, prov, req_vars, req, ty) = $4+> in (Just (reverse (fst $2) ++ fromMaybe [] qtvs), ($1 : $3 : ps), prov, req_vars, req, ty) }+> | context context type+> {% do { c1 <- checkContext (Just $1) ;+> c2 <- checkContext (Just $2) ;+> t <- checkType $3 ;+> return $ (Nothing, [], c1, Nothing, c2, t) }}+> | context 'forall' ktyvars '.' context type+> {% do { c1 <- checkContext (Just $1) ;+> c2 <- checkContext (Just $5) ;+> t <- checkType $6 ;+> return $ (Nothing, [], c1, Just (reverse (fst $3)), c2, t) }}+> | context type+> {% do { c1 <- checkContext (Just $1);+> t <- checkType $2;+> return (Nothing, [], c1, Nothing, Nothing, t) } }+> | type+> {% checkType $1 >>= \t -> return (Nothing, [], Nothing, Nothing, Nothing, t) }++-----------------------------------------------------------------------------+Deriving strategies++> deriv_strategy_no_via :: { DerivStrategy L }+> : 'stock' {% do { checkEnabled DerivingStrategies+> ; return (DerivStock (nIS $1)) } }+> | 'anyclass' {% do { checkEnabled DerivingStrategies+> ; checkEnabled DeriveAnyClass+> ; return (DerivAnyclass (nIS $1)) } }+> | 'newtype' {% do { checkEnabled DerivingStrategies+> ; checkEnabled GeneralizedNewtypeDeriving+> ; return (DerivNewtype (nIS $1)) } }++> deriv_strategy_via :: { DerivStrategy L }+> : 'via' truedtype {% do { checkEnabled DerivingVia+> ; return (DerivVia (nIS $1) $2) } }++> deriv_standalone_strategy :: { Maybe (DerivStrategy L) }+> : deriv_strategy_no_via { Just $1 }+> | deriv_strategy_via { Just $1 }+> | {- empty -} { Nothing }++-----------------------------------------------------------------------------+Miscellaneous (mostly renamings)++> modid :: { ModuleName L }+> : CONID { let Loc l (ConId n) = $1 in ModuleName (nIS l) n }+> | QCONID { let Loc l (QConId n) = $1 in ModuleName (nIS l) (fst n ++ '.':snd n) }++> tyconorcls :: { Name L }+> : con { $1 }++> qtyconorcls :: { QName L }+> : qcon { $1 }++> tyvar :: { Name L }+> : tyvarid { $1 }++> tyvarid :: { Name L }+> : varid_no_safety { $1 }+> | 'safe' { safe_name (nIS $1) }+> | 'unsafe' { unsafe_name (nIS $1) }+> | 'threadsafe' { threadsafe_name (nIS $1) }+ | 'forall' { forall_name (nIS $1) }+ | 'family' { family_name (nIS $1) }++> qtyvarop_(ostar) :: { QName L }+> qtyvarop_ : '`' tyvar '`' { UnQual ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }+> | tyvarsym_(ostar) { UnQual (ann $1) $1 }++> tyvarsym_(ostar) :: { Name L }+> tyvarsym : VARSYM { let Loc l (VarSym x) = $1 in Symbol (nIS l) x }+> | '-' { Symbol (nIS $1) "-" }+> | ostar { Symbol (nIS $1) "*" }++> impdeclsblock :: { ([ImportDecl L],[S],L) }+> : '{' optsemis impdecls optsemis '}' { let (ids, ss) = $3 in (ids, $1 : reverse $2 ++ ss ++ reverse $4 ++ [$5], $1 <^^> $5) }+> | open optsemis impdecls optsemis close { let (ids, ss) = $3 in (ids, $1 : reverse $2 ++ ss ++ reverse $4 ++ [$5], $1 <^^> $5) }++Exported as partial parsers:++> moduletopname :: { (([ModulePragma L], [S], L), Maybe (ModuleName L)) }+> : toppragmas 'module' modid { ($1, Just $3) }+> | toppragmas {- empty -} { ($1, Nothing) }++> moduletophead :: { (([ModulePragma L], [S], L), Maybe (ModuleHead L)) }+> : toppragmas optmodulehead { ($1, $2) }++> moduletopimps :: { (([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L)) }+> : toppragmas optmodulehead impdeclsblock { ($1, $2, Just $3) }+> | toppragmas optmodulehead {- empty -} { ($1, $2, Nothing) }++-----------------------------------------------------------------------------++> {++> type L = SrcSpanInfo -- just for convenience+> type S = SrcSpan++> parseError :: Loc Token -> P a+> parseError t = fail $ "Parse error: " ++ showToken (unLoc t)++> (<>) :: (Annotated a, Annotated b) => a SrcSpanInfo -> b SrcSpanInfo -> SrcSpanInfo+> a <> b = ann a <++> ann b+>+> infixl 6 <>++> nIS = noInfoSpan+> iS = infoSpan++> mparseDecl :: P (Decl SrcSpanInfo)+> mparseDecl = do+> (is, ds, _, _) <- mparseDeclAux+> when (not $ null is) $+> fail $ "Expected single declaration, found import declaration"+> checkSingleDecl ds > }
src/Language/Haskell/Exts/Lexer.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Lexer@@ -13,12 +15,14 @@ -- ----------------------------------------------------------------------------- -module Language.Haskell.Exts.Lexer +module Language.Haskell.Exts.Lexer ( lexTokenStream, lexTokenStreamWithMode, - Token(..), Loc(..)+ Token(..), Loc(..), + showToken+ ) where import Language.Haskell.Exts.InternalLexer@@ -31,7 +35,7 @@ -- | Lex a string into a list of Haskell source tokens, using an explicit mode. lexTokenStreamWithMode :: ParseMode -> String -> ParseResult [Loc Token]-lexTokenStreamWithMode mode str = runParserWithMode mode lexIt str+lexTokenStreamWithMode mode = runParserWithMode mode lexIt where lexIt :: P [Loc Token] lexIt = runL go return go :: Lex [Loc Token] [Loc Token]
src/Language/Haskell/Exts/ParseMonad.hs view
@@ -1,7 +1,9 @@+{-# LANGUAGE CPP, Safe #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- |--- Module : Language.Haskell.Exts.Annotated.ParseMonad+-- Module : Language.Haskell.Exts.ParseMonad -- Copyright : Niklas Broberg (c) 2004-2009, -- Original (c) The GHC Team, 1997-2000 -- License : BSD-style (see the file libraries/base/LICENSE)@@ -15,16 +17,20 @@ ----------------------------------------------------------------------------- module Language.Haskell.Exts.ParseMonad(+ -- * Generic Parsing+ Parseable(..), -- * Parsing P, ParseResult(..), atSrcLoc, LexContext(..), ParseMode(..), defaultParseMode, fromParseResult, runParserWithMode, runParserWithModeComments, runParser, getSrcLoc, pushCurrentContext, popContext,- getExtensions,+ getExtensions, getIgnoreFunctionArity, -- * Lexing- Lex(runL), getInput, discard, lexNewline, lexTab, lexWhile,+ Lex(runL), getInput, discard, getLastChar, lexNewline,+ lexTab, lexWhile, lexWhile_, alternative, checkBOL, setBOL, startToken, getOffside,- pushContextL, popContextL, getExtensionsL, pushComment, + pushContextL, popContextL, getExtensionsL, addExtensionL,+ saveExtensionsL, restoreExtensionsL, pushComment, getSrcLocL, setSrcLineL, ignoreLinePragmasL, setLineFilenameL, -- * Harp/Hsx ExtContext(..),@@ -38,18 +44,43 @@ import Language.Haskell.Exts.Comments import Language.Haskell.Exts.Extension -- (Extension, impliesExts, haskell2010) -import Data.List ( intersperse )+import Data.List (intercalate) import Control.Applicative import Control.Monad (when, liftM, ap)-import Data.Monoid+import qualified Control.Monad.Fail as Fail+import Data.Monoid hiding ((<>))+#if !MIN_VERSION_base(4,13,0)+import Data.Semigroup (Semigroup(..))+#endif+-- To avoid import warnings for Control.Applicative, Data.Monoid, and Data.Semigroup+import Prelude +-- | Class providing function for parsing at many different types.+--+-- Note that for convenience of implementation, the default methods have+-- definitions equivalent to 'undefined'. The minimal definition is all of+-- the visible methods.+class Parseable ast where+ -- | Parse a string with default mode.+ parse :: String -> ParseResult ast+ parse = parseWithMode defaultParseMode+ -- | Parse a string with an explicit 'ParseMode'.+ parseWithMode :: ParseMode -> String -> ParseResult ast+ parseWithMode mode = runParserWithMode mode . parser $ fixities mode+ -- | Parse a string with an explicit 'ParseMode', returning all comments along+ -- with the AST.+ parseWithComments :: ParseMode -> String -> ParseResult (ast, [Comment])+ parseWithComments mode = runParserWithModeComments mode . parser $ fixities mode+ -- | Internal parser, used to provide default definitions for the others.+ parser :: Maybe [Fixity] -> P ast+ -- | The result of a parse. data ParseResult a = ParseOk a -- ^ The parse succeeded, yielding a value. | ParseFailed SrcLoc String -- ^ The parse failed at the specified -- source location, with an error message.- deriving Show+ deriving (Show, Ord, Eq) -- | Retrieve the result of a successful parse, throwing an -- error if the parse is actually not successful.@@ -60,7 +91,7 @@ instance Functor ParseResult where fmap f (ParseOk x) = ParseOk $ f x- fmap f (ParseFailed loc msg) = ParseFailed loc msg+ fmap _ (ParseFailed loc msg) = ParseFailed loc msg instance Applicative ParseResult where pure = ParseOk@@ -68,17 +99,21 @@ ParseFailed loc msg <*> _ = ParseFailed loc msg instance Monad ParseResult where- return = ParseOk- fail = ParseFailed noLoc+#if !MIN_VERSION_base(4,13,0)+ fail = Fail.fail+#endif ParseOk x >>= f = f x ParseFailed loc msg >>= _ = ParseFailed loc msg+instance Fail.MonadFail ParseResult where+ fail = ParseFailed noLoc -instance Monoid m => Monoid (ParseResult m) where- mempty = ParseOk mempty- ParseOk x `mappend` ParseOk y = ParseOk $ x `mappend` y- ParseOk x `mappend` err = err- err `mappend` _ = err -- left-biased+instance Semigroup m => Semigroup (ParseResult m) where+ ParseOk x <> ParseOk y = ParseOk $ x <> y+ ParseOk _ <> err = err+ err <> _ = err -- left-biased +instance ( Monoid m , Semigroup m) => Monoid (ParseResult m) where+ mempty = ParseOk mempty -- internal version data ParseStatus a = Ok ParseState a | Failed SrcLoc String@@ -95,11 +130,11 @@ -- (True,_) = We're in a do context. -- (_, True)= Next token must be a virtual closing brace. -type ParseState = ([LexContext],[ExtContext],CtxtFlag,[Comment])+type ParseState = ([LexContext],[[KnownExtension]],[ExtContext],CtxtFlag,[Comment]) indentOfParseState :: ParseState -> Int-indentOfParseState (Layout n:_,_,_,_) = n-indentOfParseState _ = 0+indentOfParseState (Layout n:_,_,_,_,_) = n+indentOfParseState _ = 0 -- | Static parameters governing a parse. -- Note that the various parse functions in "Language.Haskell.Exts.Parser"@@ -122,7 +157,9 @@ -- from LINE pragmas in source files ignoreLinePragmas :: Bool, -- | list of fixities to be aware of- fixities :: Maybe [Fixity]+ fixities :: Maybe [Fixity],+ -- | Checks whether functions have a consistent arity+ ignoreFunctionArity :: Bool } -- | Default parameters for a parse.@@ -137,7 +174,8 @@ extensions = [], ignoreLanguagePragmas = False, ignoreLinePragmas = True,- fixities = Just preludeFixities+ fixities = Just preludeFixities,+ ignoreFunctionArity = False } -- Version of ParseMode used internally,@@ -146,14 +184,15 @@ data InternalParseMode = IParseMode { iParseFilename :: String, iExtensions :: [KnownExtension],- iIgnoreLanguagePragmas :: Bool,+ -- iIgnoreLanguagePragmas :: Bool, iIgnoreLinePragmas :: Bool,- iFixities :: Maybe [Fixity]+ iIgnoreFunctionArity :: Bool+ -- iFixities :: Maybe [Fixity] } toInternalParseMode :: ParseMode -> InternalParseMode-toInternalParseMode (ParseMode pf bLang exts ilang iline fx) =- IParseMode pf (impliesExts $ toExtensionList bLang exts) ilang iline fx+toInternalParseMode (ParseMode pf bLang exts _ilang iline _fx farity) =+ IParseMode pf (toExtensionList bLang exts) {-_ilang -} iline {- _fx -} farity -- | Monad for parsing@@ -163,6 +202,7 @@ -> Int -- current column -> Int -- current line -> SrcLoc -- location of last token read+ -> Char -- Last token read used for lexing TypeApplication UGH -> ParseState -- layout info. -> InternalParseMode -- parse parameters -> ParseStatus a@@ -178,16 +218,16 @@ srcColumn = 1 } -}-runParserWithMode mode pm s = fmap fst $ runParserWithModeComments mode pm s+runParserWithMode mode pm = fmap fst . runParserWithModeComments mode pm runParser :: P a -> String -> ParseResult a runParser = runParserWithMode defaultParseMode runParserWithModeComments :: ParseMode -> P a -> String -> ParseResult (a, [Comment])-runParserWithModeComments mode (P m) s = - case m s 0 1 start ([],[],(False,False),[]) (toInternalParseMode mode) of- Ok (_,_,_,cs) a -> ParseOk (a, reverse cs)- Failed loc msg -> ParseFailed loc msg+runParserWithModeComments mode = let mode2 = toInternalParseMode mode in \(P m) s ->+ case m s 0 1 start '\n' ([],[],[],(False,False),[]) mode2 of+ Ok (_,_,_,_,cs) a -> ParseOk (a, reverse cs)+ Failed loc msg -> ParseFailed loc msg where start = SrcLoc { srcFilename = parseFilename mode, srcLine = 1,@@ -201,27 +241,31 @@ fmap = liftM instance Applicative P where- pure = return+ pure a = P $ \_i _x _y _l _ch s _m -> Ok s a (<*>) = ap instance Monad P where- return a = P $ \_i _x _y _l s _m -> Ok s a- P m >>= k = P $ \i x y l s mode ->- case m i x y l s mode of+ P m >>= k = P $ \i x y l ch s mode ->+ case m i x y l ch s mode of Failed loc msg -> Failed loc msg- Ok s' a -> runP (k a) i x y l s' mode- fail s = P $ \_r _col _line loc _stk _m -> Failed loc s+ Ok s' a -> runP (k a) i x y l ch s' mode+#if !MIN_VERSION_base(4,13,0)+ fail = Fail.fail+#endif +instance Fail.MonadFail P where+ fail s = P $ \_r _col _line loc _ _stk _m -> Failed loc s+ atSrcLoc :: P a -> SrcLoc -> P a-P m `atSrcLoc` loc = P $ \i x y _l -> m i x y loc+P m `atSrcLoc` loc = P $ \i x y _l ch -> m i x y loc ch getSrcLoc :: P SrcLoc-getSrcLoc = P $ \_i _x _y l s _m -> Ok s l+getSrcLoc = P $ \_i _x _y l _ s _m -> Ok s l getModuleName :: P String-getModuleName = P $ \_i _x _y _l s m ->+getModuleName = P $ \_i _x _y _l _ch s m -> let fn = iParseFilename m- mn = concat $ intersperse "." $ splitPath fn+ mn = intercalate "." $ splitPath fn splitPath :: String -> [String] splitPath "" = []@@ -246,25 +290,25 @@ dob <- pullDoStatus let loc = srcColumn lc when (dob && loc < indent- || not dob && loc <= indent) $ pushCtxtFlag+ || not dob && loc <= indent) pushCtxtFlag pushContext (Layout loc) currentIndent :: P Int-currentIndent = P $ \_r _x _y loc stk _mode -> Ok stk (indentOfParseState stk)+currentIndent = P $ \_r _x _y _ _ stk _mode -> Ok stk (indentOfParseState stk) pushContext :: LexContext -> P () pushContext ctxt = --trace ("pushing lexical scope: " ++ show ctxt ++"\n") $- P $ \_i _x _y _l (s, e, p, c) _m -> Ok (ctxt:s, e, p, c) ()+ P $ \_i _x _y _l _ (s, exts, e, p, c) _m -> Ok (ctxt:s, exts, e, p, c) () popContext :: P ()-popContext = P $ \_i _x _y loc stk _m ->+popContext = P $ \_i _x _y loc _ stk _m -> case stk of- (_:s, e, p, c) -> --trace ("popping lexical scope, context now "++show s ++ "\n") $- Ok (s, e, p, c) ()- ([],_,_,_) -> Failed loc "Unexpected }" -- error "Internal error: empty context in popContext"-+ (_:s, exts, e, p, c) -> --trace ("popping lexical scope, context now "++show s ++ "\n") $+ Ok (s, exts, e, p, c) ()+ ([],_,_,_,_) -> Failed loc "Unexpected }" -- error "Internal error: empty context in popContext" +{- -- HaRP/Hsx pushExtContext :: ExtContext -> P () pushExtContext ctxt = P $ \_i _x _y _l (s, e, p, c) _m -> Ok (s, ctxt:e, p, c) ()@@ -275,23 +319,29 @@ (_:e') -> Ok (s, e', p, c) () [] -> error "Internal error: empty context in popExtContext"-+-} -- Extension-aware lexing/parsing getExtensions :: P [KnownExtension]-getExtensions = P $ \_i _x _y _l s m ->+getExtensions = P $ \_i _x _y _l _ s m -> Ok s $ iExtensions m pushCtxtFlag :: P () pushCtxtFlag =- P $ \_i _x _y _l (s, e, (d,c), cs) _m -> case c of- False -> Ok (s, e, (d,True), cs) ()+ P $ \_i _x _y _l _ (s, exts, e, (d,c), cs) _m -> case c of+ False -> Ok (s, exts, e, (d,True), cs) () _ -> error "Internal error: context flag already pushed" pullDoStatus :: P Bool-pullDoStatus = P $ \_i _x _y _l (s, e, (d,c), cs) _m -> Ok (s,e,(False,c),cs) d+pullDoStatus = P $ \_i _x _y _l _ (s, exts, e, (d,c), cs) _m -> Ok (s,exts,e,(False,c),cs) d +getIgnoreFunctionArity :: P Bool+getIgnoreFunctionArity = P $ \_i _x _y _l _ s m ->+ Ok s $ iIgnoreFunctionArity m +++ ---------------------------------------------------------------------------- -- Monad for lexical analysis: -- a continuation-passing version of the parsing monad@@ -302,13 +352,17 @@ fmap = liftM instance Applicative (Lex r) where- pure = return+ pure a = Lex $ \k -> k a (<*>) = ap instance Monad (Lex r) where- return a = Lex $ \k -> k a Lex v >>= f = Lex $ \k -> v (\a -> runL (f a) k) Lex v >> Lex w = Lex $ \k -> v (\_ -> w k)+#if !MIN_VERSION_base(4,13,0)+ fail = Fail.fail+#endif++instance Fail.MonadFail (Lex r) where fail s = Lex $ \_ -> fail s -- Operations on this monad@@ -319,15 +373,24 @@ -- | Discard some input characters (these must not include tabs or newlines). discard :: Int -> Lex r ()-discard n = Lex $ \cont -> P $ \r x -> runP (cont ()) (drop n r) (x+n)+discard n = Lex $ \cont -> P $ \r x y loc ch+ -> let (newCh:rest)= if n > 0 then drop (n-1) r else (ch:r)+ in runP (cont ()) rest (x+n) y loc newCh +-- | Get the last discarded character.+-- This is only used for type application.++getLastChar :: Lex r Char+getLastChar = Lex $ \cont -> P $ \r x y loc ch -> runP (cont ch) r x y loc ch++ -- | Discard the next character, which must be a newline. lexNewline :: Lex a ()-lexNewline = Lex $ \cont -> P $ \rs _x y loc ->+lexNewline = Lex $ \cont -> P $ \rs _x y loc -> case rs of (_:r) -> runP (cont ()) r 1 (y+1) loc- [] -> \_ _ -> Failed loc "Lexer: expected newline."+ [] -> \_ _ _ -> Failed loc "Lexer: expected newline." -- | Discard the next character, which must be a tab. @@ -338,15 +401,31 @@ nextTab x = x + (tAB_LENGTH - (x-1) `mod` tAB_LENGTH) tAB_LENGTH :: Int-tAB_LENGTH = 8 :: Int+tAB_LENGTH = 8 -- Consume and return the largest string of characters satisfying p lexWhile :: (Char -> Bool) -> Lex a String-lexWhile p = Lex $ \cont -> P $ \r x ->- let (cs,rest) = span p r in- runP (cont cs) rest (x + length cs)+lexWhile p = Lex $ \cont -> P $ \rss c l loc char ->+ case rss of+ [] -> runP (cont []) [] c l loc char+ (r:rs) ->+ let+ l' = case r of+ '\n' -> l + 1+ _ -> l+ c' = case r of+ '\n' -> 1+ _ -> c + 1+ in if p r+ then runP (runL ((r:) <$> lexWhile p) cont) rs c' l' loc r+ else runP (cont []) (r:rs) c l loc char +-- | lexWhile without the return value.+lexWhile_ :: (Char -> Bool) -> Lex a ()+lexWhile_ p = do _ <- lexWhile p+ return ()+ -- An alternative scan, to which we can return if subsequent scanning -- is unsuccessful. @@ -381,13 +460,13 @@ -- Set the loc to the current position startToken :: Lex a ()-startToken = Lex $ \cont -> P $ \s x y _ stk mode ->+startToken = Lex $ \cont -> P $ \s x y _ c stk mode -> let loc = SrcLoc { srcFilename = iParseFilename mode, srcLine = y, srcColumn = x } in- runP (cont ()) s x y loc stk mode+ runP (cont ()) s x y loc c stk mode -- Current status with respect to the offside (layout) rule: -- LT: we are to the left of the current indent (if any)@@ -395,8 +474,8 @@ -- GT: we are to the right of the current indent, or not subject to layout getOffside :: Lex a Ordering-getOffside = Lex $ \cont -> P $ \r x y loc stk ->- runP (cont (compare x (indentOfParseState stk))) r x y loc stk+getOffside = Lex $ \cont -> P $ \r x y loc ch stk ->+ runP (cont (compare x (indentOfParseState stk))) r x y loc ch stk getSrcLocL :: Lex a SrcLoc getSrcLocL = Lex $ \cont -> P $ \i x y l ->@@ -407,62 +486,79 @@ runP (cont ()) i x y pushContextL :: LexContext -> Lex a ()-pushContextL ctxt = Lex $ \cont -> P $ \r x y loc (stk, e, pst, cs) ->- runP (cont ()) r x y loc (ctxt:stk, e, pst, cs)+pushContextL ctxt = Lex $ \cont -> P $ \r x y loc ch (stk, exts, e, pst, cs) ->+ runP (cont ()) r x y loc ch (ctxt:stk, exts, e, pst, cs) popContextL :: String -> Lex a ()-popContextL fn = Lex $ \cont -> P $ \r x y loc stk m -> case stk of- (_:ctxt, e, pst, cs) -> runP (cont ()) r x y loc (ctxt, e, pst, cs) m- ([], _, _, _) -> Failed loc "Unexpected }"+popContextL _ = Lex $ \cont -> P $ \r x y loc ch stk m -> case stk of+ (_:ctxt, exts, e, pst, cs) -> runP (cont ()) r x y loc ch (ctxt, exts, e, pst, cs) m+ ([], _, _, _, _) -> Failed loc "Unexpected }" pullCtxtFlag :: Lex a Bool-pullCtxtFlag = Lex $ \cont -> P $ \r x y loc (ct, e, (d,c), cs) ->- runP (cont c) r x y loc (ct, e, (d,False), cs)+pullCtxtFlag = Lex $ \cont -> P $ \r x y loc ch (ct, exts, e, (d,c), cs) ->+ runP (cont c) r x y loc ch (ct, exts, e, (d,False), cs) flagDo :: Lex a ()-flagDo = Lex $ \cont -> P $ \r x y loc (ct, e, (d,c), cs) ->- runP (cont ()) r x y loc (ct, e, (True,c), cs)+flagDo = Lex $ \cont -> P $ \r x y loc ch (ct, exts, e, (_,c), cs) ->+ runP (cont ()) r x y loc ch (ct, exts, e, (True,c), cs) -- Harp/Hsx getExtContext :: Lex a (Maybe ExtContext)-getExtContext = Lex $ \cont -> P $ \r x y loc stk@(_, e, _, _) ->+getExtContext = Lex $ \cont -> P $ \r x y loc ch stk@(_, _, e, _, _) -> let me = case e of [] -> Nothing (c:_) -> Just c- in runP (cont me) r x y loc stk+ in runP (cont me) r x y loc ch stk pushExtContextL :: ExtContext -> Lex a ()-pushExtContextL ec = Lex $ \cont -> P $ \r x y loc (s, e, p, c) ->- runP (cont ()) r x y loc (s, ec:e, p, c)+pushExtContextL ec = Lex $ \cont -> P $ \r x y loc ch (s, exts, e, p, c) ->+ runP (cont ()) r x y loc ch (s, exts, ec:e, p, c) popExtContextL :: String -> Lex a ()-popExtContextL fn = Lex $ \cont -> P $ \r x y loc stk@(s,e,p,c) m -> case e of- (_:ec) -> runP (cont ()) r x y loc (s,ec,p,c) m+popExtContextL fn = Lex $ \cont -> P $ \r x y loc ch (s,exts,e,p,c) m -> case e of+ (_:ec) -> runP (cont ()) r x y loc ch (s,exts,ec,p,c) m [] -> Failed loc ("Internal error: empty tag context in " ++ fn) -- Extension-aware lexing getExtensionsL :: Lex a [KnownExtension]-getExtensionsL = Lex $ \cont -> P $ \r x y loc s m ->- runP (cont $ iExtensions m) r x y loc s m+getExtensionsL = Lex $ \cont -> P $ \r x y loc ch s m ->+ runP (cont $ iExtensions m) r x y loc ch s m +-- | Add an extension to the current configuration.+addExtensionL :: KnownExtension -> Lex a ()+addExtensionL ext = Lex $ \cont -> P $ \r x y loc ch (s, oldExts, e, p, c) m ->+ let newExts = impliesExts [ext] ++ iExtensions m+ in runP (cont ()) r x y loc ch (s, oldExts, e, p, c) (m {iExtensions = newExts})++-- | Save the current configuration of extensions.+saveExtensionsL :: Lex a ()+saveExtensionsL = Lex $ \cont -> P $ \r x y loc ch (s, oldExts, e, p, c) m ->+ runP (cont ()) r x y loc ch (s, iExtensions m:oldExts, e, p, c) m++-- | Return to the previous saved extensions configuration.+restoreExtensionsL :: Lex a ()+restoreExtensionsL = Lex $ \cont -> P $ \r x y loc ch (s,exts,e,p,c) m -> case exts of+ (_:prev) -> runP (cont ()) r x y loc ch (s,prev,e,p,c) m+ _ -> Failed loc "Internal error: empty extension stack"+ -- LINE-aware lexing ignoreLinePragmasL :: Lex a Bool-ignoreLinePragmasL = Lex $ \cont -> P $ \r x y loc s m ->- runP (cont $ iIgnoreLinePragmas m) r x y loc s m+ignoreLinePragmasL = Lex $ \cont -> P $ \r x y loc c s m ->+ runP (cont $ iIgnoreLinePragmas m) r x y loc c s m -- If we read a file name in a LINE pragma, we should update the state. setLineFilenameL :: String -> Lex a ()-setLineFilenameL name = Lex $ \cont -> P $ \r x y loc s m ->- runP (cont ()) r x y loc s (m {iParseFilename = name})- +setLineFilenameL name = Lex $ \cont -> P $ \r x y loc ch s m ->+ runP (cont ()) r x y loc ch s (m {iParseFilename = name})+ -- Comments pushComment :: Comment -> Lex a ()-pushComment c = Lex $ \cont -> P $ \r x y loc (s, e, p, cs) ->- runP (cont ()) r x y loc (s, e, p, c:cs)+pushComment c = Lex $ \cont -> P $ \r x y loc ch (s, exts, e, p, cs) ->+ runP (cont ()) r x y loc ch (s, exts, e, p, c:cs)
src/Language/Haskell/Exts/ParseSyntax.hs view
@@ -2,14 +2,15 @@ {-# OPTIONS_HADDOCK hide #-} module Language.Haskell.Exts.ParseSyntax where -import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )-import qualified Language.Haskell.Exts.Annotated.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..), Promoted(..) )+import Language.Haskell.Exts.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )+import qualified Language.Haskell.Exts.Syntax as S ( Type(..), Promoted(..) ) --------------------------------------- -- Expressions as we parse them (and patterns, and regular patterns) data PExp l = Var l (QName l) -- ^ variable+ | OverloadedLabel l String -- ^ overloaded label #foo | IPVar l (IPName l) -- ^ implicit parameter variable | Con l (QName l) -- ^ data constructor | Lit l (Literal l) -- ^ literal constant@@ -19,17 +20,17 @@ | Lambda l [Pat l] (PExp l) -- ^ lambda expression | Let l (Binds l) (PExp l) -- ^ local declarations with @let@ | If l (PExp l) (PExp l) (PExp l) -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/- | MultiIf l [IfAlt l] -- ^ @if@ @|@ /exp/ @->@ /exp/ ...+ | MultiIf l [GuardedRhs l] -- ^ @if@ @|@ /stmts/ @->@ /exp/ ... | Case l (PExp l) [Alt l] -- ^ @case@ /exp/ @of@ /alts/ | Do l [Stmt l] -- ^ @do@-expression: -- the last statement in the list -- should be an expression. | MDo l [Stmt l] -- ^ @mdo@-expression--- | Tuple [PExp] -- ^ tuple expression | TupleSection l Boxed [Maybe (PExp l)] -- ^ tuple section expression, e.g. @(,,3)@+ | UnboxedSum l Int Int (PExp l) -- ^ Unboxed sum | List l [PExp l] -- ^ list expression+ | ParArray l [PExp l] -- ^ parallel array expression | Paren l (PExp l) -- ^ parenthesized expression--- RightSection QOp PExp -- ^ right section @(@/qop/ /exp/@)@ | RecConstr l (QName l) [PFieldUpdate l] -- ^ record construction expression | RecUpdate l (PExp l) [PFieldUpdate l]@@ -43,7 +44,13 @@ | EnumFromThenTo l (PExp l) (PExp l) (PExp l) -- ^ bounded arithmetic sequence, -- with first two elements given+ | ParArrayFromTo l (PExp l) (PExp l) -- ^ bounded arithmetic sequence,+ -- incrementing by 1+ | ParArrayFromThenTo l (PExp l) (PExp l) (PExp l)+ -- ^ bounded arithmetic sequence,+ -- with first two elements given | ParComp l (PExp l) [[QualStmt l]] -- ^ parallel list comprehension+ | ParArrayComp l (PExp l) [[QualStmt l]] -- ^ parallel array comprehension | ExpTypeSig l (PExp l) (S.Type l) -- ^ expression type signature | AsPat l (Name l) (PExp l) -- ^ patterns only | WildCard l -- ^ patterns only@@ -54,7 +61,7 @@ | PreOp l (QOp l) (PExp l) -- ^ pre-ops -- View patterns- | ViewPat l (PExp l) (PExp l) -- ^ patterns only+ | ViewPat l (PExp l) (Pat l) -- ^ patterns only -- HaRP | SeqRP l [PExp l] -- ^ regular patterns only@@ -94,14 +101,16 @@ | RightArrApp l (PExp l) (PExp l) -- ^ e >- e | LeftArrHighApp l (PExp l) (PExp l) -- ^ e -<< e | RightArrHighApp l (PExp l) (PExp l) -- ^ e >>- e+ | ArrOp l (PExp l) -- ^ (| e |) -- LambdaCase | LCase l [Alt l] -- ^ @\case@ /alts/+ | TypeApp l (S.Type l) deriving (Eq,Show,Functor) data PFieldUpdate l = FieldUpdate l (QName l) (PExp l)- | FieldPun l (Name l)+ | FieldPun l (QName l) | FieldWildcard l deriving (Eq,Show,Functor) @@ -110,71 +119,81 @@ instance Annotated PExp where ann e = case e of- Var l qn -> l- IPVar l ipn -> l- Con l qn -> l- Lit l lit -> l- InfixApp l e1 qop e2 -> l- App l e1 e2 -> l- NegApp l e -> l- Lambda l ps e -> l- Let l bs e -> l- If l ec et ee -> l- Case l e alts -> l- Do l ss -> l- MDo l ss -> l- TupleSection l bx mes -> l- List l es -> l- Paren l e -> l- RecConstr l qn fups -> l- RecUpdate l e fups -> l- EnumFrom l e -> l- EnumFromTo l ef et -> l- EnumFromThen l ef et -> l- EnumFromThenTo l ef eth eto -> l- ParComp l e qsss -> l- ExpTypeSig l e t -> l- AsPat l n e -> l+ Var l _ -> l+ OverloadedLabel l _ -> l+ IPVar l _ -> l+ Con l _ -> l+ Lit l _ -> l+ InfixApp l _ _ _ -> l+ App l _ _ -> l+ NegApp l _ -> l+ Lambda l _ _ -> l+ Let l _ _ -> l+ If l _ _ _ -> l+ Case l _ _ -> l+ Do l _ -> l+ MDo l _ -> l+ TupleSection l _ _ -> l+ UnboxedSum l _ _ _ -> l+ List l _ -> l+ ParArray l _ -> l+ Paren l _ -> l+ RecConstr l _ _ -> l+ RecUpdate l _ _ -> l+ EnumFrom l _ -> l+ EnumFromTo l _ _ -> l+ EnumFromThen l _ _ -> l+ EnumFromThenTo l _ _ _ -> l+ ParArrayFromTo l _ _ -> l+ ParArrayFromThenTo l _ _ _ -> l+ ParComp l _ _ -> l+ ParArrayComp l _ _ -> l+ ExpTypeSig l _ _ -> l+ AsPat l _ _ -> l WildCard l -> l- IrrPat l e -> l- PostOp l e op -> l- PreOp l op e -> l- ViewPat l e1 e2 -> l- SeqRP l es -> l- GuardRP l e ss -> l- EitherRP l e1 e2 -> l- CAsRP l n e -> l+ IrrPat l _ -> l+ PostOp l _ _ -> l+ PreOp l _ _ -> l+ ViewPat l _ _ -> l+ SeqRP l _ -> l+ GuardRP l _ _ -> l+ EitherRP l _ _ -> l+ CAsRP l _ _ -> l - VarQuote l qn -> l- TypQuote l qn -> l- BracketExp l br -> l- SpliceExp l sp -> l- QuasiQuote l sn se -> l+ VarQuote l _ -> l+ TypQuote l _ -> l+ BracketExp l _ -> l+ SpliceExp l _ -> l+ QuasiQuote l _ _ -> l - XTag l xn xas me es -> l- XETag l xn xas me -> l- XPcdata l s -> l- XExpTag l e -> l- XChildTag l es -> l- XRPats l es -> l+ XTag l _ _ _ _ -> l+ XETag l _ _ _ -> l+ XPcdata l _ -> l+ XExpTag l _ -> l+ XChildTag l _ -> l+ XRPats l _ -> l - CorePragma l s e -> l- SCCPragma l s e -> l- GenPragma l s n12 n34 e -> l+ CorePragma l _ _ -> l+ SCCPragma l _ _ -> l+ GenPragma l _ _ _ _ -> l - BangPat l e -> l+ BangPat l _ -> l - Proc l p e -> l- LeftArrApp l e1 e2 -> l- RightArrApp l e1 e2 -> l- LeftArrHighApp l e1 e2 -> l- RightArrHighApp l e1 e2 -> l+ Proc l _ _ -> l+ LeftArrApp l _ _ -> l+ RightArrApp l _ _ -> l+ LeftArrHighApp l _ _ -> l+ RightArrHighApp l _ _ -> l+ ArrOp l _ -> l - LCase l alts -> l- MultiIf l alts -> l+ LCase l _ -> l+ MultiIf l _ -> l+ TypeApp l _ -> l - amap f e = case e of++ amap f e' = case e' of Var l qn -> Var (f l) qn+ OverloadedLabel l qn -> OverloadedLabel (f l) qn IPVar l ipn -> IPVar (f l) ipn Con l qn -> Con (f l) qn Lit l lit -> Lit (f l) lit@@ -188,7 +207,9 @@ Do l ss -> Do (f l) ss MDo l ss -> MDo (f l) ss TupleSection l bx mes -> TupleSection (f l) bx mes+ UnboxedSum l b a e -> UnboxedSum (f l) b a e List l es -> List (f l) es+ ParArray l es -> ParArray (f l) es Paren l e -> Paren (f l) e RecConstr l qn fups -> RecConstr (f l) qn fups RecUpdate l e fups -> RecUpdate (f l) e fups@@ -196,7 +217,10 @@ EnumFromTo l ef et -> EnumFromTo (f l) ef et EnumFromThen l ef et -> EnumFromThen (f l) ef et EnumFromThenTo l ef eth eto -> EnumFromThenTo (f l) ef eth eto+ ParArrayFromTo l ef et -> ParArrayFromTo (f l) ef et+ ParArrayFromThenTo l ef eth eto -> ParArrayFromThenTo (f l) ef eth eto ParComp l e qsss -> ParComp (f l) e qsss+ ParArrayComp l e qsss -> ParArrayComp (f l) e qsss ExpTypeSig l e t -> ExpTypeSig (f l) e t AsPat l n e -> AsPat (f l) n e@@ -233,13 +257,15 @@ RightArrApp l e1 e2 -> RightArrApp (f l) e1 e2 LeftArrHighApp l e1 e2 -> LeftArrHighApp (f l) e1 e2 RightArrHighApp l e1 e2 -> RightArrHighApp (f l) e1 e2+ ArrOp l e -> ArrOp (f l) e LCase l alts -> LCase (f l) alts MultiIf l alts -> MultiIf (f l) alts+ TypeApp l ty -> TypeApp (f l) ty instance Annotated PFieldUpdate where- ann (FieldUpdate l qn e) = l- ann (FieldPun l n) = l+ ann (FieldUpdate l _ _) = l+ ann (FieldPun l _) = l ann (FieldWildcard l) = l amap f (FieldUpdate l qn e) = FieldUpdate (f l) qn e amap f (FieldPun l n) = FieldPun (f l) n@@ -261,18 +287,15 @@ data PContext l = CxSingle l (PAsst l) | CxTuple l [PAsst l]- | CxParen l (PContext l) | CxEmpty l deriving (Eq, Show, Functor) instance Annotated PContext where- ann (CxSingle l asst ) = l- ann (CxTuple l assts) = l- ann (CxParen l ctxt ) = l+ ann (CxSingle l _ ) = l+ ann (CxTuple l _) = l ann (CxEmpty l) = l amap f (CxSingle l asst ) = CxSingle (f l) asst amap f (CxTuple l assts) = CxTuple (f l) assts- amap f (CxParen l ctxt ) = CxParen (f l) ctxt amap f (CxEmpty l) = CxEmpty (f l) data PType l@@ -280,38 +303,57 @@ (Maybe [TyVarBind l]) (Maybe (PContext l)) (PType l)+ | TyStar l -- ^ @*@, the type of types | TyFun l (PType l) (PType l) -- ^ function type | TyTuple l Boxed [PType l] -- ^ tuple type, possibly boxed+ | TyUnboxedSum l [PType l] -- ^ unboxed sum | TyList l (PType l) -- ^ list syntax, e.g. [a], as opposed to [] a+ | TyParArray l (PType l) -- ^ parallel array syntax, e.g. [:a:] | TyApp l (PType l) (PType l) -- ^ application of a type constructor | TyVar l (Name l) -- ^ type variable | TyCon l (QName l) -- ^ named type or type constructor | TyParen l (PType l) -- ^ type surrounded by parentheses | TyPred l (PAsst l) -- ^ assertion of an implicit parameter- | TyInfix l (PType l) (QName l) (PType l) -- ^ infix type constructor+ | TyInfix l (PType l) (MaybePromotedName l) (PType l) -- ^ infix type constructor | TyKind l (PType l) (Kind l) -- ^ type with explicit kind signature | TyPromoted l (S.Promoted l) -- ^ promoted data type+ | TyEquals l (PType l) (PType l) -- ^ type equality constraint+ | TySplice l (Splice l) -- ^ template haskell splice type+ | TyBang l (BangType l) (Unpackedness l) (PType l) -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.+ | TyWildCard l (Maybe (Name l)) -- ^ Type wildcard+ | TyQuasiQuote l String String -- ^ @[qq| |]@ deriving (Eq, Show, Functor) instance Annotated PType where ann t = case t of- TyForall l mtvs cx t -> l- TyFun l t1 t2 -> l- TyTuple l b ts -> l- TyList l t -> l- TyApp l t1 t2 -> l- TyVar l n -> l- TyCon l qn -> l- TyParen l t -> l- TyInfix l ta qn tb -> l- TyKind l t k -> l- TyPromoted l p -> l+ TyForall l _ _ _ -> l+ TyStar l -> l+ TyFun l _ _ -> l+ TyTuple l _ _ -> l+ TyUnboxedSum l _ -> l+ TyList l _ -> l+ TyParArray l _ -> l+ TyApp l _ _ -> l+ TyVar l _ -> l+ TyCon l _ -> l+ TyParen l _ -> l+ TyInfix l _ _ _ -> l+ TyKind l _ _ -> l+ TyPromoted l _ -> l+ TyEquals l _ _ -> l TyPred l _ -> l- amap f t = case t of+ TySplice l _ -> l+ TyBang l _ _ _ -> l+ TyWildCard l _ -> l+ TyQuasiQuote l _ _ -> l+ amap f t' = case t' of TyForall l mtvs mcx t -> TyForall (f l) mtvs mcx t+ TyStar l -> TyStar (f l) TyFun l t1 t2 -> TyFun (f l) t1 t2 TyTuple l b ts -> TyTuple (f l) b ts+ TyUnboxedSum l ts -> TyUnboxedSum (f l) ts TyList l t -> TyList (f l) t+ TyParArray l t -> TyParArray (f l) t TyApp l t1 t2 -> TyApp (f l) t1 t2 TyVar l n -> TyVar (f l) n TyCon l qn -> TyCon (f l) qn@@ -319,33 +361,25 @@ TyInfix l ta qn tb -> TyInfix (f l) ta qn tb TyKind l t k -> TyKind (f l) t k TyPromoted l p -> TyPromoted (f l) p+ TyEquals l t1 t2 -> TyEquals (f l) t1 t2 TyPred l asst -> TyPred (f l) asst+ TySplice l s -> TySplice (f l) s+ TyBang l b u t -> TyBang (f l) b u t+ TyWildCard l mn -> TyWildCard (f l) mn+ TyQuasiQuote l n s -> TyQuasiQuote (f l) n s data PAsst l- = ClassA l (QName l) [PType l]- | InfixA l (PType l) (QName l) (PType l)+ = TypeA l (PType l) | IParam l (IPName l) (PType l)- | EqualP l (PType l) (PType l)+ | ParenA l (PAsst l) deriving (Eq, Show, Functor) instance Annotated PAsst where ann asst = case asst of- ClassA l qn ts -> l- InfixA l ta qn tb -> l- IParam l ipn t -> l- EqualP l t1 t2 -> l+ TypeA l _ -> l+ IParam l _ _ -> l+ ParenA l _ -> l amap f asst = case asst of- ClassA l qn ts -> ClassA (f l) qn ts- InfixA l ta qn tb -> InfixA (f l) ta qn tb+ TypeA l t -> TypeA (f l) t IParam l ipn t -> IParam (f l) ipn t- EqualP l t1 t2 -> EqualP (f l) t1 t2---unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> PType l-unit_tycon l = TyCon l (unit_tycon_name l)-fun_tycon l = TyCon l (fun_tycon_name l)-list_tycon l = TyCon l (list_tycon_name l)-unboxed_singleton_tycon l = TyCon l (unboxed_singleton_tycon_name l)--tuple_tycon :: l -> Boxed -> Int -> PType l-tuple_tycon l b i = TyCon l (tuple_tycon_name l b i)+ ParenA l a -> ParenA (f l) a
src/Language/Haskell/Exts/ParseUtils.hs view
@@ -1,4 +1,6 @@ {-# OPTIONS_HADDOCK hide #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE PatternGuards #-} ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.ParseUtils@@ -17,6 +19,7 @@ module Language.Haskell.Exts.ParseUtils ( splitTyConApp -- PType -> P (Name,[Type]) , checkEnabled -- (Show e, Enabled e) => e -> P ()+ , checkEnabledOneOf , checkToplevel -- ?? , checkPatternGuards -- [Stmt] -> P () , mkRecConstrOrUpdate -- PExp -> [PFieldUpdate] -> P Exp@@ -31,10 +34,16 @@ , checkPattern -- PExp -> P Pat , checkExpr -- PExp -> P Exp , checkType -- PType -> P Type+ , checkTyVar -- Name -> P PType+ , bangType -- L -> BangType -> Type -> Type+ , checkKind -- Kind -> P () , checkValDef -- SrcLoc -> PExp -> Maybe Type -> Rhs -> Binds -> P Decl+ , checkExplicitPatSyn -- , checkClassBody -- [ClassDecl] -> P [ClassDecl] , checkInstBody -- [InstDecl] -> P [InstDecl] , checkUnQual -- QName -> P Name+ , checkQualOrUnQual -- QName -> P QName+ , checkSingleDecl -- [Decl] -> P Decl , checkRevDecls -- [Decl] -> P [Decl] , checkRevClsDecls -- [ClassDecl] -> P [ClassDecl] , checkRevInstDecls -- [InstDecl] -> P [InstDecl]@@ -42,8 +51,13 @@ , checkDataOrNewG -- DataOrNew -> [GadtDecl] -> P () , checkSimpleType -- PType -> P (Name, [TyVarBind]) , checkSigVar -- PExp -> P Name+ , checkDefSigDef -- Decl -> P Decl , getGConName -- S.Exp -> P QName , mkTyForall -- Maybe [TyVarBind] -> PContext -> PType -> PType+ , mkRoleAnnotDecl --+ , mkAssocType+ , mkEThingWith+ , splitTilde -- HaRP , checkRPattern -- PExp -> P RPat -- Hsx@@ -54,34 +68,47 @@ -- Pragmas , checkRuleExpr -- PExp -> P Exp , readTool -- Maybe String -> Maybe Tool+ -- Helpers+ , updateQNameLoc -- l -> QName l -> QName l + , SumOrTuple(..), mkSumOrTuple+ -- Parsed expressions and types , PExp(..), PFieldUpdate(..), ParseXAttr(..), PType(..), PContext, PAsst(..) , p_unit_con -- PExp , p_tuple_con -- Boxed -> Int -> PExp , p_unboxed_singleton_con -- PExp+ , pexprToQName ) where -import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )-import qualified Language.Haskell.Exts.Annotated.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )-import Language.Haskell.Exts.Annotated.Build+import Language.Haskell.Exts.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )+import qualified Language.Haskell.Exts.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..), Role(..), PatternSynDirection(..)) import Language.Haskell.Exts.ParseSyntax import Language.Haskell.Exts.ParseMonad import Language.Haskell.Exts.Pretty-import Language.Haskell.Exts.SrcLoc+import Language.Haskell.Exts.SrcLoc hiding (loc) import Language.Haskell.Exts.Extension import Language.Haskell.Exts.ExtScheme -import Data.List (intersperse)-import Data.Maybe (fromJust)-import Control.Monad (when,unless,liftM)+import Prelude hiding (mod)+import Data.List (intercalate, intersperse)+import Data.Maybe (fromJust, fromMaybe)+import Data.Either+import Control.Monad (when,unless) ---- import Debug.Trace (trace)+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative ((<$>))+#endif type L = SrcSpanInfo type S = SrcSpan +pexprToQName :: PExp l -> P (QName l)+pexprToQName (Con _ qn) = return qn+pexprToQName (List l []) = return $ Special l (ListCon l)+pexprToQName _ = fail "pexprToQName"+ splitTyConApp :: PType L -> P (Name L, [S.Type L]) splitTyConApp t0 = do (n, pts) <- split t0 []@@ -91,7 +118,7 @@ split :: PType L -> [PType L] -> P (Name L, [PType L]) split (TyApp _ t u) ts = split t (u:ts) split (TyCon _ (UnQual _ t)) ts = return (t,ts)- split (TyInfix l a op b) ts = split (TyCon l op) (a:b:ts)+ split (TyInfix l a op b) ts = split (TyCon l (getMaybePromotedQName op)) (a:b:ts) split _ _ = fail "Illegal data/newtype declaration" -----------------------------------------------------------------------------@@ -100,14 +127,34 @@ checkEnabled :: (Show e, Enabled e) => e -> P () checkEnabled e = do exts <- getExtensions- if isEnabled e exts- then return ()- else fail $ show e ++ " is not enabled"+ unless (isEnabled e exts) $ fail errorMsg+ where errorMsg = unwords+ [ show e+ , "language extension is not enabled."+ , "Please add {-# LANGUAGE " ++ show e ++ " #-}"+ , "pragma at the top of your module."+ ] +checkEnabledOneOf :: (Show e, Enabled e) => [e] -> P ()+checkEnabledOneOf es = do+ exts <- getExtensions+ unless (any (`isEnabled` exts) es) $+ fail errorMsg+ where errorMsg = unwords+ [ "At least one of"+ , joinOr id+ , "language extensions needs to be enabled."+ , "Please add:"+ , joinOr (\s -> "{-# LANGUAGE " ++ s ++ " #-}")+ , "language pragma at the top of your module."+ ]+ joinOr f = concat . intersperse " or " . map (f . show) $ es+ checkPatternGuards :: [Stmt L] -> P () checkPatternGuards [Qualifier _ _] = return () checkPatternGuards _ = checkEnabled PatternGuards +checkToplevel :: PExp t -> P () checkToplevel e = do exts <- getExtensions let isQQ = case e of@@ -128,8 +175,12 @@ checkPContext (TyCon l (Special _ (UnitCon _))) = return $ CxEmpty l checkPContext (TyParen l t) = do- c <- checkPContext t- return $ CxParen l c+ c <- checkAssertion t+ return $ CxSingle l (ParenA l c)+checkPContext t@(TyEquals tp _ _) = do+ checkEnabledOneOf [TypeFamilies, GADTs]+ return $ CxSingle tp $ TypeA tp t+ checkPContext t = do c <- checkAssertion t return $ CxSingle (ann c) c@@ -140,41 +191,82 @@ -- the class assertion parameters for later. checkAssertion :: PType L -> P (PAsst L) -- We cannot even get here unless ImplicitParameters is enabled.-checkAssertion (TyPred _ p@(IParam _ _ _)) = return p--- We cannot even get here unless TypeFamilies is enabled.-checkAssertion (TyPred _ p@(EqualP _ _ _)) = return p-checkAssertion t = checkAssertion' id [] t+checkAssertion (TyParen l asst) = do+ asst' <- checkAssertion asst+ return $ ParenA l asst'+checkAssertion (TyPred _ p) = checkAAssertion p+-- We cannot even get here unless TypeFamilies or GADTs is enabled.+-- N.B.: this is called only when the equality assertion is part of a+-- tuple+checkAssertion t' = do+ t'' <- checkAssertion' id [] t'+ return $ TypeA (ann t'') t'' where -- class assertions must have at least one argument+ checkAssertion' _ _ t@(TyEquals _ _ _) = return t checkAssertion' fl ts (TyCon l c) = do- when (length ts /= 1) $ checkEnabled MultiParamTypeClasses- when (isSymbol c) $ checkEnabled TypeOperators- return $ ClassA (fl l) c ts- checkAssertion' fl ts (TyApp l a t) = do+ when (length ts < 1) $ checkEnabled FlexibleContexts+ checkAndWarnTypeOperators c+ return $ tyApps (fl l) (TyCon (fl l) c) ts+ checkAssertion' fl ts (TyApp l a t) = -- no check on t at this stage checkAssertion' (const (fl l)) (t:ts) a- checkAssertion' fl ts (TyInfix l a op b) = do+ checkAssertion' fl _ (TyInfix l a op b) = do -- infix operators require TypeOperators- checkEnabled TypeOperators- return $ InfixA (fl l) a op b+ checkAndWarnTypeOperators (getMaybePromotedQName op)+ return $ TyInfix (fl l) a op b checkAssertion' fl ts (TyParen l t) = checkAssertion' (const (fl l)) ts t- checkAssertion' _ _ _ = fail "Illegal class assertion"+ checkAssertion' fl ts (TyVar l t) = do -- Dict :: cxt => Dict cxt+ checkEnabled ConstraintKinds+ return $ tyApps (fl l) (TyVar (fl l) t) ts+ checkAssertion' _ _ t@(TyWildCard _ _) = return t+ checkAssertion' _ _ t = do+ checkEnabled QuantifiedConstraints -- anything goes+ return t+ tyApps :: L -> PType L -> [PType L] -> PType L+ tyApps _ c [] = c+ tyApps l c (a:aa) = tyApps l (TyApp l c a) aa -isSymbol :: QName L -> Bool-isSymbol (UnQual _ (Symbol _ _)) = True-isSymbol (Qual _ _ (Symbol _ _)) = True-isSymbol _ = False+checkAAssertion :: PAsst L -> P (PAsst L)+checkAAssertion (TypeA _ t) = checkAssertion t+checkAAssertion (ParenA l a) = do+ a' <- checkAAssertion a+ return $ ParenA l a'+checkAAssertion p = return p +-- Check class/instance declaration for multiparams+checkMultiParam :: PType L -> P ()+checkMultiParam = checkMultiParam' []+ where+ checkMultiParam' ts (TyCon _ _) =+ when (length ts /= 1) $ checkEnabled MultiParamTypeClasses+ checkMultiParam' ts (TyApp _ a t) = checkMultiParam' (t:ts) a+ checkMultiParam' _ (TyInfix _ _ _ _) = checkEnabled MultiParamTypeClasses+ checkMultiParam' ts (TyParen _ t) = checkMultiParam' ts t+ checkMultiParam' _ _ = return () +getSymbol :: QName L -> Maybe String+getSymbol (UnQual _ (Symbol _ s)) = Just s+getSymbol (Qual _ _ (Symbol _ s)) = Just s+getSymbol _ = Nothing++-- | Checks whether the parameter is a symbol, and gives a nice warning for+-- "." if ExplicitForAll/TypeOperators are not enabled.+checkAndWarnTypeOperators :: QName L -> P ()+checkAndWarnTypeOperators c =+ case getSymbol c of+ Just s | s == "." -> checkEnabledOneOf [ExplicitForAll, TypeOperators]+ | otherwise -> checkEnabled TypeOperators+ Nothing -> return ()+ -- Checks simple contexts for class and instance -- headers. If FlexibleContexts is enabled then -- anything goes, otherwise only tyvars are allowed. checkSContext :: Maybe (PContext L) -> P (Maybe (S.Context L)) checkSContext (Just ctxt) = case ctxt of CxEmpty l -> return $ Just $ S.CxEmpty l- CxSingle l a -> checkAsst True a >>= return . Just . S.CxSingle l- CxTuple l as -> mapM (checkAsst True) as >>= return . Just . S.CxTuple l- CxParen l cx -> checkSContext (Just cx) >>= return . fmap (S.CxParen l)+ CxSingle l a -> checkAsst a >>= return . Just . S.CxSingle l+ CxTuple l as -> mapM checkAsst as >>= return . Just . S.CxTuple l checkSContext _ = return Nothing -- Checks ordinary contexts for sigtypes and data type@@ -184,40 +276,22 @@ checkContext :: Maybe (PContext L) -> P (Maybe (S.Context L)) checkContext (Just ctxt) = case ctxt of CxEmpty l -> return $ Just $ S.CxEmpty l- CxSingle l a -> checkAsst False a >>= return . Just . S.CxSingle l- CxTuple l as -> mapM (checkAsst False) as >>= return . Just . S.CxTuple l- CxParen l cx -> checkSContext (Just cx) >>= return . fmap (S.CxParen l)+ CxSingle l a -> checkAsst a >>= return . Just . S.CxSingle l+ CxTuple l as -> mapM checkAsst as >>= return . Just . S.CxTuple l checkContext _ = return Nothing -checkAsst :: Bool -> PAsst L -> P (S.Asst L)-checkAsst isSimple asst =+checkAsst :: PAsst L -> P (S.Asst L)+checkAsst asst = case asst of- ClassA l qn pts -> do- ts <- mapM (checkAsstParam isSimple) pts- return $ S.ClassA l qn ts- InfixA l a op b -> do- [a,b] <- mapM (checkAsstParam isSimple) [a,b]- return $ S.InfixA l a op b+ TypeA l pt -> do+ t <- checkType pt+ return $ S.TypeA l t IParam l ipn pt -> do t <- checkType pt return $ S.IParam l ipn t- EqualP l pa pb -> do- a <- checkType pa- b <- checkType pb- return $ S.EqualP l a b--checkAsstParam :: Bool -> PType L -> P (S.Type L)-checkAsstParam isSimple t = do- exts <- getExtensions- if FlexibleContexts `elem` exts- then checkType t- else case t of- TyVar l n -> return $ S.TyVar l n- TyApp l pf pt | not isSimple -> do- f <- checkAsstParam isSimple pf- t <- checkType pt- return $ S.TyApp l f t- _ -> fail "Malformed context: FlexibleContexts is not enabled"+ ParenA l a -> do+ a' <- checkAsst a+ return $ S.ParenA l a' ----------------------------------------------------------------------------- -- Checking Headers@@ -225,48 +299,51 @@ checkDataHeader :: PType L -> P (Maybe (S.Context L), DeclHead L) checkDataHeader (TyForall _ Nothing cs t) = do- dh <- checkSimple "data/newtype" t []- cs <- checkContext cs- return (cs,dh)+ dh <- checkSimple "data/newtype" t+ cs' <- checkContext cs+ return (cs',dh) checkDataHeader t = do- dh <- checkSimple "data/newtype" t []+ dh <- checkSimple "data/newtype" t return (Nothing,dh) checkClassHeader :: PType L -> P (Maybe (S.Context L), DeclHead L) checkClassHeader (TyForall _ Nothing cs t) = do- dh <- checkSimple "class" t []- cs <- checkSContext cs- return (cs,dh)+ checkMultiParam t+ dh <- checkSimple "class" t+ cs' <- checkSContext cs+ return (cs',dh) checkClassHeader t = do- dh <- checkSimple "class" t []+ checkMultiParam t+ dh <- checkSimple "class" t return (Nothing,dh) -checkSimple :: String -> PType L -> [TyVarBind L] -> P (DeclHead L)+checkSimple :: String -> PType L -> P (DeclHead L) --checkSimple kw (TyApp _ l t) xs | isTyVarBind t = checkSimple kw l (toTyVarBind t : xs) -checkSimple kw x@(TyApp _ l t) xs = do+checkSimple kw (TyApp l h t) = do tvb <- mkTyVarBind kw t- checkSimple kw l (tvb : xs)-checkSimple kw x@(TyInfix l t1 (UnQual _ t) t2) [] = do- checkEnabled TypeOperators+ h' <- checkSimple kw h+ return $ DHApp l h' tvb+checkSimple kw (TyInfix l t1 mq t2)+ | c@(UnQual _ t) <- getMaybePromotedQName mq+ = do+ checkAndWarnTypeOperators c tv1 <- mkTyVarBind kw t1 tv2 <- mkTyVarBind kw t2- return (DHInfix l tv1 t tv2)-checkSimple _kw (TyCon l (UnQual _ t)) xs = do- case t of- Symbol _ _ -> checkEnabled TypeOperators- _ -> return ()- return (DHead l t xs)-checkSimple kw (TyParen l t) xs = do- dh <- checkSimple kw t xs+ return $ DHApp l (DHInfix l tv1 t) tv2+checkSimple _kw (TyCon _ c@(UnQual l t)) = do+ checkAndWarnTypeOperators c+ return (DHead l t)+checkSimple kw (TyParen l t) = do+ dh <- checkSimple kw t return (DHParen l dh)-checkSimple kw _l _ = fail ("Illegal " ++ kw ++ " declaration")+checkSimple kw _ = fail ("Illegal " ++ kw ++ " declaration") mkTyVarBind :: String -> PType L -> P (TyVarBind L) mkTyVarBind _ (TyVar l n) = return $ UnkindedVar l n mkTyVarBind _ (TyKind l (TyVar _ n) k) = return $ KindedVar l n k-mkTyVarBind _ (TyCon l (UnQual _ n@(Symbol _ _))) = checkEnabled TypeOperators >> return (UnkindedVar l n)-mkTyVarBind _ (TyKind l (TyCon _ (UnQual _ n@(Symbol _ _))) k) = checkEnabled TypeOperators >> return (KindedVar l n k)+mkTyVarBind _ (TyCon l c@(UnQual _ n@(Symbol _ _))) = checkAndWarnTypeOperators c >> return (UnkindedVar l n)+mkTyVarBind _ (TyKind l (TyCon _ c@(UnQual _ n@(Symbol _ _))) k) = checkAndWarnTypeOperators c >> return (KindedVar l n k) mkTyVarBind kw _ = fail ("Illegal " ++ kw ++ " declaration") {-@@ -281,31 +358,38 @@ toTyVarBind (TyKind l (TyVar _ n) k) = KindedVar l n k -} -checkInstHeader :: PType L -> P (Maybe (S.Context L), InstHead L)-checkInstHeader (TyForall _ Nothing cs t) = do- ih <- checkInsts t []- cs <- checkSContext cs- return (cs, ih)-checkInstHeader t = do- ih <- checkInsts t []- return (Nothing, ih)+checkInstHeader :: PType L -> P (InstRule L)+checkInstHeader (TyParen l t) = checkInstHeader t >>= return . IParen l+checkInstHeader (TyForall l mtvs cs t) = do+ cs' <- checkSContext cs+ checkMultiParam t+ checkInsts (Just l) mtvs cs' t+checkInstHeader t = checkMultiParam t >> checkInsts Nothing Nothing Nothing t -checkInsts :: PType L -> [PType L] -> P (InstHead L)-checkInsts (TyApp _ l t) ts = checkInsts l (t:ts)-checkInsts (TyCon l c) ts = do- when (isSymbol c) $ checkEnabled TypeOperators- ts <- checkTypes ts- return $ IHead l c ts-checkInsts (TyInfix l a op b) [] = do- checkEnabled TypeOperators+checkInsts :: Maybe L -> Maybe [TyVarBind L] -> Maybe (S.Context L) -> PType L -> P (InstRule L)+checkInsts _ mtvs mctxt (TyParen l t) = checkInsts Nothing mtvs mctxt t >>= return . IParen l+checkInsts l1 mtvs mctxt t = do+ t' <- checkInstsGuts t+ return $ IRule (fromMaybe (fmap ann mctxt <?+> ann t') l1) mtvs mctxt t'++checkInstsGuts :: PType L -> P (InstHead L)+checkInstsGuts (TyApp l h t) = do+ t' <- checkType t+ h' <- checkInstsGuts h+ return $ IHApp l h' t'+checkInstsGuts (TyCon l c) = do+ checkAndWarnTypeOperators c+ return $ IHCon l c+checkInstsGuts (TyInfix l a op b) = do+ checkAndWarnTypeOperators (getMaybePromotedQName op) [ta,tb] <- checkTypes [a,b]- return $ IHInfix l ta op tb-checkInsts (TyParen l t) [] = checkInsts t [] >>= return . IHParen l-checkInsts _ _ = fail "Illegal instance declaration"+ return $ IHApp l (IHInfix l ta (getMaybePromotedQName op)) tb+checkInstsGuts (TyParen l t) = checkInstsGuts t >>= return . IHParen l+checkInstsGuts _ = fail "Illegal instance declaration" -checkDeriving :: [PType L] -> P [InstHead L]-checkDeriving = mapM (flip checkInsts [])+checkDeriving :: [PType L] -> P [InstRule L]+checkDeriving = mapM (checkInsts Nothing Nothing Nothing) ----------------------------------------------------------------------------- -- Checking Patterns.@@ -317,26 +401,30 @@ checkPattern e = checkPat e [] checkPat :: PExp L -> [Pat L] -> P (Pat L)-checkPat (Con l c) args = return (PApp l c args)-checkPat (App l f x) args = do- x <- checkPat x []- checkPat f (x:args)+checkPat (Con l c) args = do+ let l' = foldl combSpanInfo l (map ann args)+ return (PApp l' c args)+checkPat (App _ f x) args = do+ x' <- checkPat x []+ checkPat f (x':args) checkPat (InfixApp _ l op r) args- | op =~= (QVarOp () (UnQual () (Symbol () "!"))) = do+ | op =~= QVarOp () (UnQual () (Symbol () "!")) = do -- We must have BangPatterns on checkEnabled BangPatterns let (e,es) = splitBang r [] ps <- mapM checkPattern (BangPat (ann op) e:es) checkPat l (ps++args)-checkPat e [] = case e of- Var l (UnQual _ x) -> return (PVar l x)- Lit l lit -> return (PLit l lit)+checkPat e' [] = case e' of+ Var _ (UnQual l x) -> return (PVar l x)+ Var _ (Special l (ExprHole _)) -> return (PWildCard l)+ Lit l lit -> return (PLit l (Signless l2) lit)+ where l2 = noInfoSpan . srcInfoSpan $ l InfixApp loc l op r -> case op of QConOp _ c -> do- l <- checkPat l []- r <- checkPat r []- return (PInfixApp loc l c r)+ l' <- checkPat l []+ r' <- checkPat r []+ return (PInfixApp loc l' c r') QVarOp ppos (UnQual _ (Symbol _ "+")) -> do checkEnabled NPlusKPatterns case (l,r) of@@ -347,10 +435,12 @@ _ -> patFail "" _ -> patFail "" TupleSection l bx mes ->- if not (any ((==) Nothing) mes)+ if Nothing `notElem` mes then do ps <- mapM (\e -> checkPat e []) (map fromJust mes) return (PTuple l bx ps) else fail "Illegal tuple section in pattern"+ UnboxedSum l b a e ->+ PUnboxedSum l b a <$> checkPattern e List l es -> do ps <- mapM checkRPattern es@@ -365,8 +455,8 @@ isStdPat _ = False stripRP :: RPat L -> Pat L stripRP (RPPat _ p) = p- stripRP (RPAs l n p) = PAsPat l n (stripRP p)- stripRP (RPParen l p) = PParen l (stripRP p)+ stripRP (RPAs l' n p) = PAsPat l' n (stripRP p)+ stripRP (RPParen l' p) = PParen l' (stripRP p) stripRP _ = error "cannot strip RP wrapper if not all patterns are base" Paren l e -> do@@ -380,13 +470,17 @@ p <- checkPat e [] return (PIrrPat l p) ViewPat l e p -> do- e <- checkExpr e- p <- checkPat p []- return (PViewPat l e p)+ e1 <- checkExpr e+ return (PViewPat l e1 p) RecConstr l c fs -> do- fs <- mapM checkPatField fs- return (PRec l c fs)- NegApp l1 (Lit l2 lit) -> return (PNeg l1 (PLit l2 lit))+ fs' <- mapM checkPatField fs+ return (PRec l c fs')+ NegApp l (Lit _ lit) ->+ let siSign = last . srcInfoPoints $ l+ lSign = infoSpan siSign [siSign]+ in do+ when (not . isNegatableLiteral $ lit) (patFail $ prettyPrint e')+ return (PLit l (Negative lSign) lit) ExpTypeSig l e t -> do -- patterns cannot have signatures unless ScopedTypeVariables is enabled. checkEnabled ScopedTypeVariables@@ -418,7 +512,8 @@ rps <- mapM checkRPattern es return (PXRPats l $ map fixRPOpPrec rps) - -- QuasiQuotation+ -- Template Haskell+ SpliceExp l e -> return $ PSplice l e QuasiQuote l n q -> return $ PQuasiQuote l n q -- BangPatterns@@ -435,6 +530,14 @@ checkPat e _ = patFail $ prettyPrint e +isNegatableLiteral :: Literal a -> Bool+isNegatableLiteral (Int _ _ _) = True+isNegatableLiteral (Frac _ _ _) = True+isNegatableLiteral (PrimInt _ _ _) = True+isNegatableLiteral (PrimFloat _ _ _) = True+isNegatableLiteral (PrimDouble _ _ _) = True+isNegatableLiteral _ = False+ splitBang :: PExp L -> [PExp L] -> (PExp L, [PExp L]) splitBang (App _ f x) es = splitBang f (x:es) splitBang e es = (e, es)@@ -454,7 +557,7 @@ patFail s = fail $ "Parse error in pattern: " ++ s checkRPattern :: PExp L -> P (RPat L)-checkRPattern e = case e of+checkRPattern e' = case e' of SeqRP l es -> do rps <- mapM checkRPattern es return $ RPSeq l rps@@ -479,7 +582,7 @@ rp <- checkRPattern e return $ RPParen l rp _ -> do- p <- checkPattern e+ p <- checkPattern e' return $ RPPat (ann p) p checkRPatOp :: QOp L -> P (RPatOp L)@@ -494,17 +597,18 @@ _ -> rpOpFail o checkRPatOp o = rpOpFail o +rpOpFail :: Pretty a => a -> P b rpOpFail sym = fail $ "Unrecognized regular pattern operator: " ++ prettyPrint sym fixRPOpPrec :: RPat L -> RPat L-fixRPOpPrec rp = case rp of+fixRPOpPrec rp' = case rp' of RPOp l rp rpop -> fPrecOp rp (flip (RPOp l) rpop) RPEither l rp1 rp2 -> RPEither l (fixRPOpPrec rp1) (fixRPOpPrec rp2) RPSeq l rps -> RPSeq l $ map fixRPOpPrec rps RPCAs l n rp -> RPCAs l n $ fixRPOpPrec rp RPAs l n rp -> RPAs l n $ fixRPOpPrec rp RPParen l rp -> RPParen l $ fixRPOpPrec rp- _ -> rp+ _ -> rp' where fPrecOp :: RPat L -> (RPat L -> RPat L) -> RPat L fPrecOp (RPOp l rp rpop) f = fPrecOp rp (f . flip (RPOp l) rpop)@@ -518,7 +622,7 @@ mkChildrenPat :: [Pat L] -> [Pat L]-mkChildrenPat ps = mkCPAux ps []+mkChildrenPat ps' = mkCPAux ps' [] where mkCPAux :: [Pat L] -> [Pat L] -> [Pat L] mkCPAux [] qs = reverse qs mkCPAux (p:ps) qs = case p of@@ -535,58 +639,66 @@ -- Check Expression Syntax checkExpr :: PExp L -> P (S.Exp L)-checkExpr e = case e of+checkExpr e' = case e' of Var l v -> return $ S.Var l v+ OverloadedLabel l v -> return $ S.OverloadedLabel l v IPVar l v -> return $ S.IPVar l v Con l c -> return $ S.Con l c Lit l lit -> return $ S.Lit l lit InfixApp l e1 op e2 -> check2Exprs e1 e2 (flip (S.InfixApp l) op) App l e1 e2 -> check2Exprs e1 e2 (S.App l)- NegApp l (Lit _ (PrimWord _ i _))- -> fail $ "Parse error: negative primitive word literal: " ++ prettyPrint e+ NegApp _ (Lit _ (PrimWord _ _ _))+ -> fail $ "Parse error: negative primitive word literal: " ++ prettyPrint e' NegApp l e -> check1Expr e (S.NegApp l) Lambda loc ps e -> check1Expr e (S.Lambda loc ps) Let l bs e -> check1Expr e (S.Let l bs) If l e1 e2 e3 -> check3Exprs e1 e2 e3 (S.If l) MultiIf l alts -> return (S.MultiIf l alts) Case l e alts -> do- e <- checkExpr e- return (S.Case l e alts)+ e1 <- checkExpr e+ return (S.Case l e1 alts) Do l stmts -> checkDo stmts >> return (S.Do l stmts) MDo l stmts -> checkDo stmts >> return (S.MDo l stmts)- TupleSection l bx mes -> if not (any ((==) Nothing) mes)+ TupleSection l bx mes -> if Nothing `notElem` mes then checkManyExprs (map fromJust mes) (S.Tuple l bx) else do checkEnabled TupleSections mes' <- mapM mCheckExpr mes return $ S.TupleSection l bx mes'+ UnboxedSum l before after e -> S.UnboxedSum l before after <$> checkExpr e List l es -> checkManyExprs es (S.List l)+ ParArray l es -> checkManyExprs es (S.ParArray l) -- Since we don't parse things as left or right sections, we need to mangle them into that. Paren l e -> case e of PostOp _ e1 op -> check1Expr e1 (flip (S.LeftSection l) op) PreOp _ op e2 -> check1Expr e2 (S.RightSection l op) _ -> check1Expr e (S.Paren l) RecConstr l c fields -> do- fields <- mapM checkField fields- return (S.RecConstr l c fields)+ fields1 <- mapM checkField fields+ return (S.RecConstr l c fields1) RecUpdate l e fields -> do- fields <- mapM checkField fields- e <- checkExpr e- return (S.RecUpdate l e fields)+ fields1 <- mapM checkField fields+ e1 <- checkExpr e+ return (S.RecUpdate l e1 fields1) EnumFrom l e -> check1Expr e (S.EnumFrom l) EnumFromTo l e1 e2 -> check2Exprs e1 e2 (S.EnumFromTo l) EnumFromThen l e1 e2 -> check2Exprs e1 e2 (S.EnumFromThen l) EnumFromThenTo l e1 e2 e3 -> check3Exprs e1 e2 e3 (S.EnumFromThenTo l)+ ParArrayFromTo l e1 e2 -> check2Exprs e1 e2 (S.ParArrayFromTo l)+ ParArrayFromThenTo l e1 e2 e3 -> check3Exprs e1 e2 e3 (S.ParArrayFromThenTo l) -- a parallel list comprehension, which could be just a simple one ParComp l e qualss -> do- e <- checkExpr e+ e1 <- checkExpr e case qualss of- [quals] -> return (S.ListComp l e quals)- _ -> return (S.ParComp l e qualss)+ [quals] -> return (S.ListComp l e1 quals)+ _ -> return (S.ParComp l e1 qualss)+ ParArrayComp l e qualss -> do+ e1 <- checkExpr e+ return (S.ParArrayComp l e1 qualss) ExpTypeSig loc e ty -> do- e <- checkExpr e- return (S.ExpTypeSig loc e ty)+ e1 <- checkExpr e+ return (S.ExpTypeSig loc e1 ty) --Template Haskell BracketExp l e -> return $ S.BracketExp l e@@ -596,22 +708,22 @@ QuasiQuote l n q -> return $ S.QuasiQuote l n q -- Hsx- XTag l n attrs mattr cs -> do attrs <- mapM checkAttr attrs- cs <- mapM checkExpr cs- mattr <- maybe (return Nothing)+ XTag l n attrs mattr cs -> do attrs1 <- mapM checkAttr attrs+ cs1 <- mapM checkExpr cs+ mattr1 <- maybe (return Nothing) (\e -> checkExpr e >>= return . Just) mattr- return $ S.XTag l n attrs mattr cs- XETag l n attrs mattr -> do attrs <- mapM checkAttr attrs- mattr <- maybe (return Nothing)+ return $ S.XTag l n attrs1 mattr1 cs1+ XETag l n attrs mattr -> do attrs1 <- mapM checkAttr attrs+ mattr1 <- maybe (return Nothing) (\e -> checkExpr e >>= return . Just) mattr- return $ S.XETag l n attrs mattr+ return $ S.XETag l n attrs1 mattr1 XPcdata l p -> return $ S.XPcdata l p- XExpTag l e -> do e <- checkExpr e- return $ S.XExpTag l e- XChildTag l es -> do es <- mapM checkExpr es- return $ S.XChildTag l es+ XExpTag l e -> do e1 <- checkExpr e+ return $ S.XExpTag l e1+ XChildTag l es -> do es1 <- mapM checkExpr es+ return $ S.XChildTag l es1 -- Pragmas CorePragma l s e -> check1Expr e (S.CorePragma l s) SCCPragma l s e -> check1Expr e (S.SCCPragma l s)@@ -619,22 +731,27 @@ -- UnknownExpPragma n s -> return $ S.UnknownExpPragma n s -- Arrows- Proc l p e -> do e <- checkExpr e- return $ S.Proc l p e+ Proc l p e -> do e1 <- checkExpr e+ return $ S.Proc l p e1 LeftArrApp l e1 e2 -> check2Exprs e1 e2 (S.LeftArrApp l) RightArrApp l e1 e2 -> check2Exprs e1 e2 (S.RightArrApp l) LeftArrHighApp l e1 e2 -> check2Exprs e1 e2 (S.LeftArrHighApp l) RightArrHighApp l e1 e2 -> check2Exprs e1 e2 (S.RightArrHighApp l)+ ArrOp l e -> S.ArrOp l <$> checkExpr e -- LamdaCase LCase l alts -> return $ S.LCase l alts - _ -> fail $ "Parse error in expression: " ++ prettyPrint e+ -- Hole+ TypeApp l ty -> return $ S.TypeApp l ty + _ -> fail $ "Parse error in expression: " ++ prettyPrint e'+ checkAttr :: ParseXAttr L -> P (S.XAttr L)-checkAttr (XAttr l n v) = do v <- checkExpr v- return $ S.XAttr l n v+checkAttr (XAttr l n v) = do v' <- checkExpr v+ return $ S.XAttr l n v' +checkDo :: [Stmt t] -> P () checkDo [] = fail "Parse error: Last statement in a do-block must be an expression" checkDo [Qualifier _ _] = return () checkDo (_:xs) = checkDo xs@@ -642,26 +759,26 @@ -- type signature for polymorphic recursion!! check1Expr :: PExp L -> (S.Exp L -> a) -> P a check1Expr e1 f = do- e1 <- checkExpr e1- return (f e1)+ e1' <- checkExpr e1+ return (f e1') check2Exprs :: PExp L -> PExp L -> (S.Exp L -> S.Exp L -> a) -> P a check2Exprs e1 e2 f = do- e1 <- checkExpr e1- e2 <- checkExpr e2- return (f e1 e2)+ e1' <- checkExpr e1+ e2' <- checkExpr e2+ return (f e1' e2') check3Exprs :: PExp L -> PExp L -> PExp L -> (S.Exp L -> S.Exp L -> S.Exp L -> a) -> P a check3Exprs e1 e2 e3 f = do- e1 <- checkExpr e1- e2 <- checkExpr e2- e3 <- checkExpr e3- return (f e1 e2 e3)+ e1' <- checkExpr e1+ e2' <- checkExpr e2+ e3' <- checkExpr e3+ return (f e1' e2' e3') checkManyExprs :: [PExp L] -> ([S.Exp L] -> a) -> P a checkManyExprs es f = do- es <- mapM checkExpr es- return (f es)+ es' <- mapM checkExpr es+ return (f es') mCheckExpr :: Maybe (PExp L) -> P (Maybe (S.Exp L)) mCheckExpr Nothing = return Nothing@@ -693,7 +810,7 @@ ----------------------------------------------------------------------------- -- Check Equation Syntax -checkValDef :: L -> PExp L -> Maybe (S.Type L) -> Rhs L -> Maybe (Binds L) -> P (Decl L)+checkValDef :: L -> PExp L -> Maybe (S.Type L, S) -> Rhs L -> Maybe (Binds L) -> P (Decl L) checkValDef l lhs optsig rhs whereBinds = do mlhs <- isFunLhs lhs [] let whpt = srcInfoPoints l@@ -708,28 +825,36 @@ in [InfixMatch l' a f bs rhs whereBinds]) Just _ -> fail "Cannot give an explicit type signature to a function binding" Nothing -> do- lhs <- checkPattern lhs- return (PatBind l lhs optsig rhs whereBinds)+ lhs1 <- checkPattern lhs+ let lhs' = case optsig of+ Nothing -> lhs1+ Just (ty, pt) -> let lp = (ann lhs1 <++> ann ty) <** [pt]+ in PatTypeSig lp lhs1 ty+ return (PatBind l lhs' rhs whereBinds) -- A variable binding is parsed as a PatBind. isFunLhs :: PExp L -> [PExp L] -> P (Maybe (Name L, [PExp L], Bool, [S]))-isFunLhs (InfixApp ll l (QVarOp loc (UnQual _ op)) r) es- | op =~= (Symbol () "!") = do+isFunLhs (InfixApp _ l (QVarOp loc (UnQual _ op)) r) es+ | op =~= Symbol () "!" = do exts <- getExtensions if BangPatterns `elem` exts then let (b,bs) = splitBang r []- in isFunLhs l (BangPat loc b : bs ++ es)+ loc' = combSpanInfo loc (ann b)+ in isFunLhs l (BangPat loc' b : bs ++ es) else return $ Just (op, l:r:es, False, []) -- It's actually a definition of the operator !- | otherwise = return $ Just (op, l:r:es, False, [])-isFunLhs (App _ (Var _ (UnQual _ f)) e) es = return $ Just (f, e:es, True, [])+ | otherwise =+ let infos = srcInfoPoints loc+ op' = amap (\s -> s { srcInfoPoints = infos }) op+ in (return $ Just (op', l:r:es, False, []))+isFunLhs (App _ (Var l (UnQual _ f)) e) es = return $ Just (f, e:es, True, srcInfoPoints l) isFunLhs (App _ f e) es = isFunLhs f (e:es) isFunLhs (Var _ (UnQual _ f)) es@(_:_) = return $ Just (f, es, True, []) isFunLhs (Paren l f) es@(_:_) = do mlhs <- isFunLhs f es case mlhs of- Just (f,es,b,pts) ->+ Just (f',es',b,pts) -> let [x,y] = srcInfoPoints l- in return $ Just (f,es,b,x:pts++[y])+ in return $ Just (f',es',b,x:pts++[y]) _ -> return Nothing isFunLhs _ _ = return Nothing @@ -737,9 +862,22 @@ -- a post-processing step checkSigVar :: PExp L -> P (Name L)-checkSigVar (Var _ (UnQual _ n)) = return n+checkSigVar (Var _ (UnQual l n)) = return $ fmap (const l) n checkSigVar e = fail $ "Left-hand side of type signature is not a variable: " ++ prettyPrint e +checkExplicitPatSyn :: S -> S -> ([Decl L], [S]) -> S -> P (PatternSynDirection L)+checkExplicitPatSyn whereLoc openLoc (decls, semis) closeLoc =+ let l = whereLoc <^^> closeLoc <** ([whereLoc, openLoc] ++ semis ++ [closeLoc])+ in S.ExplicitBidirectional l <$> mapM checkDecls decls+ where+ checkDecls :: Decl L -> P (Decl L)+ checkDecls p@(PatBind _ pat _ _) =+ case pat of+ PApp _ _ _ -> return p+ PInfixApp _ _ _ _ -> return p+ _ -> fail "Illegal pattern binding in PatternSynonym"+ checkDecls _ = fail "pattern synonym 'where' clause must contain a PatBind"+ ----------------------------------------------------------------------------- -- In a class or instance body, a pattern binding must be of a variable. @@ -758,20 +896,33 @@ checkInstMethodDef _ = return () checkMethodDef :: Decl L -> P ()-checkMethodDef (PatBind _ (PVar _ _) _ _ _) = return ()-checkMethodDef (PatBind loc _ _ _ _) =+checkMethodDef (PatBind _ (PVar _ _) _ _) = return ()+checkMethodDef (PatBind loc _ _ _) = fail "illegal method definition" `atSrcLoc` fromSrcInfo loc checkMethodDef _ = return () +checkDefSigDef :: Decl L -> P (Name L,S.Type L,S)+checkDefSigDef (TypeSig loc [name] typ) =+ let (b:_) = srcInfoPoints loc in return (name,typ,b)+checkDefSigDef (TypeSig _ _ _) =+ fail "default signature must be for a single name"+checkDefSigDef _ =+ fail "default signature must be a type signature"+ ----------------------------------------------------------------------------- -- Check that an identifier or symbol is unqualified. -- For occasions when doing this in the grammar would cause conflicts. checkUnQual :: QName L -> P (Name L) checkUnQual (Qual _ _ _) = fail "Illegal qualified name"-checkUnQual (UnQual _ n) = return n+checkUnQual (UnQual l n) = return $ fmap (const l) n checkUnQual (Special _ _) = fail "Illegal special name" +checkQualOrUnQual :: QName L -> P (QName L)+checkQualOrUnQual n@(Qual _ _ _) = return n+checkQualOrUnQual n@(UnQual _ _) = return n+checkQualOrUnQual (Special _ _) = fail "Illegal special name"+ ----------------------------------------------------------------------------- -- Check that two xml tag names are equal checkEqNames :: XName L -> XName L -> P (XName L)@@ -782,8 +933,8 @@ checkEqNames n m = fail $ "opening tag '" ++ showTag n ++ "' does not match closing tag '" ++ showTag m ++ "'" where- showTag (XName _ n) = n- showTag (XDomName _ d n) = d ++ ":" ++ n+ showTag (XName _ n') = n'+ showTag (XDomName _ d n') = d ++ ":" ++ n' -----------------------------------------------------------------------------@@ -791,14 +942,30 @@ checkPrec :: Integer -> P Int checkPrec i | 0 <= i && i <= 9 = return (fromInteger i)-checkPrec i | otherwise = fail ("Illegal precedence " ++ show i)+ | otherwise = fail ("Illegal precedence " ++ show i) mkRecConstrOrUpdate :: PExp L -> [PFieldUpdate L] -> P (PExp L) mkRecConstrOrUpdate (Con l c) fs = return (RecConstr l c fs) mkRecConstrOrUpdate e fs@(_:_) = return (RecUpdate (ann e) e fs) mkRecConstrOrUpdate _ _ = fail "Empty record update" +updateQNameLoc :: l -> QName l -> QName l+updateQNameLoc l (Qual _ mn n) = Qual l mn n+updateQNameLoc l (UnQual _ n) = UnQual l n+updateQNameLoc l (Special _ s) = Special l s+ -----------------------------------------------------------------------------+-- For standalone top level Decl parser, check that we actually only+-- parsed one Decl. This is needed since we parse matches of the same+-- FunBind as multiple separate declarations, and merge them after.+-- This should be called *after* checkRevDecls.++checkSingleDecl :: [Decl L] -> P (Decl L)+checkSingleDecl [d] = return d+checkSingleDecl ds =+ fail $ "Expected a single declaration, found " ++ show (length ds)++ -- Reverse a list of declarations, merging adjacent FunBinds of the -- same name and checking that their arities match. @@ -806,19 +973,20 @@ checkRevDecls = mergeFunBinds [] where mergeFunBinds revDs [] = return revDs- mergeFunBinds revDs (FunBind l ms1@(Match _ name ps _ _:_):ds1) =- mergeMatches ms1 ds1 l+ mergeFunBinds revDs (FunBind l' ms1@(Match _ name ps _ _:_):ds1) =+ mergeMatches ms1 ds1 l' where arity = length ps mergeMatches ms' (FunBind _ ms@(Match loc name' ps' _ _:_):ds) l- | name' =~= name =- if length ps' /= arity- then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")+ | name' =~= name = do+ ignoreArity <- getIgnoreFunctionArity+ if length ps' == arity || ignoreArity+ then mergeMatches (ms++ms') ds (loc <++> l)+ else fail ("arity mismatch for '" ++ prettyPrint name ++ "'") `atSrcLoc` fromSrcInfo loc- else mergeMatches (ms++ms') ds (loc <++> l) mergeMatches ms' ds l = mergeFunBinds (FunBind l ms':revDs) ds- mergeFunBinds revDs (FunBind l ims1@(InfixMatch _ _ name _ _ _:_):ds1) =- mergeInfix ims1 ds1 l+ mergeFunBinds revDs (FunBind l' ims1@(InfixMatch _ _ name _ _ _:_):ds1) =+ mergeInfix ims1 ds1 l' where mergeInfix ims' (FunBind _ ims@(InfixMatch loc _ name' _ _ _:_):ds) l | name' =~= name =@@ -830,19 +998,20 @@ checkRevClsDecls = mergeClsFunBinds [] where mergeClsFunBinds revDs [] = return revDs- mergeClsFunBinds revDs (ClsDecl l (FunBind _ ms1@(Match _ name ps _ _:_)):ds1) =- mergeMatches ms1 ds1 l+ mergeClsFunBinds revDs (ClsDecl l' (FunBind _ ms1@(Match _ name ps _ _:_)):ds1) =+ mergeMatches ms1 ds1 l' where arity = length ps mergeMatches ms' (ClsDecl _ (FunBind _ ms@(Match loc name' ps' _ _:_)):ds) l- | name' =~= name =- if length ps' /= arity- then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")+ | name' =~= name = do+ ignoreArity <- getIgnoreFunctionArity+ if length ps' == arity || ignoreArity+ then mergeMatches (ms++ms') ds (loc <++> l)+ else fail ("arity mismatch for '" ++ prettyPrint name ++ "'") `atSrcLoc` fromSrcInfo loc- else mergeMatches (ms++ms') ds (loc <++> l) mergeMatches ms' ds l = mergeClsFunBinds (ClsDecl l (FunBind l ms'):revDs) ds- mergeClsFunBinds revDs (ClsDecl l (FunBind _ ims1@(InfixMatch _ _ name _ _ _:_)):ds1) =- mergeInfix ims1 ds1 l+ mergeClsFunBinds revDs (ClsDecl l' (FunBind _ ims1@(InfixMatch _ _ name _ _ _:_)):ds1) =+ mergeInfix ims1 ds1 l' where mergeInfix ims' (ClsDecl _ (FunBind _ ims@(InfixMatch loc _ name' _ _ _:_)):ds) l | name' =~= name =@@ -855,19 +1024,20 @@ where mergeInstFunBinds :: [InstDecl L] -> [InstDecl L] -> P [InstDecl L] mergeInstFunBinds revDs [] = return revDs- mergeInstFunBinds revDs (InsDecl l (FunBind _ ms1@(Match _ name ps _ _:_)):ds1) =- mergeMatches ms1 ds1 l+ mergeInstFunBinds revDs (InsDecl l' (FunBind _ ms1@(Match _ name ps _ _:_)):ds1) =+ mergeMatches ms1 ds1 l' where arity = length ps mergeMatches ms' (InsDecl _ (FunBind _ ms@(Match loc name' ps' _ _:_)):ds) l- | name' =~= name =- if length ps' /= arity- then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")+ | name' =~= name = do+ ignoreArity <- getIgnoreFunctionArity+ if length ps' == arity || ignoreArity+ then mergeMatches (ms++ms') ds (loc <++> l)+ else fail ("arity mismatch for '" ++ prettyPrint name ++ "'") `atSrcLoc` fromSrcInfo loc- else mergeMatches (ms++ms') ds (loc <++> l) mergeMatches ms' ds l = mergeInstFunBinds (InsDecl l (FunBind l ms'):revDs) ds- mergeInstFunBinds revDs (InsDecl l (FunBind _ ims1@(InfixMatch _ _ name _ _ _:_)):ds1) =- mergeInfix ims1 ds1 l+ mergeInstFunBinds revDs (InsDecl l' (FunBind _ ims1@(InfixMatch _ _ name _ _ _:_)):ds1) =+ mergeInfix ims1 ds1 l' where mergeInfix ims' (InsDecl _ (FunBind _ ims@(InfixMatch loc _ name' _ _ _:_)):ds) l | name' =~= name =@@ -889,46 +1059,73 @@ checkDataOrNewG :: DataOrNew L -> [GadtDecl L] -> P () checkDataOrNewG (DataType _) _ = return ()-checkDataOrNewG (NewType _) [x] = return ()+checkDataOrNewG (NewType _) [_] = return () checkDataOrNewG _ _ = fail "newtype declaration must have exactly one constructor." checkSimpleType :: PType L -> P (DeclHead L)-checkSimpleType t = checkSimple "test" t []+checkSimpleType = checkSimple "test" --------------------------------------- -- Check actual types +-- | Add a strictness/unpack annotation on a type.+bangType :: Maybe (L -> BangType L, S) -> Maybe (Unpackedness L) -> PType L -> PType L+bangType mstrict munpack ty =+ case (mstrict,munpack) of+ (Nothing, Just upack) -> TyBang (ann upack <++> ann ty) (NoStrictAnnot noSrcSpan) upack ty+ (Just (strict, pos), _) ->+ TyBang (fmap ann munpack <?+> noInfoSpan pos <++> ann ty) (strict (noInfoSpan pos))+ (fromMaybe (NoUnpackPragma noSrcSpan) munpack) ty+ (Nothing, Nothing) -> ty++ checkType :: PType L -> P (S.Type L) checkType t = checkT t False checkT :: PType L -> Bool -> P (S.Type L) checkT t simple = case t of- TyForall l tvs@Nothing cs pt -> do- when (simple) $ checkEnabled ExplicitForAll+ TyForall l Nothing cs pt -> do+ when simple $ checkEnabled ExplicitForAll ctxt <- checkContext cs check1Type pt (S.TyForall l Nothing ctxt) TyForall l tvs cs pt -> do checkEnabled ExplicitForAll ctxt <- checkContext cs check1Type pt (S.TyForall l tvs ctxt)+ TyStar l -> return $ S.TyStar l TyFun l at rt -> check2Types at rt (S.TyFun l) TyTuple l b pts -> checkTypes pts >>= return . S.TyTuple l b+ TyUnboxedSum l es -> checkTypes es >>= return . S.TyUnboxedSum l TyList l pt -> check1Type pt (S.TyList l)+ TyParArray l pt -> check1Type pt (S.TyParArray l) TyApp l ft at -> check2Types ft at (S.TyApp l) TyVar l n -> return $ S.TyVar l n TyCon l n -> do- when (isSymbol n) $ checkEnabled TypeOperators+ checkAndWarnTypeOperators n return $ S.TyCon l n TyParen l pt -> check1Type pt (S.TyParen l) -- Here we know that t will be used as an actual type (and not a data constructor) -- so we can check that TypeOperators are enabled.- TyInfix l at op bt -> checkEnabled TypeOperators >> check2Types at bt (flip (S.TyInfix l) op)+ TyInfix l at op bt -> checkAndWarnTypeOperators (getMaybePromotedQName op)+ >> check2Types at bt (flip (S.TyInfix l) op) TyKind l pt k -> check1Type pt (flip (S.TyKind l) k) - -- TyPred cannot be a valid type TyPromoted l p -> return $ S.TyPromoted l p -- ??+ TyEquals l at bt -> check2Types at bt (S.TyEquals l)+ TySplice l s -> do+ checkEnabled TemplateHaskell+ return $ S.TySplice l s+ TyBang l b u t' -> check1Type t' (S.TyBang l b u)+ TyWildCard l mn -> return $ S.TyWildCard l mn+ TyQuasiQuote l n s -> do+ checkEnabled QuasiQuotes+ return $ S.TyQuasiQuote l n s _ -> fail $ "Parse error in type: " ++ prettyPrint t +getMaybePromotedQName :: MaybePromotedName l -> QName l+getMaybePromotedQName (PromotedName _ q) = q+getMaybePromotedQName (UnpromotedName _ q) = q+ check1Type :: PType L -> (S.Type L -> S.Type L) -> P (S.Type L) check1Type pt f = checkT pt True >>= return . f @@ -938,22 +1135,51 @@ checkTypes :: [PType L] -> P [S.Type L] checkTypes = mapM (flip checkT True) +checkTyVar :: Name L -> P (PType L)+checkTyVar n = do+ e <- getExtensions+ return $+ case n of+ Ident il ('_':ident) | NamedWildCards `elem` e ->+ TyWildCard il (Just (Ident (reduceSrcSpanInfo il) ident))+ _ ->+ TyVar (ann n) n+ where+ -- Reduces the length of the SrcSpanInfo by 1 so that it just covers the identifier.+ reduceSrcSpanInfo spaninfo =+ let ss = srcInfoSpan spaninfo+ ss' = ss { srcSpanStartColumn = srcSpanStartColumn ss + 1 }+ in spaninfo { srcInfoSpan = ss' } ---------------------------------------+-- Check kinds++-- ConstraintKinds allow the kind "Constraint", but not "Nat", etc. Specifically+-- test for that.+checkKind :: Kind l -> P ()+checkKind k = case k of+ S.TyVar _ q | constrKind q -> checkEnabledOneOf [ConstraintKinds, DataKinds]+ where constrKind name = case name of+ Ident _ n -> n == "Constraint"+ _ -> False++ _ -> checkEnabled DataKinds++--------------------------------------- -- Converting a complete page checkPageModule :: PExp L -> ([ModulePragma L],[S],L) -> P (Module L) checkPageModule xml (os,ss,inf) = do mod <- getModuleName- xml <- checkExpr xml- case xml of+ xml' <- checkExpr xml+ case xml' of S.XTag l xn ats mattr cs -> return $ XmlPage (inf<++>l<**(srcInfoPoints l ++ ss)) (ModuleName l mod) os xn ats mattr cs S.XETag l xn ats mattr -> return $ XmlPage (inf<++>l<**(srcInfoPoints l ++ ss)) (ModuleName l mod) os xn ats mattr [] _ -> fail "Unexpected expression; tag is expected" checkHybridModule :: PExp L -> Module L -> S -> S -> P (Module L) checkHybridModule xml (Module inf mh os is ds) s1 s2 = do- xml <- checkExpr xml- case xml of+ xml' <- checkExpr xml+ case xml' of S.XTag l xn ats mattr cs -> return $ XmlHybrid (inf<++>l<**(s1 : srcInfoPoints inf ++ s2 : srcInfoPoints l)) mh os is ds xn ats mattr cs S.XETag l xn ats mattr -> return $ XmlHybrid (inf<++>l<**(s1 : srcInfoPoints inf ++ s2 : srcInfoPoints l))@@ -965,12 +1191,121 @@ -- Handle dash-identifiers mkDVar :: [String] -> String-mkDVar = concat . intersperse "-"+mkDVar = intercalate "-" ------------------------------------------ Combine adjacent for-alls. NO!+-- Combine adjacent for-alls. -- -- A valid type must have one for-all at the top of the type, or of the fn arg types mkTyForall :: L -> Maybe [TyVarBind L] -> Maybe (PContext L) -> PType L -> PType L-mkTyForall l mtvs ctxt ty = TyForall l mtvs ctxt ty+mkTyForall l mtvs ctxt ty =+ case (ctxt, ty) of+ (Nothing, TyForall _ Nothing ctxt2 ty2) -> TyForall l mtvs ctxt2 ty2+ _ -> TyForall l mtvs ctxt ty++-- Make a role annotation++mkRoleAnnotDecl :: S -> S -> QName L -> [(Maybe String, L)] -> P (Decl L)+mkRoleAnnotDecl l1 l2 tycon roles+ = do roles' <- mapM parse_role roles+ return (RoleAnnotDecl loc' tycon roles')+ where+ loc' =+ case roles of+ [] -> (l1 <^^> l2 <++> ann tycon) <** [l1, l2]+ _ -> (l1 <^^> l2 <++> ann tycon <++> foldl1 (<++>) (map snd roles)) <** [l1, l2]+ possible_roles = [ ("phantom", S.Phantom)+ , ("representational", S.Representational)+ , ("nominal", S.Nominal)]++ parse_role (Nothing, loc_role) = return $ S.RoleWildcard loc_role+ parse_role (Just role, loc_role)+ = case lookup role possible_roles of+ Just found_role -> return $ found_role loc_role+ Nothing ->+ fail ("Illegal role name " ++ role)+++++mkAssocType :: S -> PType L -> (Maybe (ResultSig L), Maybe (S, S.Type L), Maybe (InjectivityInfo L)) -> P (ClassDecl L)+mkAssocType tyloc ty (mres, mty, minj) =+ case (mres,mty, minj) of+ -- No additional information+ (Nothing, Nothing, Nothing) -> do+ dh <- checkSimpleType ty+ return $ ClsTyFam (noInfoSpan tyloc <++> ann ty) dh Nothing Nothing+ -- Type default+ (_, Just (eqloc, rhsty), Nothing) -> do+ ty' <- checkType ty+ let tyeq = TypeEqn (ann ty <++> ann rhsty <** [eqloc]) ty' rhsty+ return $ ClsTyDef (noInfoSpan tyloc <++> ann ty <** [tyloc]) tyeq+ -- Declaration with kind sig+ (Just ressig, _, _) -> do+ dh <- checkSimpleType ty+ return $ ClsTyFam (noInfoSpan tyloc <++> ann ressig <** [tyloc]) dh (Just ressig) Nothing+ -- Decl with inj info+ (Nothing, Just (eqloc, rhsty), Just injinfo) -> do+ ressig <- checkKTyVar eqloc rhsty+ dh <- checkSimpleType ty+ return $ ClsTyFam (noInfoSpan tyloc <++> ann injinfo <** [tyloc]) dh (Just ressig) minj+ _ -> error "mkAssocType"++ where+ checkKTyVar :: S -> S.Type L -> P (ResultSig L)+ checkKTyVar eqloc rhsty =+ case rhsty of+ S.TyVar l n -> return $ TyVarSig (noInfoSpan eqloc <++> l <** [eqloc]) (UnkindedVar l n)+ S.TyKind l (S.TyVar _ n) k -> return $ TyVarSig (noInfoSpan eqloc <++> l <** [eqloc]) (KindedVar l n k)+ _ -> fail ("Result of type family must be a type variable")++-- | Transform btype with strict_mark's into HsEqTy's+-- (((~a) ~b) c) ~d ==> ((~a) ~ (b c)) ~ d+splitTilde :: PType L -> PType L+splitTilde t = go t+ where go (TyApp loc t1 t2)+ | TyBang _ (LazyTy eqloc) (NoUnpackPragma _) t2' <- t2+ = TyEquals (loc <** [srcInfoSpan eqloc]) (go t1) t2'+ | otherwise+ = case go t1 of+ TyEquals eqloc tl tr ->+ TyEquals (eqloc <++> ann t2 <** srcInfoPoints eqloc) tl (TyApp (ann tr <++> ann t2) tr t2)+ t' -> TyApp loc t' t2++ go t' = t'++-- Expects the arguments in the right order+mkEThingWith :: L -> QName L -> [Either S (CName L)] -> P (ExportSpec L)+mkEThingWith loc qn mcns = do+ when (isWc wc && not (null cnames)) (checkEnabled PatternSynonyms)+ return $ EThingWith loc wc qn cnames+ where+ isWc (NoWildcard {}) = False+ isWc _ = True++ wc :: EWildcard L+ wc = maybe (NoWildcard noSrcSpan)+ (\(n,Left s) -> EWildcard (noInfoSpan s) n)+ (findWithIndex 0 checkLeft mcns)++ checkLeft :: Either a b -> Bool+ checkLeft (Left _) = True+ checkLeft _ = False++ cnames = rights mcns++ findWithIndex :: Int -> (a -> Bool) -> [a] -> Maybe (Int, a)+ findWithIndex _ _ [] = Nothing+ findWithIndex n p (x:xs)+ | p x = Just (n, x)+ | otherwise = findWithIndex (n + 1) p xs++data SumOrTuple l = SSum Int Int (PExp l)+ | STuple [Maybe (PExp l)]++mkSumOrTuple :: Boxed -> L -> SumOrTuple L -> P (PExp L)+mkSumOrTuple Unboxed s (SSum before after e) = return (UnboxedSum s before after e)+mkSumOrTuple boxity s (STuple ms) =+ return $ TupleSection s boxity ms+mkSumOrTuple Boxed _s (SSum {}) = fail "Boxed sums are not implemented"
src/Language/Haskell/Exts/Parser.hs view
@@ -1,189 +1,259 @@+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, DeriveFunctor #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+ ----------------------------------------------------------------------------- -- |--- Module : Language.Haskell.Exts.Parser--- Copyright : (c) The GHC Team, 1997-2000--- (c) Niklas Broberg, 2004-2012+-- Module : Language.Haskell.Exts.Annotated.Parser+-- Copyright : (c) Niklas Broberg 2004-2009+-- (c) Michael Sloan 2013 -- License : BSD-style (see the file LICENSE.txt) ----- Maintainer : Niklas Broberg, niklas.broberg@chalmers.se+-- Maintainer : Niklas Broberg, d00nibro@chalmers.se -- Stability : stable -- Portability : portable ----- Parser for Haskell with extensions.+-- Annotated parser for Haskell with extensions. -- ------------------------------------------------------------------------------ module Language.Haskell.Exts.Parser- (- -- * General parsing- Parseable(..),- ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult,- -- * Parsing of specific AST elements- -- ** Modules- parseModule, parseModuleWithMode, parseModuleWithComments,- -- ** Expressions- parseExp, parseExpWithMode, parseExpWithComments,- -- ** Statements- parseStmt, parseStmtWithMode, parseStmtWithComments,- -- ** Patterns- parsePat, parsePatWithMode, parsePatWithComments,- -- ** Declarations- parseDecl, parseDeclWithMode, parseDeclWithComments,- -- ** Types- parseType, parseTypeWithMode, parseTypeWithComments,- -- ** Option pragmas- getTopPragmas- ) where+ (+ -- * General parsing+ Parseable(parse, parseWithMode, parseWithComments)+ , ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult+ -- * Parsing of specific AST elements+ -- ** Modules+ , parseModule, parseModuleWithMode, parseModuleWithComments+ -- ** Expressions+ , parseExp, parseExpWithMode, parseExpWithComments+ -- ** Statements+ , parseStmt, parseStmtWithMode, parseStmtWithComments+ -- ** Patterns+ , parsePat, parsePatWithMode, parsePatWithComments+ -- ** Declarations+ , parseDecl, parseDeclWithMode, parseDeclWithComments+ -- ** Types+ , parseType, parseTypeWithMode, parseTypeWithComments+ -- ** Imports+ , parseImportDecl, parseImportDeclWithMode, parseImportDeclWithComments+ -- * Non-greedy parsers+ , NonGreedy(..)+ , ListOf(..), unListOf+ -- ** Module head parsers+ , getTopPragmas+ , PragmasAndModuleName(..)+ , PragmasAndModuleHead(..)+ , ModuleHeadAndImports(..)+ ) where +import Data.Data hiding (Fixity)+import Language.Haskell.Exts.Fixity+import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.Comments+import Language.Haskell.Exts.InternalParser+import Language.Haskell.Exts.ParseMonad+import Language.Haskell.Exts.SrcLoc -import Language.Haskell.Exts.InternalParser ( ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult )-import qualified Language.Haskell.Exts.InternalParser as P+instance Parseable (Decl SrcSpanInfo) where parser = normalParser mparseDecl+instance Parseable (Exp SrcSpanInfo) where parser = normalParser mparseExp+instance Parseable (Module SrcSpanInfo) where parser = normalParser mparseModule+instance Parseable (Pat SrcSpanInfo) where parser = normalParser mparsePat+instance Parseable (Stmt SrcSpanInfo) where parser = normalParser mparseStmt+instance Parseable (Type SrcSpanInfo) where parser = normalParserNoFixity mparseType+instance Parseable (ImportDecl SrcSpanInfo) where parser = normalParserNoFixity mparseImportDecl -import Language.Haskell.Exts.Annotated.Syntax-import qualified Language.Haskell.Exts.Syntax as S-import Language.Haskell.Exts.Annotated.Simplify+normalParser :: AppFixity a => P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)+normalParser p Nothing = p+normalParser p (Just fixs) = p >>= \ast -> applyFixities fixs ast `atSrcLoc` noLoc -import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Comments+normalParserNoFixity :: P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)+normalParserNoFixity p _ = p -getTopPragmas :: String -> ParseResult [S.ModulePragma]-getTopPragmas = fmap (map sModulePragma) . P.getTopPragmas+-- Type-specific functions --- | Class to reuse the parse function at many different types.-class Parseable ast where- -- | Parse a string with default mode.- parse :: String -> ParseResult ast- -- | Parse a string with an explicit mode.- parseWithMode :: ParseMode -> String -> ParseResult ast- -- | Parse a string with an explicit mode, returning all comments along the AST- parseWithComments :: ParseMode -> String -> ParseResult (ast, [Comment])+-- | Parse of a string, which should contain a complete Haskell module, using 'defaultParseMode'.+parseModule :: String -> ParseResult (Module SrcSpanInfo)+parseModule = parse +-- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode'.+parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)+parseModuleWithMode = parseWithMode -instance SrcInfo loc => Parseable (Module loc) where- parse = fmap (fmap fromSrcInfo) . P.parseModule- parseWithMode = (fmap (fmap fromSrcInfo) .) . P.parseModuleWithMode- parseWithComments md s = P.parseModuleWithComments md s >>= \(r, cs) -> return (fmap fromSrcInfo r, cs)+-- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.+parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])+parseModuleWithComments = parseWithComments -instance SrcInfo loc => Parseable (Exp loc) where- parse = fmap (fmap fromSrcInfo) . P.parseExp- parseWithMode = (fmap (fmap fromSrcInfo) .) . P.parseExpWithMode- parseWithComments md s = P.parseExpWithComments md s >>= \(r, cs) -> return (fmap fromSrcInfo r, cs)+-- | Parse of a string containing a Haskell expression, using 'defaultParseMode'.+parseExp :: String -> ParseResult (Exp SrcSpanInfo)+parseExp = parse -instance SrcInfo loc => Parseable (Pat loc) where- parse = fmap (fmap fromSrcInfo) . P.parsePat- parseWithMode = (fmap (fmap fromSrcInfo) .) . P.parsePatWithMode- parseWithComments md s = P.parsePatWithComments md s >>= \(r, cs) -> return (fmap fromSrcInfo r, cs)+-- | Parse of a string containing a Haskell expression, using an explicit 'ParseMode'.+parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo)+parseExpWithMode = parseWithMode -instance SrcInfo loc => Parseable (Decl loc) where- parse = fmap (fmap fromSrcInfo) . P.parseDecl- parseWithMode = (fmap (fmap fromSrcInfo) .) . P.parseDeclWithMode- parseWithComments md s = P.parseDeclWithComments md s >>= \(r, cs) -> return (fmap fromSrcInfo r, cs)+-- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.+parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment])+parseExpWithComments = parseWithComments -instance SrcInfo loc => Parseable (Type loc) where- parse = fmap (fmap fromSrcInfo) . P.parseType- parseWithMode = (fmap (fmap fromSrcInfo) .) . P.parseTypeWithMode- parseWithComments md s = P.parseTypeWithComments md s >>= \(r, cs) -> return (fmap fromSrcInfo r, cs)+-- | Parse of a string containing a Haskell pattern, using 'defaultParseMode'.+parsePat :: String -> ParseResult (Pat SrcSpanInfo)+parsePat = parse -instance SrcInfo loc => Parseable (Stmt loc) where- parse = fmap (fmap fromSrcInfo) . P.parseStmt- parseWithMode = (fmap (fmap fromSrcInfo) .) . P.parseStmtWithMode- parseWithComments md s = P.parseStmtWithComments md s >>= \(r, cs) -> return (fmap fromSrcInfo r, cs)+-- | Parse of a string containing a Haskell pattern, using an explicit 'ParseMode'.+parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo)+parsePatWithMode = parseWithMode +-- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.+parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment])+parsePatWithComments = parseWithComments --- | Parse of a string, which should contain a complete Haskell module.-parseModule :: String -> ParseResult S.Module-parseModule = fmap sModule . P.parseModule+-- | Parse of a string containing a Haskell top-level declaration, using 'defaultParseMode'.+parseDecl :: String -> ParseResult (Decl SrcSpanInfo)+parseDecl = parse --- | Parse of a string containing a complete Haskell module, using an explicit mode.-parseModuleWithMode :: ParseMode -> String -> ParseResult S.Module-parseModuleWithMode = (fmap sModule .) . P.parseModuleWithMode+-- | Parse of a string containing a Haskell top-level declaration, using an explicit 'ParseMode'.+parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo)+parseDeclWithMode = parseWithMode --- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseModuleWithComments :: ParseMode -> String -> ParseResult (S.Module, [Comment])-parseModuleWithComments = (fmap (\(mod, cs) -> (sModule mod, cs)) .) . P.parseModuleWithComments+-- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.+parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment])+parseDeclWithComments = parseWithComments --- | Parse of a string containing a Haskell expression.-parseExp :: String -> ParseResult S.Exp-parseExp = fmap sExp . P.parseExp+-- | Parse of a string containing a Haskell type, using 'defaultParseMode'.+parseType :: String -> ParseResult (Type SrcSpanInfo)+parseType = parse --- | Parse of a string containing a Haskell expression, using an explicit mode.-parseExpWithMode :: ParseMode -> String -> ParseResult S.Exp-parseExpWithMode = (fmap sExp .) . P.parseExpWithMode+-- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.+parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo)+parseTypeWithMode = parseWithMode --- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseExpWithComments :: ParseMode -> String -> ParseResult (S.Exp, [Comment])-parseExpWithComments = (fmap (\(e, cs) -> (sExp e, cs)) .) . P.parseExpWithComments+-- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.+parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment])+parseTypeWithComments = parseWithComments --- | Parse of a string containing a Haskell pattern.-parsePat :: String -> ParseResult S.Pat-parsePat = fmap sPat . P.parsePat+-- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.+parseStmt :: String -> ParseResult (Stmt SrcSpanInfo)+parseStmt = parse --- | Parse of a string containing a Haskell pattern, using an explicit mode.-parsePatWithMode :: ParseMode -> String -> ParseResult S.Pat-parsePatWithMode = (fmap sPat .) . P.parsePatWithMode+-- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.+parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo)+parseStmtWithMode = parseWithMode --- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parsePatWithComments :: ParseMode -> String -> ParseResult (S.Pat, [Comment])-parsePatWithComments = (fmap (\(p, cs) -> (sPat p, cs)) .) . P.parsePatWithComments+-- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.+parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment])+parseStmtWithComments = parseWithComments --- | Parse of a string containing a Haskell top-level declaration.-parseDecl :: String -> ParseResult S.Decl-parseDecl = fmap sDecl . P.parseDecl+-- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.+parseImportDecl :: String -> ParseResult (ImportDecl SrcSpanInfo)+parseImportDecl = parse --- | Parse of a string containing a Haskell top-level declaration, using an explicit mode.-parseDeclWithMode :: ParseMode -> String -> ParseResult S.Decl-parseDeclWithMode = (fmap sDecl .) . P.parseDeclWithMode+-- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.+parseImportDeclWithMode :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo)+parseImportDeclWithMode = parseWithMode --- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseDeclWithComments :: ParseMode -> String -> ParseResult (S.Decl, [Comment])-parseDeclWithComments = (fmap (\(decl, cs) -> (sDecl decl, cs)) .) . P.parseDeclWithComments+-- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.+parseImportDeclWithComments :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo, [Comment])+parseImportDeclWithComments = parseWithComments --- | Parse of a string containing a Haskell type.-parseType :: String -> ParseResult S.Type-parseType = fmap sType . P.parseType+-- Non-greedy parsers (should use ng- prefixed parses exported by InternalParser) --- | Parse of a string containing a Haskell type, using an explicit mode.-parseTypeWithMode :: ParseMode -> String -> ParseResult S.Type-parseTypeWithMode = (fmap sType .) . P.parseTypeWithMode+-- | Non-greedy parse of a string starting with a series of top-level option pragmas.+getTopPragmas :: String -> ParseResult [ModulePragma SrcSpanInfo]+getTopPragmas = fmap (unListOf . unNonGreedy) . parse --- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseTypeWithComments :: ParseMode -> String -> ParseResult (S.Type, [Comment])-parseTypeWithComments = (fmap (\(t, cs) -> (sType t, cs)) .) . P.parseTypeWithComments+instance Parseable (NonGreedy (ListOf (ModulePragma SrcSpanInfo))) where+ parser = nglistParserNoFixity ngparseModulePragmas --- | Parse of a string containing a Haskell type.-parseStmt :: String -> ParseResult S.Stmt-parseStmt = fmap sStmt . P.parseStmt+nglistParserNoFixity :: P ([a SrcSpanInfo], [SrcSpan], SrcSpanInfo) -> Maybe [Fixity] -> P (NonGreedy (ListOf (a SrcSpanInfo)))+nglistParserNoFixity f = fmap (NonGreedy . toListOf) . normalParserNoFixity f --- | Parse of a string containing a Haskell type, using an explicit mode.-parseStmtWithMode :: ParseMode -> String -> ParseResult S.Stmt-parseStmtWithMode = (fmap sStmt .) . P.parseStmtWithMode+-- | Type intended to be used with 'Parseable', with instances that implement a+-- non-greedy parse of the module name, including top-level pragmas. This+-- means that a parse error that comes after the module header won't be+-- returned. If the 'Maybe' value is 'Nothing', then this means that there was+-- no module header.+data PragmasAndModuleName l = PragmasAndModuleName l+ [ModulePragma l]+ (Maybe (ModuleName l))+ deriving (Eq,Ord,Show,Typeable,Data) --- | Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.-parseStmtWithComments :: ParseMode -> String -> ParseResult (S.Stmt, [Comment])-parseStmtWithComments = (fmap (\(s, cs) -> (sStmt s, cs)) .) . P.parseStmtWithComments+instance Parseable (NonGreedy (PragmasAndModuleName SrcSpanInfo)) where+ parser _ = do+ ((pragmas, pss, pl), mn) <- ngparsePragmasAndModuleName+ let l = combSpanMaybe (pl <** pss) (fmap ann mn)+ return $ NonGreedy $ PragmasAndModuleName l pragmas mn +-- Type intended to be used with 'Parseable', with instances that+-- implement a non-greedy parse of the module name, including+-- top-level pragmas. This means that a parse error that comes+-- after the module header won't be returned. If the 'Maybe' value+-- is 'Nothing', this means that there was no module head.+--+-- Note that the 'ParseMode' matters for this due to the 'MagicHash'+-- changing the lexing of identifiers to include \"#\".+data PragmasAndModuleHead l = PragmasAndModuleHead l+ [ModulePragma l]+ (Maybe (ModuleHead l))+ deriving (Eq,Ord,Show,Typeable,Data) -instance Parseable S.Module where- parse = parseModule- parseWithMode = parseModuleWithMode- parseWithComments = parseModuleWithComments+instance Parseable (NonGreedy (PragmasAndModuleHead SrcSpanInfo)) where+ parser _ = do+ ((pragmas, pss, pl), mh) <- ngparsePragmasAndModuleHead+ let l = combSpanMaybe (pl <** pss) (fmap ann mh)+ return $ NonGreedy $ PragmasAndModuleHead l pragmas mh -instance Parseable S.Exp where- parse = parseExp- parseWithMode = parseExpWithMode- parseWithComments = parseExpWithComments+-- Type intended to be used with 'Parseable', with instances that+-- implement a non-greedy parse of the module head, including+-- top-level pragmas, module name, export list, and import+-- list. This means that if a parse error that comes after the+-- imports won't be returned. If the 'Maybe' value is 'Nothing',+-- this means that there was no module head.+--+-- Note that the 'ParseMode' matters for this due to the 'MagicHash'+-- changing the lexing of identifiers to include \"#\".+data ModuleHeadAndImports l = ModuleHeadAndImports l+ [ModulePragma l]+ (Maybe (ModuleHead l))+ [ImportDecl l]+ deriving (Eq,Ord,Show,Typeable,Data) -instance Parseable S.Pat where- parse = parsePat- parseWithMode = parsePatWithMode- parseWithComments = parsePatWithComments+instance Parseable (NonGreedy (ModuleHeadAndImports SrcSpanInfo)) where+ parser _ = do+ ((pragmas, pss, pl), mh, mimps) <- ngparseModuleHeadAndImports+ let l = (pl <** pss) `combSpanMaybe`+ (fmap ann mh) `combSpanMaybe`+ (fmap (\(_, iss, il) -> il <** iss) mimps)+ imps = maybe [] (\(x, _, _) -> x) mimps+ return $ NonGreedy $ ModuleHeadAndImports l pragmas mh imps -instance Parseable S.Decl where- parse = parseDecl- parseWithMode = parseDeclWithMode- parseWithComments = parseDeclWithComments+-- | Instances of 'Parseable' for @NonGreedy a@ will only consume the input+-- until @a@ is fully parsed. This means that parse errors that come later+-- in the input will be ignored. It's also more efficient, as it's fully lazy+-- in the remainder of the input:+--+-- >>> parse (unlines ("module A where" : "main =" : repeat "blah")) :: ParseResult PragmasAndModuleHead+-- ParseOk (NonGreedy {unNonGreedy = PragmasAndModuleHead [] (ModuleName "A",Nothing,Nothing)})+--+-- (this example uses the simplified AST)+newtype NonGreedy a = NonGreedy { unNonGreedy :: a }+ deriving (Eq,Ord,Show,Typeable,Data) -instance Parseable S.Type where- parse = parseType- parseWithMode = parseTypeWithMode- parseWithComments = parseTypeWithComments+instance Functor NonGreedy where+ fmap f (NonGreedy x) = NonGreedy (f x)++-- | @ListOf a@ stores lists of the AST type @a@, along with a 'SrcSpanInfo',+-- in order to provide 'Parseable' instances for lists. These instances are+-- provided when the type is used as a list in the syntax, and the same+-- delimiters are used in all of its usages. Some exceptions are made:+data ListOf a = ListOf SrcSpanInfo [a]+ deriving (Eq,Ord,Show,Typeable,Data,Functor)++unListOf :: ListOf a -> [a]+unListOf (ListOf _ xs) = xs++-- It's safe to forget about the previous SrcSpanInfo 'srcInfoPoints',+-- as long as they are created with (presently) are all created with+-- 'noInfoSpan' ('nIS'), '(<^^>)', or '(<++>)', all of which have+-- empty 'srcInfoPoints'. Ideally, the parsers would return better+-- types, but this works.+toListOf :: ([a], [SrcSpan], SrcSpanInfo) -> ListOf a+toListOf (xs, ss, l) = ListOf (infoSpan (srcInfoSpan l) ss) xs
src/Language/Haskell/Exts/Pretty.hs view
@@ -1,1713 +1,1717 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Pretty--- Copyright : (c) Niklas Broberg 2004-2009,--- (c) The GHC Team, Noel Winstanley 1997-2000--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ Pretty printer for Haskell with extensions.-----------------------------------------------------------------------------------module Language.Haskell.Exts.Pretty (- -- * Pretty printing- Pretty,- prettyPrintStyleMode, prettyPrintWithMode, prettyPrint,- -- * Pretty-printing styles (from "Text.PrettyPrint.HughesPJ")- P.Style(..), P.style, P.Mode(..),- -- * Haskell formatting modes- PPHsMode(..), Indent, PPLayout(..), defaultMode) where--import Language.Haskell.Exts.Syntax-import qualified Language.Haskell.Exts.Annotated.Syntax as A-import Language.Haskell.Exts.Annotated.Simplify-import qualified Language.Haskell.Exts.ParseSyntax as P--import Language.Haskell.Exts.SrcLoc--import qualified Text.PrettyPrint as P-import Data.List (intersperse)-import Control.Applicative (Applicative(..))-import Control.Monad (ap)--infixl 5 $$$----------------------------------------------------------------------------------- | Varieties of layout we can use.-data PPLayout = PPOffsideRule -- ^ classical layout- | PPSemiColon -- ^ classical layout made explicit- | PPInLine -- ^ inline decls, with newlines between them- | PPNoLayout -- ^ everything on a single line- deriving Eq--type Indent = Int---- | Pretty-printing parameters.------ /Note:/ the 'onsideIndent' must be positive and less than all other indents.-data PPHsMode = PPHsMode {- -- | indentation of a class or instance- classIndent :: Indent,- -- | indentation of a @do@-expression- doIndent :: Indent,- -- | indentation of the body of a- -- @case@ expression- caseIndent :: Indent,- -- | indentation of the declarations in a- -- @let@ expression- letIndent :: Indent,- -- | indentation of the declarations in a- -- @where@ clause- whereIndent :: Indent,- -- | indentation added for continuation- -- lines that would otherwise be offside- onsideIndent :: Indent,- -- | blank lines between statements?- spacing :: Bool,- -- | Pretty-printing style to use- layout :: PPLayout,- -- | add GHC-style @LINE@ pragmas to output?- linePragmas :: Bool- }---- | The default mode: pretty-print using the offside rule and sensible--- defaults.-defaultMode :: PPHsMode-defaultMode = PPHsMode{- classIndent = 8,- doIndent = 3,- caseIndent = 4,- letIndent = 4,- whereIndent = 6,- onsideIndent = 2,- spacing = True,- layout = PPOffsideRule,- linePragmas = False- }---- | Pretty printing monad-newtype DocM s a = DocM (s -> a)--instance Functor (DocM s) where- fmap f xs = do x <- xs; return (f x)--instance Applicative (DocM s) where- pure = retDocM- (<*>) = ap--instance Monad (DocM s) where- (>>=) = thenDocM- (>>) = then_DocM- return = retDocM--{-# INLINE thenDocM #-}-{-# INLINE then_DocM #-}-{-# INLINE retDocM #-}-{-# INLINE unDocM #-}-{-# INLINE getPPEnv #-}--thenDocM :: DocM s a -> (a -> DocM s b) -> DocM s b-thenDocM m k = DocM $ (\s -> case unDocM m $ s of a -> unDocM (k a) $ s)--then_DocM :: DocM s a -> DocM s b -> DocM s b-then_DocM m k = DocM $ (\s -> case unDocM m $ s of _ -> unDocM k $ s)--retDocM :: a -> DocM s a-retDocM a = DocM (\_s -> a)--unDocM :: DocM s a -> (s -> a)-unDocM (DocM f) = f---- all this extra stuff, just for this one function.-getPPEnv :: DocM s s-getPPEnv = DocM id---- So that pp code still looks the same--- this means we lose some generality though---- | The document type produced by these pretty printers uses a 'PPHsMode'--- environment.-type Doc = DocM PPHsMode P.Doc---- | Things that can be pretty-printed, including all the syntactic objects--- in "Language.Haskell.Exts.Syntax" and "Language.Haskell.Exts.Annotated.Syntax".-class Pretty a where- -- | Pretty-print something in isolation.- pretty :: a -> Doc- -- | Pretty-print something in a precedence context.- prettyPrec :: Int -> a -> Doc- pretty = prettyPrec 0- prettyPrec _ = pretty---- The pretty printing combinators--empty :: Doc-empty = return P.empty--nest :: Int -> Doc -> Doc-nest i m = m >>= return . P.nest i----- Literals--text, ptext :: String -> Doc-text = return . P.text-ptext = return . P.text--char :: Char -> Doc-char = return . P.char--int :: Int -> Doc-int = return . P.int--integer :: Integer -> Doc-integer = return . P.integer--float :: Float -> Doc-float = return . P.float--double :: Double -> Doc-double = return . P.double--rational :: Rational -> Doc-rational = return . P.rational---- Simple Combining Forms--parens, brackets, braces,quotes,doubleQuotes :: Doc -> Doc-parens d = d >>= return . P.parens-brackets d = d >>= return . P.brackets-braces d = d >>= return . P.braces-quotes d = d >>= return . P.quotes-doubleQuotes d = d >>= return . P.doubleQuotes--parensIf :: Bool -> Doc -> Doc-parensIf True = parens-parensIf False = id---- Constants--semi,comma,colon,space,equals :: Doc-semi = return P.semi-comma = return P.comma-colon = return P.colon-space = return P.space-equals = return P.equals--lparen,rparen,lbrack,rbrack,lbrace,rbrace :: Doc-lparen = return P.lparen-rparen = return P.rparen-lbrack = return P.lbrack-rbrack = return P.rbrack-lbrace = return P.lbrace-rbrace = return P.rbrace---- Combinators--(<>),(<+>),($$),($+$) :: Doc -> Doc -> Doc-aM <> bM = do{a<-aM;b<-bM;return (a P.<> b)}-aM <+> bM = do{a<-aM;b<-bM;return (a P.<+> b)}-aM $$ bM = do{a<-aM;b<-bM;return (a P.$$ b)}-aM $+$ bM = do{a<-aM;b<-bM;return (a P.$+$ b)}--hcat,hsep,vcat,sep,cat,fsep,fcat :: [Doc] -> Doc-hcat dl = sequence dl >>= return . P.hcat-hsep dl = sequence dl >>= return . P.hsep-vcat dl = sequence dl >>= return . P.vcat-sep dl = sequence dl >>= return . P.sep-cat dl = sequence dl >>= return . P.cat-fsep dl = sequence dl >>= return . P.fsep-fcat dl = sequence dl >>= return . P.fcat---- Some More--hang :: Doc -> Int -> Doc -> Doc-hang dM i rM = do{d<-dM;r<-rM;return $ P.hang d i r}---- Yuk, had to cut-n-paste this one from Pretty.hs-punctuate :: Doc -> [Doc] -> [Doc]-punctuate _ [] = []-punctuate p (d1:ds) = go d1 ds- where- go d [] = [d]- go d (e:es) = (d <> p) : go e es---- | render the document with a given style and mode.-renderStyleMode :: P.Style -> PPHsMode -> Doc -> String-renderStyleMode ppStyle ppMode d = P.renderStyle ppStyle . unDocM d $ ppMode---- | render the document with a given mode.-renderWithMode :: PPHsMode -> Doc -> String-renderWithMode = renderStyleMode P.style---- | render the document with 'defaultMode'.-render :: Doc -> String-render = renderWithMode defaultMode---- | pretty-print with a given style and mode.-prettyPrintStyleMode :: Pretty a => P.Style -> PPHsMode -> a -> String-prettyPrintStyleMode ppStyle ppMode = renderStyleMode ppStyle ppMode . pretty---- | pretty-print with the default style and a given mode.-prettyPrintWithMode :: Pretty a => PPHsMode -> a -> String-prettyPrintWithMode = prettyPrintStyleMode P.style---- | pretty-print with the default style and 'defaultMode'.-prettyPrint :: Pretty a => a -> String-prettyPrint = prettyPrintWithMode defaultMode--fullRenderWithMode :: PPHsMode -> P.Mode -> Int -> Float ->- (P.TextDetails -> a -> a) -> a -> Doc -> a-fullRenderWithMode ppMode m i f fn e mD =- P.fullRender m i f fn e $ (unDocM mD) ppMode---fullRender :: P.Mode -> Int -> Float -> (P.TextDetails -> a -> a)- -> a -> Doc -> a-fullRender = fullRenderWithMode defaultMode--------------------------- Pretty-Print a Module ---------------------instance Pretty Module where- pretty (Module pos m os mbWarn mbExports imp decls) =- markLine pos $- myVcat $ map pretty os ++- (if m == ModuleName "" then id- else \x -> [topLevel (ppModuleHeader m mbWarn mbExports) x])- (map pretty imp ++ map pretty decls)---------------------------- Module Header -------------------------------ppModuleHeader :: ModuleName -> Maybe WarningText -> Maybe [ExportSpec] -> Doc-ppModuleHeader m mbWarn mbExportList = mySep [- text "module",- pretty m,- maybePP ppWarnTxt mbWarn,- maybePP (parenList . map pretty) mbExportList,- text "where"]--ppWarnTxt :: WarningText -> Doc-ppWarnTxt (DeprText s) = mySep [text "{-# DEPRECATED", text (show s), text "#-}"]-ppWarnTxt (WarnText s) = mySep [text "{-# WARNING", text (show s), text "#-}"]--instance Pretty ModuleName where- pretty (ModuleName modName) = text modName--instance Pretty ExportSpec where- pretty (EVar name) = pretty name- pretty (EAbs name) = pretty name- pretty (EThingAll name) = pretty name <> text "(..)"- pretty (EThingWith name nameList) =- pretty name <> (parenList . map pretty $ nameList)- pretty (EModuleContents m) = text "module" <+> pretty m--instance Pretty ImportDecl where- pretty (ImportDecl pos m qual src mbPkg mbName mbSpecs) =- markLine pos $- mySep [text "import",- if src then text "{-# SOURCE #-}" else empty,- if qual then text "qualified" else empty,- maybePP (\s -> text (show s)) mbPkg,- pretty m,- maybePP (\m' -> text "as" <+> pretty m') mbName,- maybePP exports mbSpecs]- where- exports (b,specList) =- if b then text "hiding" <+> specs else specs- where specs = parenList . map pretty $ specList--instance Pretty ImportSpec where- pretty (IVar name) = pretty name- pretty (IAbs name) = pretty name- pretty (IThingAll name) = pretty name <> text "(..)"- pretty (IThingWith name nameList) =- pretty name <> (parenList . map pretty $ nameList)--------------------------- Declarations -------------------------------instance Pretty Decl where- pretty (TypeDecl loc name nameList htype) =- blankline $- markLine loc $- mySep ( [text "type", pretty name]- ++ map pretty nameList- ++ [equals, pretty htype])-- pretty (DataDecl loc don context name nameList constrList derives) =- blankline $- markLine loc $- mySep ( [pretty don, ppContext context, pretty name]- ++ map pretty nameList)- <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))- (map pretty constrList))- $$$ ppDeriving derives)-- pretty (GDataDecl loc don context name nameList optkind gadtList derives) =- blankline $- markLine loc $- mySep ( [pretty don, ppContext context, pretty name]- ++ map pretty nameList ++ ppOptKind optkind ++ [text "where"])- $$$ ppBody classIndent (map pretty gadtList)- $$$ ppBody letIndent [ppDeriving derives]-- pretty (TypeFamDecl loc name nameList optkind) =- blankline $- markLine loc $- mySep ([text "type", text "family", pretty name]- ++ map pretty nameList- ++ ppOptKind optkind)-- pretty (DataFamDecl loc context name nameList optkind) =- blankline $- markLine loc $- mySep ( [text "data", text "family", ppContext context, pretty name]- ++ map pretty nameList ++ ppOptKind optkind)-- pretty (TypeInsDecl loc ntype htype) =- blankline $- markLine loc $- mySep [text "type", text "instance", pretty ntype, equals, pretty htype]-- pretty (DataInsDecl loc don ntype constrList derives) =- blankline $- markLine loc $- mySep [pretty don, text "instance", pretty ntype]- <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))- (map pretty constrList))- $$$ ppDeriving derives)-- pretty (GDataInsDecl loc don ntype optkind gadtList derives) =- blankline $- markLine loc $- mySep ( [pretty don, text "instance", pretty ntype]- ++ ppOptKind optkind ++ [text "where"])- $$$ ppBody classIndent (map pretty gadtList)- $$$ ppDeriving derives-- --m{spacing=False}- -- special case for empty class declaration- pretty (ClassDecl pos context name nameList fundeps []) =- blankline $- markLine pos $- mySep ( [text "class", ppContext context, pretty name]- ++ map pretty nameList ++ [ppFunDeps fundeps])- pretty (ClassDecl pos context name nameList fundeps declList) =- blankline $- markLine pos $- mySep ( [text "class", ppContext context, pretty name]- ++ map pretty nameList ++ [ppFunDeps fundeps, text "where"])- $$$ ppBody classIndent (map pretty declList)-- -- m{spacing=False}- -- special case for empty instance declaration- pretty (InstDecl pos context name args []) =- blankline $- markLine pos $- mySep ( [text "instance", ppContext context, pretty name]- ++ map ppAType args)- pretty (InstDecl pos context name args declList) =- blankline $- markLine pos $- mySep ( [text "instance", ppContext context, pretty name]- ++ map ppAType args ++ [text "where"])- $$$ ppBody classIndent (map pretty declList)-- pretty (DerivDecl pos context name args) =- blankline $- markLine pos $- mySep ( [text "deriving", text "instance", ppContext context, pretty name]- ++ map ppAType args)- pretty (DefaultDecl pos htypes) =- blankline $- markLine pos $- text "default" <+> parenList (map pretty htypes)-- pretty (SpliceDecl pos splice) =- blankline $- markLine pos $- pretty splice-- pretty (TypeSig pos nameList qualType) =- blankline $- markLine pos $- mySep ((punctuate comma . map pretty $ nameList)- ++ [text "::", pretty qualType])-- pretty (FunBind matches) = do- e <- fmap layout getPPEnv- case e of PPOffsideRule -> foldr ($$$) empty (map pretty matches)- _ -> foldr (\x y -> x <> semi <> y) empty (map pretty matches)-- pretty (PatBind pos pat optsig rhs whereBinds) =- markLine pos $- myFsep [pretty pat, maybePP ppSig optsig, pretty rhs] $$$ ppWhere whereBinds-- pretty (InfixDecl pos assoc prec opList) =- blankline $- markLine pos $- mySep ([pretty assoc, int prec]- ++ (punctuate comma . map pretty $ opList))-- pretty (ForImp pos cconv saf str name typ) =- blankline $- markLine pos $- mySep [text "foreign import", pretty cconv, pretty saf,- text (show str), pretty name, text "::", pretty typ]-- pretty (ForExp pos cconv str name typ) =- blankline $- markLine pos $- mySep [text "foreign export", pretty cconv,- text (show str), pretty name, text "::", pretty typ]-- pretty (RulePragmaDecl pos rules) =- blankline $- markLine pos $- myVcat $ text "{-# RULES" : map pretty rules ++ [text " #-}"]-- pretty (DeprPragmaDecl pos deprs) =- blankline $- markLine pos $- myVcat $ text "{-# DEPRECATED" : map ppWarnDepr deprs ++ [text " #-}"]-- pretty (WarnPragmaDecl pos deprs) =- blankline $- markLine pos $- myVcat $ text "{-# WARNING" : map ppWarnDepr deprs ++ [text " #-}"]-- pretty (InlineSig pos inl activ name) =- blankline $- markLine pos $- mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]-- pretty (InlineConlikeSig pos activ name) =- blankline $- markLine pos $- mySep [text "{-# INLINE_CONLIKE", pretty activ, pretty name, text "#-}"]-- pretty (SpecSig pos activ name types) =- blankline $- markLine pos $- mySep $ [text "{-# SPECIALISE", pretty activ, pretty name, text "::"]- ++ punctuate comma (map pretty types) ++ [text "#-}"]-- pretty (SpecInlineSig pos inl activ name types) =- blankline $- markLine pos $- mySep $ [text "{-# SPECIALISE", text (if inl then "INLINE" else "NOINLINE"),- pretty activ, pretty name, text "::"]- ++ (punctuate comma $ map pretty types) ++ [text "#-}"]-- pretty (InstSig pos context name args) =- blankline $- markLine pos $- mySep $ [text "{-# SPECIALISE", text "instance", ppContext context, pretty name]- ++ map ppAType args ++ [text "#-}"]-- pretty (AnnPragma pos ann) =- blankline $- markLine pos $- mySep $ [text "{-# ANN", pretty ann, text "#-}"]--instance Pretty Annotation where- pretty (Ann n e) = myFsep [pretty n, pretty e]- pretty (TypeAnn n e) = myFsep [text "type", pretty n, pretty e]- pretty (ModuleAnn e) = myFsep [text "module", pretty e]--instance Pretty DataOrNew where- pretty DataType = text "data"- pretty NewType = text "newtype"--instance Pretty Assoc where- pretty AssocNone = text "infix"- pretty AssocLeft = text "infixl"- pretty AssocRight = text "infixr"--instance Pretty Match where- pretty (Match pos f ps optsig rhs whereBinds) =- markLine pos $- myFsep (lhs ++ [maybePP ppSig optsig, pretty rhs])- $$$ ppWhere whereBinds- where- lhs = case ps of- l:r:ps' | isSymbolName f ->- let hd = [pretty l, ppName f, pretty r] in- if null ps' then hd- else parens (myFsep hd) : map (prettyPrec 2) ps'- _ -> pretty f : map (prettyPrec 2) ps--ppWhere :: Binds -> Doc-ppWhere (BDecls []) = empty-ppWhere (BDecls l) = nest 2 (text "where" $$$ ppBody whereIndent (map pretty l))-ppWhere (IPBinds b) = nest 2 (text "where" $$$ ppBody whereIndent (map pretty b))--ppSig :: Type -> Doc-ppSig t = text "::" <+> pretty t--instance Pretty ClassDecl where- pretty (ClsDecl decl) = pretty decl-- pretty (ClsDataFam loc context name nameList optkind) =- markLine loc $- mySep ( [text "data", ppContext context, pretty name]- ++ map pretty nameList ++ ppOptKind optkind)-- pretty (ClsTyFam loc name nameList optkind) =- markLine loc $- mySep ( [text "type", pretty name]- ++ map pretty nameList ++ ppOptKind optkind)-- pretty (ClsTyDef loc ntype htype) =- markLine loc $- mySep [text "type", pretty ntype, equals, pretty htype]--instance Pretty InstDecl where- pretty (InsDecl decl) = pretty decl-- pretty (InsType loc ntype htype) =- markLine loc $- mySep [text "type", pretty ntype, equals, pretty htype]-- pretty (InsData loc don ntype constrList derives) =- markLine loc $- mySep [pretty don, pretty ntype]- <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))- (map pretty constrList))- $$$ ppDeriving derives)-- pretty (InsGData loc don ntype optkind gadtList derives) =- markLine loc $- mySep ( [pretty don, pretty ntype]- ++ ppOptKind optkind ++ [text "where"])- $$$ ppBody classIndent (map pretty gadtList)- $$$ ppDeriving derives---- pretty (InsInline loc inl activ name) =--- markLine loc $--- mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]---------------------------- FFI stuff --------------------------------------instance Pretty Safety where- pretty PlayRisky = text "unsafe"- pretty (PlaySafe b) = text $ if b then "threadsafe" else "safe"- pretty PlayInterruptible = text "interruptible"--instance Pretty CallConv where- pretty StdCall = text "stdcall"- pretty CCall = text "ccall"- pretty CPlusPlus = text "cplusplus"- pretty DotNet = text "dotnet"- pretty Jvm = text "jvm"- pretty Js = text "js"- pretty CApi = text "capi"--------------------------- Pragmas ----------------------------------------ppWarnDepr :: ([Name], String) -> Doc-ppWarnDepr (names, txt) = mySep $ (punctuate comma $ map pretty names) ++ [text $ show txt]--instance Pretty Rule where- pretty (Rule tag activ rvs rhs lhs) =- mySep $ [text $ show tag, pretty activ,- maybePP ppRuleVars rvs,- pretty rhs, char '=', pretty lhs]--ppRuleVars :: [RuleVar] -> Doc-ppRuleVars [] = empty-ppRuleVars rvs = mySep $ text "forall" : map pretty rvs ++ [char '.']--instance Pretty Activation where- pretty AlwaysActive = empty- pretty (ActiveFrom i) = char '[' <> int i <> char ']'- pretty (ActiveUntil i) = text "[~" <> int i <> char ']'--instance Pretty RuleVar where- pretty (RuleVar n) = pretty n- pretty (TypedRuleVar n t) = parens $ mySep [pretty n, text "::", pretty t]--instance Pretty ModulePragma where- pretty (LanguagePragma _ ns) =- myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]- pretty (OptionsPragma _ (Just tool) s) =- myFsep $ [text "{-# OPTIONS_" <> pretty tool, text s, text "#-}"]- pretty (OptionsPragma _ _ s) =- myFsep $ [text "{-# OPTIONS", text s, text "#-}"]- pretty (AnnModulePragma _ ann) =- myFsep $ [text "{-# ANN", pretty ann, text "#-}"]---instance Pretty Tool where- pretty (UnknownTool s) = text s- pretty t = text $ show t--------------------------- Data & Newtype Bodies --------------------------instance Pretty QualConDecl where- pretty (QualConDecl _pos tvs ctxt con) =- myFsep [ppForall (Just tvs), ppContext ctxt, pretty con]--instance Pretty GadtDecl where- pretty (GadtDecl _pos name ty) =- myFsep [pretty name, text "::", pretty ty]--instance Pretty ConDecl where- pretty (RecDecl name fieldList) =- pretty name <> (braceList . map ppField $ fieldList)--{- pretty (ConDecl name@(Symbol _) [l, r]) =- myFsep [prettyPrec prec_btype l, ppName name,- prettyPrec prec_btype r] -}- pretty (ConDecl name typeList) =- mySep $ ppName name : map (prettyPrec prec_atype) typeList- pretty (InfixConDecl l name r) =- myFsep [prettyPrec prec_btype l, ppNameInfix name,- prettyPrec prec_btype r]--ppField :: ([Name],BangType) -> Doc-ppField (names, ty) =- myFsepSimple $ (punctuate comma . map pretty $ names) ++- [text "::", pretty ty]--instance Pretty BangType where- prettyPrec _ (BangedTy ty) = char '!' <> ppAType ty- prettyPrec p (UnBangedTy ty) = prettyPrec p ty- prettyPrec p (UnpackedTy ty) = text "{-# UNPACK #-}" <+> char '!' <> prettyPrec p ty--ppDeriving :: [Deriving] -> Doc-ppDeriving [] = empty-ppDeriving [(d, [])] = text "deriving" <+> ppQName d-ppDeriving ds = text "deriving" <+> parenList (map ppDer ds)- where ppDer :: (QName, [Type]) -> Doc- ppDer (n, ts) = mySep (pretty n : map pretty ts)--------------------------- Types --------------------------ppBType :: Type -> Doc-ppBType = prettyPrec prec_btype--ppAType :: Type -> Doc-ppAType = prettyPrec prec_atype---- precedences for types-prec_btype, prec_atype :: Int-prec_btype = 1 -- left argument of ->,- -- or either argument of an infix data constructor-prec_atype = 2 -- argument of type or data constructor, or of a class--instance Pretty Type where- prettyPrec p (TyForall mtvs ctxt htype) = parensIf (p > 0) $- myFsep [ppForall mtvs, ppContext ctxt, pretty htype]- prettyPrec p (TyFun a b) = parensIf (p > 0) $- myFsep [ppBType a, text "->", pretty b]- prettyPrec _ (TyTuple bxd l) =- let ds = map pretty l- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- prettyPrec _ (TyList t) = brackets $ pretty t- prettyPrec p (TyApp a b) =- {-- | a == list_tycon = brackets $ pretty b -- special case- | otherwise = -} parensIf (p > prec_btype) $- myFsep [pretty a, ppAType b]- prettyPrec _ (TyVar name) = pretty name- prettyPrec _ (TyCon name) = pretty name- prettyPrec _ (TyParen t) = parens (pretty t)--- prettyPrec _ (TyPred asst) = pretty asst- prettyPrec _ (TyInfix a op b) = myFsep [pretty a, ppQNameInfix op, pretty b]- prettyPrec _ (TyKind t k) = parens (myFsep [pretty t, text "::", pretty k])- prettyPrec _ (TyPromoted p) = pretty p--instance Pretty Promoted where- pretty p =- case p of- PromotedInteger n -> integer n- PromotedString s -> doubleQuotes $ text s- PromotedCon hasQuote qn ->- addQuote hasQuote $ pretty qn- PromotedList hasQuote list ->- addQuote hasQuote $ bracketList . punctuate comma . map pretty $ list- PromotedTuple list ->- addQuote True $ parenList $ map pretty list- PromotedUnit -> addQuote True $ text "()"- where- addQuote True doc = char '\'' <> doc- addQuote False doc = doc--instance Pretty TyVarBind where- pretty (KindedVar var kind) = parens $ myFsep [pretty var, text "::", pretty kind]- pretty (UnkindedVar var) = pretty var--ppForall :: Maybe [TyVarBind] -> Doc-ppForall Nothing = empty-ppForall (Just []) = empty-ppForall (Just vs) = myFsep (text "forall" : map pretty vs ++ [char '.'])------------------------------ Kinds ------------------------------instance Pretty Kind where- prettyPrec _ KindStar = text "*"- prettyPrec _ KindBang = text "!"- prettyPrec n (KindFn a b) = parensIf (n > 0) $ myFsep [prettyPrec 1 a, text "->", pretty b]- prettyPrec _ (KindParen k) = parens $ pretty k- prettyPrec _ (KindVar n) = pretty n- prettyPrec _ (KindTuple t) = parenList . map pretty $ t- prettyPrec _ (KindList l) = bracketList . punctuate comma . map pretty $ l- prettyPrec n (KindApp a b) =- parensIf (n > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]--ppOptKind :: Maybe Kind -> [Doc]-ppOptKind Nothing = []-ppOptKind (Just k) = [text "::", pretty k]--------------------- Functional Dependencies --------------------instance Pretty FunDep where- pretty (FunDep from to) =- myFsep $ map pretty from ++ [text "->"] ++ map pretty to---ppFunDeps :: [FunDep] -> Doc-ppFunDeps [] = empty-ppFunDeps fds = myFsep $ (char '|':) . punctuate comma . map pretty $ fds--------------------------- Expressions --------------------------instance Pretty Rhs where- pretty (UnGuardedRhs e) = equals <+> pretty e- pretty (GuardedRhss guardList) = myVcat . map pretty $ guardList--instance Pretty GuardedRhs where- pretty (GuardedRhs _pos guards ppBody) =- myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [equals, pretty ppBody]--instance Pretty Literal where- pretty (Int i) = integer i- pretty (Char c) = text (show c)- pretty (String s) = text (show s)- pretty (Frac r) = double (fromRational r)- -- GHC unboxed literals:- pretty (PrimChar c) = text (show c) <> char '#'- pretty (PrimString s) = text (show s) <> char '#'- pretty (PrimInt i) = integer i <> char '#'- pretty (PrimWord w) = integer w <> text "##"- pretty (PrimFloat r) = float (fromRational r) <> char '#'- pretty (PrimDouble r) = double (fromRational r) <> text "##"--instance Pretty Exp where- prettyPrec _ (Lit l) = pretty l- -- lambda stuff- prettyPrec p (InfixApp a op b) = parensIf (p > 2) $ myFsep [prettyPrec 2 a, pretty op, prettyPrec 1 b]- prettyPrec p (NegApp e) = parensIf (p > 0) $ char '-' <> prettyPrec 4 e- prettyPrec p (App a b) = parensIf (p > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]- prettyPrec p (Lambda _loc patList ppBody) = parensIf (p > 1) $ myFsep $- char '\\' : map (prettyPrec 2) patList ++ [text "->", pretty ppBody]- -- keywords- -- two cases for lets- prettyPrec p (Let (BDecls declList) letBody) =- parensIf (p > 1) $ ppLetExp declList letBody- prettyPrec p (Let (IPBinds bindList) letBody) =- parensIf (p > 1) $ ppLetExp bindList letBody-- prettyPrec p (If cond thenexp elsexp) = parensIf (p > 1) $- myFsep [text "if", pretty cond,- text "then", pretty thenexp,- text "else", pretty elsexp]- prettyPrec p (MultiIf alts) = parensIf (p > 1) $- text "if"- $$$ ppBody caseIndent (map pretty alts)- prettyPrec p (Case cond altList) = parensIf (p > 1) $- myFsep [text "case", pretty cond, text "of"]- $$$ ppBody caseIndent (map pretty altList)- prettyPrec p (Do stmtList) = parensIf (p > 1) $- text "do" $$$ ppBody doIndent (map pretty stmtList)- prettyPrec p (MDo stmtList) = parensIf (p > 1) $- text "mdo" $$$ ppBody doIndent (map pretty stmtList)- -- Constructors & Vars- prettyPrec _ (Var name) = pretty name- prettyPrec _ (IPVar ipname) = pretty ipname- prettyPrec _ (Con name) = pretty name- prettyPrec _ (Tuple bxd expList) =- let ds = map pretty expList- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- prettyPrec _ (TupleSection bxd mExpList) =- let ds = map (maybePP pretty) mExpList- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- -- weird stuff- prettyPrec _ (Paren e) = parens . pretty $ e- prettyPrec _ (LeftSection e op) = parens (pretty e <+> pretty op)- prettyPrec _ (RightSection op e) = parens (pretty op <+> pretty e)- prettyPrec _ (RecConstr c fieldList) =- pretty c <> (braceList . map pretty $ fieldList)- prettyPrec _ (RecUpdate e fieldList) =- pretty e <> (braceList . map pretty $ fieldList)- -- Lists- prettyPrec _ (List list) =- bracketList . punctuate comma . map pretty $ list- prettyPrec _ (EnumFrom e) =- bracketList [pretty e, text ".."]- prettyPrec _ (EnumFromTo from to) =- bracketList [pretty from, text "..", pretty to]- prettyPrec _ (EnumFromThen from thenE) =- bracketList [pretty from <> comma, pretty thenE, text ".."]- prettyPrec _ (EnumFromThenTo from thenE to) =- bracketList [pretty from <> comma, pretty thenE,- text "..", pretty to]- prettyPrec _ (ListComp e qualList) =- bracketList ([pretty e, char '|']- ++ (punctuate comma . map pretty $ qualList))- prettyPrec _ (ParComp e qualLists) =- bracketList (punctuate (char '|') $- pretty e : (map (hsep . punctuate comma . map pretty) $ qualLists))- prettyPrec p (ExpTypeSig _pos e ty) = parensIf (p > 0) $- myFsep [pretty e, text "::", pretty ty]- -- Template Haskell- prettyPrec _ (BracketExp b) = pretty b- prettyPrec _ (SpliceExp s) = pretty s- prettyPrec _ (TypQuote t) = text "\'\'" <> pretty t- prettyPrec _ (VarQuote x) = text "\'" <> pretty x- prettyPrec _ (QuasiQuote n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")- -- Hsx- prettyPrec _ (XTag _ n attrs mattr cs) =- let ax = maybe [] (return . pretty) mattr- in hcat $- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):- map pretty cs ++ [myFsep $ [text "</" <> pretty n, char '>']]- prettyPrec _ (XETag _ n attrs mattr) =- let ax = maybe [] (return . pretty) mattr- in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]- prettyPrec _ (XPcdata s) = text s- prettyPrec _ (XExpTag e) =- myFsep $ [text "<%", pretty e, text "%>"]- prettyPrec _ (XChildTag _ cs) =- myFsep $ text "<%>" : map pretty cs ++ [text "</%>"]-- -- Pragmas- prettyPrec p (CorePragma s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]- prettyPrec _ (SCCPragma s e) = myFsep $ map text ["{-# SCC", show s, "#-}"] ++ [pretty e]- prettyPrec _ (GenPragma s (a,b) (c,d) e) =- myFsep $ [text "{-# GENERATED", text $ show s,- int a, char ':', int b, char '-',- int c, char ':', int d, text "#-}", pretty e]- -- Arrows- prettyPrec p (Proc _ pat e) = parensIf (p > 1) $ myFsep $ [text "proc", pretty pat, text "->", pretty e]- prettyPrec p (LeftArrApp l r) = parensIf (p > 0) $ myFsep $ [pretty l, text "-<", pretty r]- prettyPrec p (RightArrApp l r) = parensIf (p > 0) $ myFsep $ [pretty l, text ">-", pretty r]- prettyPrec p (LeftArrHighApp l r) = parensIf (p > 0) $ myFsep $ [pretty l, text "-<<", pretty r]- prettyPrec p (RightArrHighApp l r) = parensIf (p > 0) $ myFsep $ [pretty l, text ">>-", pretty r]-- -- LamdaCase- prettyPrec p (LCase altList) = parensIf (p > 1) $- text "\\case" $$$ ppBody caseIndent (map pretty altList)---instance Pretty XAttr where- pretty (XAttr n v) =- myFsep [pretty n, char '=', pretty v]--instance Pretty XName where- pretty (XName n) = text n- pretty (XDomName d n) = text d <> char ':' <> text n----ppLetExp :: [Decl] -> Exp -> Doc-ppLetExp l b = myFsep [text "let" <+> ppBody letIndent (map pretty l),- text "in", pretty b]--ppWith binds = nest 2 (text "with" $$$ ppBody withIndent (map pretty binds))-withIndent = whereIndent----------------------- Template Haskell ---------------------------instance Pretty Bracket where- pretty (ExpBracket e) = ppBracket "[|" e- pretty (PatBracket p) = ppBracket "[p|" p- pretty (TypeBracket t) = ppBracket "[t|" t- pretty (DeclBracket d) =- myFsep $ text "[d|" : map pretty d ++ [text "|]"]--ppBracket o x = myFsep [text o, pretty x, text "|]"]--instance Pretty Splice where- pretty (IdSplice s) = char '$' <> text s- pretty (ParenSplice e) =- myFsep [text "$(", pretty e, char ')']--------------------------- Patterns -------------------------------instance Pretty Pat where- prettyPrec _ (PVar name) = pretty name- prettyPrec _ (PLit lit) = pretty lit- prettyPrec p (PNeg pat) = parensIf (p > 0) $ myFsep [char '-', pretty pat]- prettyPrec p (PInfixApp a op b) = parensIf (p > 0) $- myFsep [prettyPrec 1 a, pretty (QConOp op), prettyPrec 1 b]- prettyPrec p (PApp n ps) = parensIf (p > 1 && not (null ps)) $- myFsep (pretty n : map (prettyPrec 2) ps)- prettyPrec _ (PTuple bxd ps) =- let ds = map pretty ps- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- prettyPrec _ (PList ps) =- bracketList . punctuate comma . map pretty $ ps- prettyPrec _ (PParen pat) = parens . pretty $ pat- prettyPrec _ (PRec c fields) =- pretty c <> (braceList . map pretty $ fields)- -- special case that would otherwise be buggy- prettyPrec _ (PAsPat name (PIrrPat pat)) =- myFsep [pretty name <> char '@', char '~' <> prettyPrec 2 pat]- prettyPrec _ (PAsPat name pat) =- hcat [pretty name, char '@', prettyPrec 2 pat]- prettyPrec _ PWildCard = char '_'- prettyPrec _ (PIrrPat pat) = char '~' <> prettyPrec 2 pat- prettyPrec p (PatTypeSig _pos pat ty) = parensIf (p > 0) $- myFsep [pretty pat, text "::", pretty ty]- prettyPrec p (PViewPat e pat) = parensIf (p > 0) $- myFsep [pretty e, text "->", pretty pat]- prettyPrec p (PNPlusK n k) = parensIf (p > 0) $- myFsep [pretty n, text "+", text $ show k]- -- HaRP- prettyPrec _ (PRPat rs) =- bracketList . punctuate comma . map pretty $ rs- -- Hsx- prettyPrec _ (PXTag _ n attrs mattr cp) =- let ap = maybe [] (return . pretty) mattr- in hcat $ -- TODO: should not introduce blanks- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [char '>']):- map pretty cp ++ [myFsep $ [text "</" <> pretty n, char '>']]- prettyPrec _ (PXETag _ n attrs mattr) =- let ap = maybe [] (return . pretty) mattr- in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [text "/>"]- prettyPrec _ (PXPcdata s) = text s- prettyPrec _ (PXPatTag p) =- myFsep $ [text "<%", pretty p, text "%>"]- prettyPrec _ (PXRPats ps) =- myFsep $ text "<[" : map pretty ps ++ [text "%>"]- -- BangPatterns- prettyPrec _ (PBangPat pat) = text "!" <> prettyPrec 2 pat- prettyPrec _ (PQuasiQuote n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")--instance Pretty PXAttr where- pretty (PXAttr n p) =- myFsep [pretty n, char '=', pretty p]--instance Pretty PatField where- pretty (PFieldPat name pat) =- myFsep [pretty name, equals, pretty pat]- pretty (PFieldPun name) = pretty name- pretty (PFieldWildcard) = text ".."----------------------- Regular Patterns ---------------------------instance Pretty RPat where- pretty (RPOp r op) = pretty r <> pretty op- pretty (RPEither r1 r2) = parens . myFsep $- [pretty r1, char '|', pretty r2]- pretty (RPSeq rs) =- myFsep $ text "(/" : map pretty rs ++ [text "/)"]- pretty (RPGuard r gs) =- myFsep $ text "(|" : pretty r : char '|' : map pretty gs ++ [text "|)"]- -- special case that would otherwise be buggy- pretty (RPCAs n (RPPat (PIrrPat p))) =- myFsep [pretty n <> text "@:", char '~' <> pretty p]- pretty (RPCAs n r) = hcat [pretty n, text "@:", pretty r]- -- special case that would otherwise be buggy- pretty (RPAs n (RPPat (PIrrPat p))) =- myFsep [pretty n <> text "@:", char '~' <> pretty p]- pretty (RPAs n r) = hcat [pretty n, char '@', pretty r]- pretty (RPPat p) = pretty p- pretty (RPParen rp) = parens . pretty $ rp--instance Pretty RPatOp where- pretty RPStar = char '*'- pretty RPStarG = text "*!"- pretty RPPlus = char '+'- pretty RPPlusG = text "+!"- pretty RPOpt = char '?'- pretty RPOptG = text "?!"--------------------------- Case bodies --------------------------instance Pretty Alt where- pretty (Alt _pos e gAlts binds) =- pretty e <+> pretty gAlts $$$ ppWhere binds--instance Pretty GuardedAlts where- pretty (UnGuardedAlt e) = text "->" <+> pretty e- pretty (GuardedAlts altList) = myVcat . map pretty $ altList--instance Pretty GuardedAlt where- pretty (GuardedAlt _pos guards body) =- myFsep $ char '|': (punctuate comma . map pretty $ guards) ++ [text "->", pretty body]--instance Pretty IfAlt where- pretty (IfAlt e1 e2) =- myFsep $ char '|' : [pretty e1, text "->", pretty e2]--------------------------- Statements in monads, guards & list comprehensions ------instance Pretty Stmt where- pretty (Generator _loc e from) =- pretty e <+> text "<-" <+> pretty from- pretty (Qualifier e) = pretty e- -- two cases for lets- pretty (LetStmt (BDecls declList)) =- ppLetStmt declList- pretty (LetStmt (IPBinds bindList)) =- ppLetStmt bindList- pretty (RecStmt stmtList) =- text "rec" $$$ ppBody letIndent (map pretty stmtList)--ppLetStmt l = text "let" $$$ ppBody letIndent (map pretty l)--instance Pretty QualStmt where- pretty (QualStmt s) = pretty s- pretty (ThenTrans f) = myFsep $ [text "then", pretty f]- pretty (ThenBy f e) = myFsep $ [text "then", pretty f, text "by", pretty e]- pretty (GroupBy e) = myFsep $ [text "then", text "group", text "by", pretty e]- pretty (GroupUsing f) = myFsep $ [text "then", text "group", text "using", pretty f]- pretty (GroupByUsing e f) = myFsep $ [text "then", text "group", text "by",- pretty e, text "using", pretty f]----------------------------- Record updates-instance Pretty FieldUpdate where- pretty (FieldUpdate name e) =- myFsep [pretty name, equals, pretty e]- pretty (FieldPun name) = pretty name- pretty (FieldWildcard) = text ".."--------------------------- Names --------------------------instance Pretty QOp where- pretty (QVarOp n) = ppQNameInfix n- pretty (QConOp n) = ppQNameInfix n--ppQNameInfix :: QName -> Doc-ppQNameInfix name- | isSymbolName (getName name) = ppQName name- | otherwise = char '`' <> ppQName name <> char '`'--instance Pretty QName where- pretty name = case name of- UnQual (Symbol ('#':_)) -> char '(' <+> ppQName name <+> char ')'- _ -> parensIf (isSymbolName (getName name)) (ppQName name)--ppQName :: QName -> Doc-ppQName (UnQual name) = ppName name-ppQName (Qual m name) = pretty m <> char '.' <> ppName name-ppQName (Special sym) = text (specialName sym)--instance Pretty Op where- pretty (VarOp n) = ppNameInfix n- pretty (ConOp n) = ppNameInfix n--ppNameInfix :: Name -> Doc-ppNameInfix name- | isSymbolName name = ppName name- | otherwise = char '`' <> ppName name <> char '`'--instance Pretty Name where- pretty name = case name of- Symbol ('#':_) -> char '(' <+> ppName name <+> char ')'- _ -> parensIf (isSymbolName name) (ppName name)--ppName :: Name -> Doc-ppName (Ident s) = text s-ppName (Symbol s) = text s--instance Pretty IPName where- pretty (IPDup s) = char '?' <> text s- pretty (IPLin s) = char '%' <> text s--instance Pretty IPBind where- pretty (IPBind _loc ipname exp) =- myFsep [pretty ipname, equals, pretty exp]--instance Pretty CName where- pretty (VarName n) = pretty n- pretty (ConName n) = pretty n--instance Pretty SpecialCon where- pretty sc = text $ specialName sc--isSymbolName :: Name -> Bool-isSymbolName (Symbol _) = True-isSymbolName _ = False--getName :: QName -> Name-getName (UnQual s) = s-getName (Qual _ s) = s-getName (Special Cons) = Symbol ":"-getName (Special FunCon) = Symbol "->"-getName (Special s) = Ident (specialName s)--specialName :: SpecialCon -> String-specialName UnitCon = "()"-specialName ListCon = "[]"-specialName FunCon = "->"-specialName (TupleCon b n) = "(" ++ hash ++ replicate (n-1) ',' ++ hash ++ ")"- where hash = if b == Unboxed then "#" else ""-specialName Cons = ":"-specialName UnboxedSingleCon = "(# #)"--ppContext :: Context -> Doc-ppContext [] = empty-ppContext context = mySep [parenList (map pretty context), text "=>"]---- hacked for multi-parameter type classes-instance Pretty Asst where- pretty (ClassA a ts) = myFsep $ ppQName a : map ppAType ts- pretty (InfixA a op b) = myFsep $ [pretty a, ppQNameInfix op, pretty b]- pretty (IParam i t) = myFsep $ [pretty i, text "::", pretty t]- pretty (EqualP t1 t2) = myFsep $ [pretty t1, text "~", pretty t2]---- Pretty print a source location, useful for printing out error messages-instance Pretty SrcLoc where- pretty srcLoc =- return $ P.hsep [ colonFollow (P.text $ srcFilename srcLoc)- , colonFollow (P.int $ srcLine srcLoc)- , P.int $ srcColumn srcLoc- ]--colonFollow p = P.hcat [ p, P.colon ]---instance Pretty SrcSpan where- pretty srcSpan =- return $ P.hsep [ colonFollow (P.text $ srcSpanFilename srcSpan)- , P.hcat [ P.text "("- , P.int $ srcSpanStartLine srcSpan- , P.colon- , P.int $ srcSpanStartColumn srcSpan- , P.text ")"- ]- , P.text "-"- , P.hcat [ P.text "("- , P.int $ srcSpanEndLine srcSpan- , P.colon- , P.int $ srcSpanEndColumn srcSpan- , P.text ")"- ]- ]-------------------------------------------------------------------------- Annotated version--------------------------- Pretty-Print a Module ---------------------instance SrcInfo pos => Pretty (A.Module pos) where- pretty (A.Module pos mbHead os imp decls) =- markLine pos $- myVcat $ map pretty os ++- (case mbHead of- Nothing -> id- Just h -> \x -> [topLevel (pretty h) x])- (map pretty imp ++ map pretty decls)- pretty (A.XmlPage pos _mn os n attrs mattr cs) =- markLine pos $- myVcat $ map pretty os ++- [let ax = maybe [] (return . pretty) mattr- in hcat $- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):- map pretty cs ++ [myFsep $ [text "</" <> pretty n, char '>']]]- pretty (A.XmlHybrid pos mbHead os imp decls n attrs mattr cs) =- markLine pos $- myVcat $ map pretty os ++ [text "<%"] ++- (case mbHead of- Nothing -> id- Just h -> \x -> [topLevel (pretty h) x])- (map pretty imp ++ map pretty decls ++- [let ax = maybe [] (return . pretty) mattr- in hcat $- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):- map pretty cs ++ [myFsep $ [text "</" <> pretty n, char '>']]])------------------------------ Module Header -------------------------------instance Pretty (A.ModuleHead l) where- pretty (A.ModuleHead _ m mbWarn mbExportList) = mySep [- text "module",- pretty m,- maybePP pretty mbWarn,- maybePP pretty mbExportList,- text "where"]--instance Pretty (A.WarningText l) where- pretty = ppWarnTxt. sWarningText--instance Pretty (A.ModuleName l) where- pretty = pretty . sModuleName--instance Pretty (A.ExportSpecList l) where- pretty (A.ExportSpecList _ especs) = parenList $ map pretty especs--instance Pretty (A.ExportSpec l) where- pretty = pretty . sExportSpec--instance SrcInfo pos => Pretty (A.ImportDecl pos) where- pretty = pretty . sImportDecl--instance Pretty (A.ImportSpecList l) where- pretty (A.ImportSpecList _ b ispecs) =- (if b then text "hiding" else empty)- <+> parenList (map pretty ispecs)--instance Pretty (A.ImportSpec l) where- pretty = pretty . sImportSpec--------------------------- Declarations -------------------------------instance SrcInfo pos => Pretty (A.Decl pos) where- pretty = pretty . sDecl--instance Pretty (A.DeclHead l) where- pretty (A.DHead l n tvs) = mySep (pretty n : map pretty tvs)- pretty (A.DHInfix l tva n tvb) = mySep [pretty tva, pretty n, pretty tvb]- pretty (A.DHParen l dh) = parens (pretty dh)--instance Pretty (A.InstHead l) where- pretty (A.IHead l qn ts) = mySep (pretty qn : map pretty ts)- pretty (A.IHInfix l ta qn tb) = mySep [pretty ta, pretty qn, pretty tb]- pretty (A.IHParen l ih) = parens (pretty ih)--instance Pretty (A.DataOrNew l) where- pretty = pretty . sDataOrNew--instance Pretty (A.Assoc l) where- pretty = pretty . sAssoc--instance SrcInfo pos => Pretty (A.Match pos) where- pretty = pretty . sMatch--instance SrcInfo loc => Pretty (A.ClassDecl loc) where- pretty = pretty . sClassDecl--instance SrcInfo loc => Pretty (A.InstDecl loc) where- pretty = pretty . sInstDecl--------------------------- FFI stuff --------------------------------------instance Pretty (A.Safety l) where- pretty = pretty . sSafety--instance Pretty (A.CallConv l) where- pretty = pretty . sCallConv--------------------------- Pragmas ----------------------------------------instance SrcInfo loc => Pretty (A.Rule loc) where- pretty = pretty . sRule--instance Pretty (A.Activation l) where- pretty = pretty . sActivation--instance Pretty (A.RuleVar l) where- pretty = pretty . sRuleVar--instance SrcInfo loc => Pretty (A.ModulePragma loc) where- pretty (A.LanguagePragma _ ns) =- myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]- pretty (A.OptionsPragma _ (Just tool) s) =- myFsep $ [text "{-# OPTIONS_" <> pretty tool, text s, text "#-}"]- pretty (A.OptionsPragma _ _ s) =- myFsep $ [text "{-# OPTIONS", text s, text "#-}"]- pretty (A.AnnModulePragma _ ann) =- myFsep $ [text "{-# ANN", pretty ann, text "#-}"]--instance SrcInfo loc => Pretty (A.Annotation loc) where- pretty = pretty . sAnnotation--------------------------- Data & Newtype Bodies --------------------------instance Pretty (A.QualConDecl l) where- pretty (A.QualConDecl _pos mtvs ctxt con) =- myFsep [ppForall (fmap (map sTyVarBind) mtvs), ppContext $ maybe [] sContext ctxt, pretty con]--instance Pretty (A.GadtDecl l) where- pretty (A.GadtDecl _pos name ty) =- myFsep [pretty name, text "::", pretty ty]--instance Pretty (A.ConDecl l) where- pretty = pretty . sConDecl--instance Pretty (A.FieldDecl l) where- pretty (A.FieldDecl _ names ty) =- myFsepSimple $ (punctuate comma . map pretty $ names) ++- [text "::", pretty ty]---instance Pretty (A.BangType l) where- pretty = pretty . sBangType--instance Pretty (A.Deriving l) where- pretty (A.Deriving _ []) = text "deriving" <+> parenList []- pretty (A.Deriving _ [A.IHead _ d []]) = text "deriving" <+> pretty d- pretty (A.Deriving _ ihs) = text "deriving" <+> parenList (map pretty ihs)--------------------------- Types --------------------------instance Pretty (A.Type l) where- pretty = pretty . sType--instance Pretty (A.TyVarBind l) where- pretty = pretty . sTyVarBind------------------------------ Kinds ------------------------------instance Pretty (A.Kind l) where- pretty = pretty . sKind--------------------- Functional Dependencies --------------------instance Pretty (A.FunDep l) where- pretty = pretty . sFunDep--------------------------- Expressions --------------------------instance SrcInfo loc => Pretty (A.Rhs loc) where- pretty = pretty . sRhs--instance SrcInfo loc => Pretty (A.GuardedRhs loc) where- pretty = pretty . sGuardedRhs--instance Pretty (A.Literal l) where- pretty = pretty . sLiteral--instance SrcInfo loc => Pretty (A.Exp loc) where- pretty = pretty . sExp--instance SrcInfo loc => Pretty (A.XAttr loc) where- pretty = pretty . sXAttr--instance Pretty (A.XName l) where- pretty = pretty . sXName----------------------- Template Haskell ---------------------------instance SrcInfo loc => Pretty (A.Bracket loc) where- pretty = pretty . sBracket--instance SrcInfo loc => Pretty (A.Splice loc) where- pretty = pretty . sSplice--------------------------- Patterns -------------------------------instance SrcInfo loc => Pretty (A.Pat loc) where- pretty = pretty . sPat--instance SrcInfo loc => Pretty (A.PXAttr loc) where- pretty = pretty . sPXAttr--instance SrcInfo loc => Pretty (A.PatField loc) where- pretty = pretty . sPatField----------------------- Regular Patterns ---------------------------instance SrcInfo loc => Pretty (A.RPat loc) where- pretty = pretty . sRPat--instance Pretty (A.RPatOp l) where- pretty = pretty . sRPatOp--------------------------- Case bodies --------------------------instance SrcInfo loc => Pretty (A.Alt loc) where- pretty = pretty . sAlt--instance SrcInfo loc => Pretty (A.GuardedAlts loc) where- pretty = pretty . sGuardedAlts--instance SrcInfo loc => Pretty (A.GuardedAlt loc) where- pretty = pretty . sGuardedAlt--instance SrcInfo loc => Pretty (A.IfAlt loc) where- pretty = pretty . sIfAlt--------------------------- Statements in monads, guards & list comprehensions ------instance SrcInfo loc => Pretty (A.Stmt loc) where- pretty = pretty . sStmt--instance SrcInfo loc => Pretty (A.QualStmt loc) where- pretty = pretty . sQualStmt--------------------------- Record updates-instance SrcInfo loc => Pretty (A.FieldUpdate loc) where- pretty = pretty . sFieldUpdate--------------------------- Names --------------------------instance Pretty (A.QOp l) where- pretty = pretty . sQOp--instance Pretty (A.QName l) where- pretty = pretty . sQName--instance Pretty (A.Op l) where- pretty = pretty . sOp--instance Pretty (A.Name l) where- pretty = pretty . sName--instance Pretty (A.IPName l) where- pretty = pretty . sIPName--instance SrcInfo loc => Pretty (A.IPBind loc) where- pretty = pretty . sIPBind--instance Pretty (A.CName l) where- pretty = pretty . sCName--instance Pretty (A.Context l) where- pretty (A.CxEmpty _) = mySep [text "()", text "=>"]- pretty (A.CxSingle _ asst) = mySep [pretty asst, text "=>"]- pretty (A.CxTuple _ assts) = myFsep $ [parenList (map pretty assts), text "=>"]- pretty (A.CxParen _ asst) = parens (pretty asst)---- hacked for multi-parameter type classes-instance Pretty (A.Asst l) where- pretty = pretty . sAsst--------------------------- pp utils --------------------------maybePP :: (a -> Doc) -> Maybe a -> Doc-maybePP pp Nothing = empty-maybePP pp (Just a) = pp a--parenList :: [Doc] -> Doc-parenList = parens . myFsepSimple . punctuate comma--hashParenList :: [Doc] -> Doc-hashParenList = hashParens . myFsepSimple . punctuate comma- where hashParens = parens . hashes- hashes = \doc -> char '#' <> doc <> char '#'--braceList :: [Doc] -> Doc-braceList = braces . myFsepSimple . punctuate comma--bracketList :: [Doc] -> Doc-bracketList = brackets . myFsepSimple---- Wrap in braces and semicolons, with an extra space at the start in--- case the first doc begins with "-", which would be scanned as {--flatBlock :: [Doc] -> Doc-flatBlock = braces . (space <>) . hsep . punctuate semi---- Same, but put each thing on a separate line-prettyBlock :: [Doc] -> Doc-prettyBlock = braces . (space <>) . vcat . punctuate semi---- Monadic PP Combinators -- these examine the env--blankline :: Doc -> Doc-blankline dl = do{e<-getPPEnv;if spacing e && layout e /= PPNoLayout- then space $$ dl else dl}-topLevel :: Doc -> [Doc] -> Doc-topLevel header dl = do- e <- fmap layout getPPEnv- case e of- PPOffsideRule -> header $$ vcat dl- PPSemiColon -> header $$ prettyBlock dl- PPInLine -> header $$ prettyBlock dl- PPNoLayout -> header <+> flatBlock dl--ppBody :: (PPHsMode -> Int) -> [Doc] -> Doc-ppBody f dl = do- e <- fmap layout getPPEnv- case e of PPOffsideRule -> indent- PPSemiColon -> indentExplicit- _ -> flatBlock dl- where- indent = do{i <-fmap f getPPEnv;nest i . vcat $ dl}- indentExplicit = do {i <- fmap f getPPEnv;- nest i . prettyBlock $ dl}--($$$) :: Doc -> Doc -> Doc-a $$$ b = layoutChoice (a $$) (a <+>) b--mySep :: [Doc] -> Doc-mySep = layoutChoice mySep' hsep- where- -- ensure paragraph fills with indentation.- mySep' [x] = x- mySep' (x:xs) = x <+> fsep xs- mySep' [] = error "Internal error: mySep"--myVcat :: [Doc] -> Doc-myVcat = layoutChoice vcat hsep--myFsepSimple :: [Doc] -> Doc-myFsepSimple = layoutChoice fsep hsep---- same, except that continuation lines are indented,--- which is necessary to avoid triggering the offside rule.-myFsep :: [Doc] -> Doc-myFsep = layoutChoice fsep' hsep- where fsep' [] = empty- fsep' (d:ds) = do- e <- getPPEnv- let n = onsideIndent e- nest n (fsep (nest (-n) d:ds))--layoutChoice :: (a -> Doc) -> (a -> Doc) -> a -> Doc-layoutChoice a b dl = do e <- getPPEnv- if layout e == PPOffsideRule ||- layout e == PPSemiColon- then a dl else b dl---- Prefix something with a LINE pragma, if requested.--- GHC's LINE pragma actually sets the current line number to n-1, so--- that the following line is line n. But if there's no newline before--- the line we're talking about, we need to compensate by adding 1.--markLine :: SrcInfo s => s -> Doc -> Doc-markLine loc doc = do- e <- getPPEnv- let y = startLine loc- let line l =- text ("{-# LINE " ++ show l ++ " \"" ++ fileName loc ++ "\" #-}")- if linePragmas e then layoutChoice (line y $$) (line (y+1) <+>) doc- else doc------------------------------------------------------------------------------------- Pretty-printing of internal constructs, for error messages while parsing--instance SrcInfo loc => Pretty (P.PExp loc) where- pretty (P.Lit _ l) = pretty l- pretty (P.InfixApp _ a op b) = myFsep [pretty a, pretty op, pretty b]- pretty (P.NegApp _ e) = myFsep [char '-', pretty e]- pretty (P.App _ a b) = myFsep [pretty a, pretty b]- pretty (P.Lambda _loc expList ppBody) = myFsep $- char '\\' : map pretty expList ++ [text "->", pretty ppBody]- pretty (P.Let _ (A.BDecls _ declList) letBody) =- ppLetExp declList letBody- pretty (P.Let _ (A.IPBinds _ bindList) letBody) =- ppLetExp bindList letBody- pretty (P.If _ cond thenexp elsexp) =- myFsep [text "if", pretty cond,- text "then", pretty thenexp,- text "else", pretty elsexp]- pretty (P.MultiIf _ alts) =- text "if"- $$$ ppBody caseIndent (map pretty alts)- pretty (P.Case _ cond altList) =- myFsep [text "case", pretty cond, text "of"]- $$$ ppBody caseIndent (map pretty altList)- pretty (P.Do _ stmtList) =- text "do" $$$ ppBody doIndent (map pretty stmtList)- pretty (P.MDo _ stmtList) =- text "mdo" $$$ ppBody doIndent (map pretty stmtList)- pretty (P.Var _ name) = pretty name- pretty (P.IPVar _ ipname) = pretty ipname- pretty (P.Con _ name) = pretty name- pretty (P.TupleSection _ bxd mExpList) =- let ds = map (maybePP pretty) mExpList- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- pretty (P.Paren _ e) = parens . pretty $ e- pretty (P.RecConstr _ c fieldList) =- pretty c <> (braceList . map pretty $ fieldList)- pretty (P.RecUpdate _ e fieldList) =- pretty e <> (braceList . map pretty $ fieldList)- pretty (P.List _ list) =- bracketList . punctuate comma . map pretty $ list- pretty (P.EnumFrom _ e) =- bracketList [pretty e, text ".."]- pretty (P.EnumFromTo _ from to) =- bracketList [pretty from, text "..", pretty to]- pretty (P.EnumFromThen _ from thenE) =- bracketList [pretty from <> comma, pretty thenE, text ".."]- pretty (P.EnumFromThenTo _ from thenE to) =- bracketList [pretty from <> comma, pretty thenE,- text "..", pretty to]- pretty (P.ParComp _ e qualLists) =- bracketList (intersperse (char '|') $- pretty e : (punctuate comma . concatMap (map pretty) $ qualLists))- pretty (P.ExpTypeSig _pos e ty) =- myFsep [pretty e, text "::", pretty ty]- pretty (P.BracketExp _ b) = pretty b- pretty (P.SpliceExp _ s) = pretty s- pretty (P.TypQuote _ t) = text "\'\'" <> pretty t- pretty (P.VarQuote _ x) = text "\'" <> pretty x- pretty (P.QuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")- pretty (P.XTag _ n attrs mattr cs) =- let ax = maybe [] (return . pretty) mattr- in hcat $- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):- map pretty cs ++ [myFsep $ [text "</" <> pretty n, char '>']]- pretty (P.XETag _ n attrs mattr) =- let ax = maybe [] (return . pretty) mattr- in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]- pretty (P.XPcdata _ s) = text s- pretty (P.XExpTag _ e) =- myFsep $ [text "<%", pretty e, text "%>"]- pretty (P.XChildTag _ es) =- myFsep $ text "<%>" : map pretty es ++ [text "</%>"]- pretty (P.CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]- pretty (P.SCCPragma _ s e) = myFsep $ map text ["{-# SCC", show s, "#-}"] ++ [pretty e]- pretty (P.GenPragma _ s (a,b) (c,d) e) =- myFsep $ [text "{-# GENERATED", text $ show s,- int a, char ':', int b, char '-',- int c, char ':', int d, text "#-}", pretty e]- pretty (P.Proc _ p e) = myFsep $ [text "proc", pretty p, text "->", pretty e]- pretty (P.LeftArrApp _ l r) = myFsep $ [pretty l, text "-<", pretty r]- pretty (P.RightArrApp _ l r) = myFsep $ [pretty l, text ">-", pretty r]- pretty (P.LeftArrHighApp _ l r) = myFsep $ [pretty l, text "-<<", pretty r]- pretty (P.RightArrHighApp _ l r) = myFsep $ [pretty l, text ">>-", pretty r]- pretty (P.AsPat _ name (P.IrrPat _ pat)) =- myFsep [pretty name <> char '@', char '~' <> pretty pat]- pretty (P.AsPat _ name pat) =- hcat [pretty name, char '@', pretty pat]- pretty (P.WildCard _) = char '_'- pretty (P.IrrPat _ pat) = char '~' <> pretty pat- pretty (P.PostOp _ e op) = pretty e <+> pretty op- pretty (P.PreOp _ op e) = pretty op <+> pretty e- pretty (P.ViewPat _ e p) =- myFsep [pretty e, text "->", pretty p]- pretty (P.SeqRP _ rs) = myFsep $ text "(/" : map pretty rs ++ [text "/)"]- pretty (P.GuardRP _ r gs) =- myFsep $ text "(|" : pretty r : char '|' : map pretty gs ++ [text "|)"]- pretty (P.EitherRP _ r1 r2) = parens . myFsep $ [pretty r1, char '|', pretty r2]- pretty (P.CAsRP _ n (P.IrrPat _ e)) =- myFsep [pretty n <> text "@:", char '~' <> pretty e]- pretty (P.CAsRP _ n r) = hcat [pretty n, text "@:", pretty r]- pretty (P.XRPats _ ps) =- myFsep $ text "<[" : map pretty ps ++ [text "%>"]- pretty (P.BangPat _ e) = text "!" <> pretty e- pretty (P.LCase _ altList) = text "\\case" $$$ ppBody caseIndent (map pretty altList)--instance SrcInfo loc => Pretty (P.PFieldUpdate loc) where- pretty (P.FieldUpdate _ name e) =- myFsep [pretty name, equals, pretty e]- pretty (P.FieldPun _ name) = pretty name- pretty (P.FieldWildcard _) = text ".."--instance SrcInfo loc => Pretty (P.ParseXAttr loc) where- pretty (P.XAttr _ n v) =- myFsep [pretty n, char '=', pretty v]--instance SrcInfo loc => Pretty (P.PContext loc) where- pretty (P.CxEmpty _) = mySep [text "()", text "=>"]- pretty (P.CxSingle _ asst) = mySep [pretty asst, text "=>"]- pretty (P.CxTuple _ assts) = myFsep $ [parenList (map pretty assts), text "=>"]- pretty (P.CxParen _ asst) = parens (pretty asst)--instance SrcInfo loc => Pretty (P.PAsst loc) where- pretty (P.ClassA _ a ts) = myFsep $ ppQName (sQName a) : map (prettyPrec prec_atype) ts- pretty (P.InfixA _ a op b) = myFsep $ [pretty a, ppQNameInfix (sQName op), pretty b]- pretty (P.IParam _ i t) = myFsep $ [pretty i, text "::", pretty t]- pretty (P.EqualP _ t1 t2) = myFsep $ [pretty t1, text "~", pretty t2]--instance SrcInfo loc => Pretty (P.PType loc) where- prettyPrec p (P.TyForall _ mtvs ctxt htype) = parensIf (p > 0) $- myFsep [ppForall (fmap (map sTyVarBind) mtvs), maybePP pretty ctxt, pretty htype]- prettyPrec p (P.TyFun _ a b) = parensIf (p > 0) $- myFsep [prettyPrec prec_btype a, text "->", pretty b]- prettyPrec _ (P.TyTuple _ bxd l) =- let ds = map pretty l- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- prettyPrec _ (P.TyList _ t) = brackets $ pretty t- prettyPrec p (P.TyApp _ a b) =- {-- | a == list_tycon = brackets $ pretty b -- special case- | otherwise = -} parensIf (p > prec_btype) $- myFsep [pretty a, prettyPrec prec_atype b]- prettyPrec _ (P.TyVar _ name) = pretty name- prettyPrec _ (P.TyCon _ name) = pretty name- prettyPrec _ (P.TyParen _ t) = parens (pretty t)- prettyPrec _ (P.TyPred _ asst) = pretty asst- prettyPrec _ (P.TyInfix _ a op b) = myFsep [pretty a, ppQNameInfix (sQName op), pretty b]- prettyPrec _ (P.TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])- prettyPrec _ (P.TyPromoted _ p) = pretty $ sPromoted p+{-# LANGUAGE CPP #-}+-----------------------------------------------------------------------------+-- |+-- Module : Language.Haskell.Exts.Pretty+-- Copyright : (c) Niklas Broberg 2004-2009,+-- (c) The GHC Team, Noel Winstanley 1997-2000+-- License : BSD-style (see the file LICENSE.txt)+--+-- Maintainer : Niklas Broberg, d00nibro@chalmers.se+-- Stability : stable+-- Portability : portable+--+-- Pretty printer for Haskell with extensions.+--+-----------------------------------------------------------------------------++module Language.Haskell.Exts.Pretty (+ -- * Pretty printing+ Pretty,+ prettyPrintStyleMode, prettyPrintWithMode, prettyPrint,+ -- * Pretty-printing styles (from "Text.PrettyPrint.HughesPJ")+ P.Style(..), P.style, P.Mode(..),+ -- * Haskell formatting modes+ PPHsMode(..), Indent, PPLayout(..), defaultMode+ -- * Primitive Printers+ , prettyPrim, prettyPrimWithMode+ ) where++import Language.Haskell.Exts.Syntax+import qualified Language.Haskell.Exts.ParseSyntax as P++import Language.Haskell.Exts.SrcLoc hiding (loc)++import Prelude hiding ( exp+#if MIN_VERSION_base(4,11,0)+ , (<>)+#endif+ )+import qualified Text.PrettyPrint as P+import Data.List (intersperse)+import Data.Maybe (isJust , fromMaybe)+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative (Applicative(..), (<$>))+#endif+import qualified Control.Monad as M (ap)++infixl 5 $$$++-----------------------------------------------------------------------------++-- | Varieties of layout we can use.+data PPLayout = PPOffsideRule -- ^ classical layout+ | PPSemiColon -- ^ classical layout made explicit+ | PPInLine -- ^ inline decls, with newlines between them+ | PPNoLayout -- ^ everything on a single line+ deriving Eq++type Indent = Int++-- | Pretty-printing parameters.+--+-- /Note:/ the 'onsideIndent' must be positive and less than all other indents.+data PPHsMode = PPHsMode {+ -- | indentation of a class or instance+ classIndent :: Indent,+ -- | indentation of a @do@-expression+ doIndent :: Indent,+ -- | indentation of the body of a+ -- @case@ expression+ multiIfIndent :: Indent,+ -- | indentation of the body of a+ -- multi-@if@ expression+ caseIndent :: Indent,+ -- | indentation of the declarations in a+ -- @let@ expression+ letIndent :: Indent,+ -- | indentation of the declarations in a+ -- @where@ clause+ whereIndent :: Indent,+ -- | indentation added for continuation+ -- lines that would otherwise be offside+ onsideIndent :: Indent,+ -- | blank lines between statements?+ spacing :: Bool,+ -- | Pretty-printing style to use+ layout :: PPLayout,+ -- | add GHC-style @LINE@ pragmas to output?+ linePragmas :: Bool+ }++-- | The default mode: pretty-print using the offside rule and sensible+-- defaults.+defaultMode :: PPHsMode+defaultMode = PPHsMode{+ classIndent = 8,+ doIndent = 3,+ multiIfIndent = 3,+ caseIndent = 4,+ letIndent = 4,+ whereIndent = 6,+ onsideIndent = 2,+ spacing = True,+ layout = PPOffsideRule,+ linePragmas = False+ }++-- | Pretty printing monad+newtype DocM s a = DocM (s -> a)++instance Functor (DocM s) where+ fmap f xs = do x <- xs; return (f x)++instance Applicative (DocM s) where+ pure = retDocM+ (<*>) = M.ap++instance Monad (DocM s) where+ (>>=) = thenDocM+ (>>) = then_DocM++{-# INLINE thenDocM #-}+{-# INLINE then_DocM #-}+{-# INLINE retDocM #-}+{-# INLINE unDocM #-}+{-# INLINE getPPEnv #-}++thenDocM :: DocM s a -> (a -> DocM s b) -> DocM s b+thenDocM m k = DocM $ \s -> case unDocM m s of a -> unDocM (k a) s++then_DocM :: DocM s a -> DocM s b -> DocM s b+then_DocM m k = DocM $ \s -> case unDocM m s of _ -> unDocM k s++retDocM :: a -> DocM s a+retDocM a = DocM $ const a++unDocM :: DocM s a -> s -> a+unDocM (DocM f) = f++-- all this extra stuff, just for this one function.+getPPEnv :: DocM s s+getPPEnv = DocM id++-- So that pp code still looks the same+-- this means we lose some generality though++-- | The document type produced by these pretty printers uses a 'PPHsMode'+-- environment.+type Doc = DocM PPHsMode P.Doc++-- | Things that can be pretty-printed, including all the syntactic objects+-- in "Language.Haskell.Exts.Syntax".+class Pretty a where+ -- | Pretty-print something in isolation.+ pretty :: a -> Doc+ -- | Pretty-print something in a precedence context.+ prettyPrec :: Int -> a -> Doc+ pretty = prettyPrec 0+ prettyPrec _ = pretty++-- The pretty printing combinators++empty :: Doc+empty = return P.empty++nest :: Int -> Doc -> Doc+nest i m = m >>= return . P.nest i+++-- Literals++text :: String -> Doc+text = return . P.text++char :: Char -> Doc+char = return . P.char++int :: Int -> Doc+int = return . P.int++integer :: Integer -> Doc+integer = return . P.integer++float :: Float -> Doc+float = return . P.float++double :: Double -> Doc+double = return . P.double++-- rational :: Rational -> Doc+-- rational = return . P.rational++-- Simple Combining Forms++parens, brackets, braces, doubleQuotes :: Doc -> Doc+parens d = d >>= return . P.parens+brackets d = d >>= return . P.brackets+braces d = d >>= return . P.braces+-- quotes :: Doc -> Doc+-- quotes d = d >>= return . P.quotes+doubleQuotes d = d >>= return . P.doubleQuotes++parensIf :: Bool -> Doc -> Doc+parensIf True = parens+parensIf False = id++-- Constants++semi,comma,space,equals :: Doc+semi = return P.semi+comma = return P.comma+-- colon :: Doc+-- colon = return P.colon+space = return P.space+equals = return P.equals++{-+lparen,rparen,lbrack,rbrack,lbrace,rbrace :: Doc+lparen = return P.lparen+rparen = return P.rparen+lbrack = return P.lbrack+rbrack = return P.rbrack+lbrace = return P.lbrace+rbrace = return P.rbrace+-}++-- Combinators++(<>),(<+>),($$) :: Doc -> Doc -> Doc+aM <> bM = do{a<-aM;b<-bM;return (a P.<> b)}+aM <+> bM = do{a<-aM;b<-bM;return (a P.<+> b)}+aM $$ bM = do{a<-aM;b<-bM;return (a P.$$ b)}+($+$) :: Doc -> Doc -> Doc+aM $+$ bM = do{a<-aM;b<-bM;return (a P.$+$ b)}++hcat,hsep,vcat,fsep :: [Doc] -> Doc+hcat dl = sequence dl >>= return . P.hcat+hsep dl = sequence dl >>= return . P.hsep+vcat dl = sequence dl >>= return . P.vcat+-- sep, cat, fcat :: [Doc] -> Doc+-- sep dl = sequence dl >>= return . P.sep+-- cat dl = sequence dl >>= return . P.cat+fsep dl = sequence dl >>= return . P.fsep+-- fcat dl = sequence dl >>= return . P.fcat++-- Some More++-- hang :: Doc -> Int -> Doc -> Doc+-- hang dM i rM = do{d<-dM;r<-rM;return $ P.hang d i r}++-- Yuk, had to cut-n-paste this one from Pretty.hs+punctuate :: Doc -> [Doc] -> [Doc]+punctuate _ [] = []+punctuate p (d1:ds) = go d1 ds+ where+ go d [] = [d]+ go d (e:es) = (d <> p) : go e es++-- | render the document with a given style and mode.+renderStyleMode :: P.Style -> PPHsMode -> Doc -> String+renderStyleMode ppStyle ppMode d = P.renderStyle ppStyle . unDocM d $ ppMode++-- | render the document with a given mode.+-- renderWithMode :: PPHsMode -> Doc -> String+-- renderWithMode = renderStyleMode P.style++-- | render the document with 'defaultMode'.+-- render :: Doc -> String+-- render = renderWithMode defaultMode++-- | pretty-print with a given style and mode.+prettyPrintStyleMode :: Pretty a => P.Style -> PPHsMode -> a -> String+prettyPrintStyleMode ppStyle ppMode = renderStyleMode ppStyle ppMode . pretty++-- | pretty-print with the default style and a given mode.+prettyPrintWithMode :: Pretty a => PPHsMode -> a -> String+prettyPrintWithMode = prettyPrintStyleMode P.style++-- | pretty-print with the default style and 'defaultMode'.+prettyPrint :: Pretty a => a -> String+prettyPrint = prettyPrintWithMode defaultMode++-- fullRenderWithMode :: PPHsMode -> P.Mode -> Int -> Float ->+-- (P.TextDetails -> a -> a) -> a -> Doc -> a+-- fullRenderWithMode ppMode m i f fn e mD =+-- P.fullRender m i f fn e $ (unDocM mD) ppMode+++-- fullRender :: P.Mode -> Int -> Float -> (P.TextDetails -> a -> a)+-- -> a -> Doc -> a+-- fullRender = fullRenderWithMode defaultMode++-- | pretty-print with the default style and 'defaultMode'.+prettyPrim :: Pretty a => a -> P.Doc+prettyPrim = prettyPrimWithMode defaultMode++-- | pretty-print with the default style and a given mode.+prettyPrimWithMode :: Pretty a => PPHsMode -> a -> P.Doc+prettyPrimWithMode pphs doc = unDocM (pretty doc) pphs+++------------------------- Pretty-Print a Module --------------------+{-+instance Pretty (Module l) where+ pretty (Module pos m os mbWarn mbExports imp decls) =+ markLine pos $ (myVcat $ map pretty os) $$+ myVcat (+ (if m == ModuleName "" then id+ else \x -> [topLevel (ppModuleHeader m mbWarn mbExports) x])+ (map pretty imp +++ ppDecls (m /= ModuleName "" ||+ not (null imp) ||+ not (null os))+ decls]-}++-------------------------- Module Header ------------------------------+instance Pretty (ModuleHead l) where+ pretty (ModuleHead _ m mbWarn mbExportList) =+ mySep [+ text "module",+ pretty m,+ maybePP ppWarnTxt mbWarn,+ maybePP pretty mbExportList,+ text "where"]++instance Pretty (ExportSpecList l) where+ pretty (ExportSpecList _ especs) = parenList $ map pretty especs++ppWarnTxt :: WarningText l -> Doc+ppWarnTxt (DeprText _ s) = mySep [text "{-# DEPRECATED", text (show s), text "#-}"]+ppWarnTxt (WarnText _ s) = mySep [text "{-# WARNING", text (show s), text "#-}"]++instance Pretty (ModuleName l) where+ pretty (ModuleName _ modName) = text modName++instance Pretty (Namespace l) where+ pretty NoNamespace {} = empty+ pretty TypeNamespace {} = text "type"+ pretty PatternNamespace {} = text "pattern"++instance Pretty (ExportSpec l) where+ pretty (EVar _ name) = pretty name+ pretty (EAbs _ ns name) = pretty ns <+> pretty name+ pretty (EThingWith _ wc name nameList) =+ let prettyNames = map pretty nameList+ names = case wc of+ NoWildcard {} -> prettyNames+ EWildcard _ n ->+ let (before,after) = splitAt n prettyNames+ in before ++ [text ".."] ++ after+ in pretty name <> (parenList names)+ pretty (EModuleContents _ m) = text "module" <+> pretty m++instance Pretty (ImportDecl l) where+ pretty (ImportDecl _ m qual src safe mbPkg mbName mbSpecs) =+ mySep [text "import",+ if src then text "{-# SOURCE #-}" else empty,+ if safe then text "safe" else empty,+ if qual then text "qualified" else empty,+ maybePP (\s -> text (show s)) mbPkg,+ pretty m,+ maybePP (\m' -> text "as" <+> pretty m') mbName,+ maybePP pretty mbSpecs]++instance Pretty (ImportSpecList l) where+ pretty (ImportSpecList _ b ispecs) =+ (if b then text "hiding" else empty)+ <+> parenList (map pretty ispecs)++instance Pretty (ImportSpec l) where+ pretty (IVar _ name ) = pretty name+ pretty (IAbs _ ns name) = pretty ns <+> pretty name+ pretty (IThingAll _ name) = pretty name <> text "(..)"+ pretty (IThingWith _ name nameList) =+ pretty name <> (parenList . map pretty $ nameList)++instance Pretty (TypeEqn l) where+ pretty (TypeEqn _ pat eqn) = mySep [pretty pat, equals, pretty eqn]++------------------------- Declarations ------------------------------+class Pretty a => PrettyDeclLike a where+ wantsBlankline :: a -> Bool++instance PrettyDeclLike (Decl l) where+ wantsBlankline (FunBind {}) = False+ wantsBlankline (PatBind {}) = False+ wantsBlankline _ = True++condBlankline :: PrettyDeclLike a => a -> Doc+condBlankline d = (if wantsBlankline d then blankline else id) $ pretty d++ppDecls :: PrettyDeclLike a => Bool -> [a] -> [Doc]+ppDecls True ds = map condBlankline ds+ppDecls False (d:ds) = pretty d : map condBlankline ds+ppDecls _ _ = []+--ppDecls = map condBlankline++instance Pretty (InjectivityInfo l) where+ pretty (InjectivityInfo _ from to) =+ char '|' <+> pretty from <+> text "->" <+> hsep (map pretty to)++instance Pretty (ResultSig l) where+ pretty (KindSig _ kind) = text "::" <+> pretty kind+ pretty (TyVarSig _ tv) = char '=' <+> pretty tv++instance Pretty (Decl l) where+ pretty (TypeDecl _ dHead htype) =+ mySep ( [text "type", pretty dHead]+ ++ [equals, pretty htype])++ pretty (DataDecl _ don context dHead constrList derives) =+ mySep ( [pretty don, maybePP pretty context, pretty dHead])++ <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))+ (map pretty constrList))+ $$$ ppIndent letIndent (map pretty derives))++ pretty (GDataDecl _ don context dHead optkind gadtList derives) =+ mySep ( [pretty don, maybePP pretty context, pretty dHead]+ ++ ppOptKind optkind ++ [text "where"])+ $$$ ppBody classIndent (map pretty gadtList)+ $$$ ppIndent letIndent (map pretty derives)++ pretty (TypeFamDecl _ dHead optkind optinj) =+ mySep ([text "type", text "family", pretty dHead+ , maybePP pretty optkind, maybePP pretty optinj])++ pretty (ClosedTypeFamDecl _ dHead optkind optinj eqns) =+ mySep ([text "type", text "family", pretty dHead+ , maybePP pretty optkind ,maybePP pretty optinj+ , text "where"]) $$$ ppBody classIndent (map pretty eqns)++ pretty (DataFamDecl _ context dHead optkind) =+ mySep ( [text "data", text "family", maybePP pretty context, pretty dHead+ , maybePP pretty optkind])++ pretty (TypeInsDecl _ ntype htype) =+ mySep [text "type", text "instance", pretty ntype, equals, pretty htype]++ pretty (DataInsDecl _ don ntype constrList derives) =+ mySep [pretty don, text "instance ", pretty ntype]+ <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))+ (map pretty constrList))+ $$$ ppIndent letIndent (map pretty derives))++ pretty (GDataInsDecl _ don ntype optkind gadtList derives) =+ mySep ( [pretty don, text "instance ", pretty ntype]+ ++ ppOptKind optkind ++ [text "where"])+ $$$ ppBody classIndent (map pretty gadtList)+ $$$ ppIndent letIndent (map pretty derives)++ --m{spacing=False}+ -- special case for empty class declaration+ pretty (ClassDecl _ context dHead fundeps Nothing) =+ mySep ( [text "class", maybePP pretty context, pretty dHead+ , ppFunDeps fundeps])+ pretty (ClassDecl _ context dHead fundeps declList) =+ mySep ( [text "class", maybePP pretty context, pretty dHead+ , ppFunDeps fundeps, text "where"])+ $$$ ppBody classIndent (fromMaybe [] ((ppDecls False) <$> declList))++ -- m{spacing=False}+ -- special case for empty instance declaration+ pretty (InstDecl _ moverlap iHead Nothing) =+ mySep ( [text "instance", maybePP pretty moverlap, pretty iHead])+ pretty (InstDecl _ overlap iHead declList) =+ mySep ( [ text "instance", maybePP pretty overlap+ , pretty iHead, text "where"])+ $$$ ppBody classIndent (fromMaybe [] ((ppDecls False) <$> declList))++ pretty (DerivDecl _ mds overlap irule) =+ mySep ( [ text "deriving"+ , maybePP pretty mds+ , text "instance"+ , maybePP pretty overlap+ , pretty irule])+ pretty (DefaultDecl _ htypes) =+ text "default" <+> parenList (map pretty htypes)++ pretty (SpliceDecl _ splice) =+ pretty splice++ pretty (TSpliceDecl _ splice) =+ pretty splice++ pretty (TypeSig _ nameList qualType) =+ mySep ((punctuate comma . map pretty $ nameList)+ ++ [text "::", pretty qualType])++ -- Req can be ommitted if it is empty+ -- We must print prov if req is nonempty+ pretty (PatSynSig _ ns mtvs prov mtvs2 req t) =+ let contexts = [maybePP pretty prov, ppForall mtvs2, maybePP pretty req]+ in+ mySep ( [text "pattern" ]+ ++ punctuate comma (map pretty ns)+ ++ [ text "::", ppForall mtvs] +++ contexts ++ [pretty t] )+++ pretty (FunBind _ matches) = do+ e <- fmap layout getPPEnv+ case e of PPOffsideRule -> foldr ($$$) empty (map pretty matches)+ _ -> hsep $ punctuate semi (map pretty matches)++ pretty (PatBind _ pat rhs whereBinds) =+ myFsep [pretty pat, pretty rhs] $$$ ppWhere whereBinds++ pretty (InfixDecl _ assoc prec opList) =+ mySep ([pretty assoc, maybePP int prec]+ ++ (punctuate comma . map pretty $ opList))++ pretty (PatSyn _ pat rhs dir) =+ let sep = case dir of+ ImplicitBidirectional {} -> "="+ ExplicitBidirectional {} -> "<-"+ Unidirectional {} -> "<-"+ in+ (mySep ([text "pattern", pretty pat, text sep, pretty rhs])) $$$+ (case dir of+ ExplicitBidirectional _ ds ->+ nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False ds))+ _ -> empty)++ pretty (ForImp _ cconv saf str name typ) =+ mySep [text "foreign import", pretty cconv, maybePP pretty saf,+ maybe empty (text . show) str, pretty name, text "::", pretty typ]++ pretty (ForExp _ cconv str name typ) =+ mySep [text "foreign export", pretty cconv,+ text (show str), pretty name, text "::", pretty typ]++ pretty (RulePragmaDecl _ rules) =+ myVcat $ text "{-# RULES" : map pretty rules ++ [text " #-}"]++ pretty (DeprPragmaDecl _ deprs) =+ myVcat $ text "{-# DEPRECATED" : map ppWarnDepr deprs ++ [text " #-}"]++ pretty (WarnPragmaDecl _ deprs) =+ myVcat $ text "{-# WARNING" : map ppWarnDepr deprs ++ [text " #-}"]++ pretty (InlineSig _ inl activ name) =+ mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE")+ , maybePP pretty activ, pretty name, text "#-}"]++ pretty (InlineConlikeSig _ activ name) =+ mySep [ text "{-# INLINE CONLIKE", maybePP pretty activ+ , pretty name, text "#-}"]++ pretty (SpecSig _ activ name types) =+ mySep $ [text "{-# SPECIALISE", maybePP pretty activ+ , pretty name, text "::"]+ ++ punctuate comma (map pretty types) ++ [text "#-}"]++ pretty (SpecInlineSig _ inl activ name types) =+ mySep $ [text "{-# SPECIALISE", text (if inl then "INLINE" else "NOINLINE"),+ maybePP pretty activ, pretty name, text "::"]+ ++ (punctuate comma $ map pretty types) ++ [text "#-}"]++ pretty (InstSig _ irule) =+ mySep $ [ text "{-# SPECIALISE", text "instance", pretty irule+ , text "#-}"]++ pretty (AnnPragma _ annp) =+ mySep [text "{-# ANN", pretty annp, text "#-}"]++ pretty (MinimalPragma _ b) =+ let bs = case b of { Just b' -> pretty b'; _ -> empty }+ in myFsep [text "{-# MINIMAL", bs, text "#-}"]++ pretty (RoleAnnotDecl _ qn rs) =+ mySep ( [text "type", text "role", pretty qn]+ ++ map pretty rs )+ pretty (CompletePragma _ cls opt_ts) =+ let cls_p = punctuate comma $ map pretty cls+ ts_p = maybe empty (\tc -> text "::" <+> pretty tc) opt_ts+ in myFsep $ [text "{-# COMPLETE"] ++ cls_p ++ [ts_p, text "#-}"]++instance Pretty (InstRule l) where+ pretty (IRule _ tvs mctxt qn) =+ mySep [ppForall tvs+ , maybePP pretty mctxt, pretty qn]+ pretty (IParen _ ih) = parens (pretty ih)++instance Pretty (InstHead l) where+ pretty (IHCon _ qn) = pretty qn+ pretty (IHInfix _ ta qn) = mySep [pretty ta, pretty qn]+ pretty (IHParen _ ih) = parens (pretty ih)+ pretty (IHApp _ ih t) = myFsep [pretty ih, pretty t]+++instance Pretty (Annotation l) where+ pretty (Ann _ n e) = myFsep [pretty n, pretty e]+ pretty (TypeAnn _ n e) = myFsep [text "type", pretty n, pretty e]+ pretty (ModuleAnn _ e) = myFsep [text "module", pretty e]++instance Pretty (BooleanFormula l) where+ pretty (VarFormula _ n) = pretty n+ pretty (AndFormula _ bs) = myFsep $ punctuate (text " ,") $ map pretty bs+ pretty (OrFormula _ bs) = myFsep $ punctuate (text " |") $ map pretty bs+ pretty (ParenFormula _ b) = parens $ pretty b++instance Pretty (Role l) where+ pretty RoleWildcard{} = char '_'+ pretty Nominal{} = text "nominal"+ pretty Representational{} = text "representational"+ pretty Phantom{} = text "phantom"++instance Pretty (DataOrNew l) where+ pretty DataType{} = text "data"+ pretty NewType{} = text "newtype"++instance Pretty (Assoc l) where+ pretty AssocNone{} = text "infix"+ pretty AssocLeft{} = text "infixl"+ pretty AssocRight{} = text "infixr"++instance Pretty (Match l) where+ pretty (InfixMatch _ l op rs rhs wbinds) =+ let+ lhs = case rs of+ [] -> [] -- Should never reach+ (r:rs') ->+ let hd = [prettyPrec 2 l, ppNameInfix op, prettyPrec 2 r]+ in if null rs'+ then hd+ else parens (myFsep hd) : map (prettyPrec 3) rs'++ in myFsep (lhs ++ [pretty rhs]) $$$ ppWhere wbinds+ pretty (Match _ f ps rhs whereBinds) =+ myFsep (pretty f : map (prettyPrec 3) ps ++ [pretty rhs])+ $$$ ppWhere whereBinds++ppWhere :: Maybe (Binds l) -> Doc+ppWhere Nothing = empty+ppWhere (Just (BDecls _ l)) = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False l))+ppWhere (Just (IPBinds _ b)) = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False b))++instance PrettyDeclLike (ClassDecl l) where+ wantsBlankline (ClsDecl _ d) = wantsBlankline d+ wantsBlankline (ClsDefSig {}) = True+ wantsBlankline _ = False++instance Pretty (ClassDecl l) where+ pretty (ClsDecl _ decl) = pretty decl++ pretty (ClsDataFam _ context declHead optkind) =+ mySep ( [text "data", maybePP pretty context, pretty declHead+ , maybePP pretty optkind])++ pretty (ClsTyFam _ declHead optkind optinj) =+ mySep ( [text "type", pretty declHead+ , maybePP pretty optkind, maybePP pretty optinj])++ pretty (ClsTyDef _ ntype) =+ mySep [text "type", pretty ntype]++ pretty (ClsDefSig _ name typ) =+ mySep [+ text "default",+ pretty name,+ text "::",+ pretty typ]++instance Pretty (DeclHead l) where+ pretty (DHead _ n) = pretty n+ pretty (DHInfix _ tv n) = pretty tv <+> ppNameInfix n+ pretty (DHParen _ d) = parens (pretty d)+ pretty (DHApp _ dh tv) = pretty dh <+> pretty tv++++instance PrettyDeclLike (InstDecl l) where+ wantsBlankline (InsDecl _ d) = wantsBlankline d+ wantsBlankline _ = False++instance Pretty (InstDecl l) where+ pretty (InsDecl _ decl) = pretty decl++ pretty (InsType _ ntype htype) =+ mySep [text "type", pretty ntype, equals, pretty htype]++ pretty (InsData _ don ntype constrList derives) =+ mySep [pretty don, pretty ntype]+ <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))+ (map pretty constrList))+ $$$ ppIndent letIndent (map pretty derives))++ pretty (InsGData _ don ntype optkind gadtList derives) =+ mySep ( [pretty don, pretty ntype]+ ++ ppOptKind optkind ++ [text "where"])+ $$$ ppBody classIndent (map pretty gadtList)+ $$$ ppIndent letIndent (map pretty derives)++-- pretty (InsInline loc inl activ name) =+-- markLine loc $+-- mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]+++------------------------- FFI stuff -------------------------------------+instance Pretty (Safety l) where+ pretty PlayRisky {} = text "unsafe"+ pretty (PlaySafe _ b) = text $ if b then "threadsafe" else "safe"+ pretty PlayInterruptible {} = text "interruptible"++instance Pretty (CallConv l) where+ pretty StdCall {} = text "stdcall"+ pretty CCall {} = text "ccall"+ pretty CPlusPlus {} = text "cplusplus"+ pretty DotNet {} = text "dotnet"+ pretty Jvm {} = text "jvm"+ pretty Js {} = text "js"+ pretty JavaScript {} = text "javascript"+ pretty CApi {} = text "capi"++------------------------- Pragmas ---------------------------------------+ppWarnDepr :: ([Name l], String) -> Doc+ppWarnDepr (names, txt) = mySep $ punctuate comma (map pretty names) ++ [text $ show txt]++instance Pretty (Rule l) where+ pretty (Rule _ tag activ rvs rhs lhs) =+ mySep [text $ show tag, maybePP pretty activ,+ maybePP ppRuleVars rvs,+ pretty rhs, char '=', pretty lhs]++ppRuleVars :: [RuleVar l] -> Doc+ppRuleVars [] = empty+ppRuleVars rvs = mySep $ text "forall" : map pretty rvs ++ [char '.']++instance Pretty (Activation l) where+ pretty (ActiveFrom _ i) = char '[' <> int i <> char ']'+ pretty (ActiveUntil _ i) = text "[~" <> int i <> char ']'++instance Pretty (Overlap l) where+ pretty Overlap {} = text "{-# OVERLAP #-}"+ pretty Overlaps {} = text "{-# OVERLAPS #-}"+ pretty Overlapping {} = text "{-# OVERLAPPING #-}"+ pretty Overlappable {} = text "{-# OVERLAPPABLE #-}"+ pretty NoOverlap {} = text "{-# NO_OVERLAP #-}"+ pretty Incoherent {} = text "{-# INCOHERENT #-}"++instance Pretty (RuleVar l) where+ pretty (RuleVar _ n) = pretty n+ pretty (TypedRuleVar _ n t) = parens $ mySep [pretty n, text "::", pretty t]++-- Spaces are stripped from the pragma text but other whitespace+-- is not.+ppOptionsPragma :: Doc -> String -> Doc+ppOptionsPragma opt s =+ case s of+ ('\n':_) -> opt <> text s <> text "#-}"+ _ -> myFsep [opt, text s <> text "#-}"]++instance Pretty (ModulePragma l) where+ pretty (LanguagePragma _ ns) =+ myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]+ pretty (OptionsPragma _ (Just tool) s) =+ ppOptionsPragma (text "{-# OPTIONS_" <> pretty tool) s+ pretty (OptionsPragma _ _ s) =+ ppOptionsPragma (text "{-# OPTIONS") s+ pretty (AnnModulePragma _ mann) =+ myFsep [text "{-# ANN", pretty mann, text "#-}"]+++instance Pretty Tool where+ pretty (UnknownTool s) = text s+ pretty t = text $ show t++------------------------- Data & Newtype Bodies -------------------------+instance Pretty (QualConDecl l) where+ pretty (QualConDecl _pos tvs ctxt con) =+ myFsep [ppForall tvs, maybePP pretty ctxt, pretty con]++instance Pretty (GadtDecl l) where+ pretty (GadtDecl _pos name tvs ctxt names ty) =+ case names of+ Nothing ->+ myFsep [pretty name, text "::", pretty ty]+ Just ts' ->+ myFsep [pretty name, text "::" , ppForall tvs, maybePP pretty ctxt,+ braceList . map pretty $ ts', text "->", pretty ty]++instance Pretty (ConDecl l) where+ pretty (RecDecl _ name fieldList) =+ pretty name <> braceList (map pretty fieldList)++{- pretty (ConDecl name@(Symbol _) [l, r]) =+ myFsep [prettyPrec prec_btype l, ppName name,+ prettyPrec prec_btype r] -}+ pretty (ConDecl _ name typeList) =+ mySep $ pretty name : map (prettyPrec prec_atype) typeList+ pretty (InfixConDecl _ l name r) =+ myFsep [prettyPrec prec_btype l, ppNameInfix name,+ prettyPrec prec_btype r]+++instance Pretty (FieldDecl l) where+ pretty (FieldDecl _ names ty) =+ myFsepSimple $ (punctuate comma . map pretty $ names) +++ [text "::", pretty ty]++instance Pretty (BangType l) where+ pretty BangedTy {} = char '!'+ pretty LazyTy {} = char '~'+ pretty NoStrictAnnot {} = empty++instance Pretty (Unpackedness l) where+ pretty Unpack {} = text "{-# UNPACK #-} "+ pretty NoUnpack {} = text "{-# NOUNPACK #-} "+ pretty NoUnpackPragma {} = empty++instance Pretty (Deriving l) where+ pretty (Deriving _ mds d) =+ hsep [ text "deriving"+ , pp_strat_before+ , pp_dct+ , pp_strat_after ]+ where+ pp_dct =+ case d of+ [d'] -> pretty d'+ _ -> parenList (map pretty d)++ -- @via@ is unique in that in comes /after/ the class being derived,+ -- so we must special-case it.+ (pp_strat_before, pp_strat_after) =+ case mds of+ Just (via@DerivVia{}) -> (empty, pretty via)+ _ -> (maybePP pretty mds, empty)++instance Pretty (DerivStrategy l) where+ pretty ds =+ case ds of+ DerivStock _ -> text "stock"+ DerivAnyclass _ -> text "anyclass"+ DerivNewtype _ -> text "newtype"+ DerivVia _ ty -> text "via" <+> pretty ty++------------------------- Types -------------------------+ppBType :: Type l -> Doc+ppBType = prettyPrec prec_btype++ppAType :: Type l -> Doc+ppAType = prettyPrec prec_atype++-- precedences for types+prec_btype, prec_atype :: Int+prec_btype = 1 -- left argument of ->,+ -- or either argument of an infix data constructor+prec_atype = 2 -- argument of type or data constructor, or of a class++instance Pretty (Type l) where+ prettyPrec p (TyForall _ mtvs ctxt htype) = parensIf (p > 0) $+ myFsep [ppForall mtvs, maybePP pretty ctxt, pretty htype]+ prettyPrec _ (TyStar _) = text "*"+ prettyPrec p (TyFun _ a b) = parensIf (p > 0) $+ myFsep [ppBType a, text "->", pretty b]+ prettyPrec _ (TyTuple _ bxd l) =+ let ds = map pretty l+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ prettyPrec _ (TyUnboxedSum _ es) = unboxedSumType (map pretty es)++ prettyPrec _ (TyList _ t) = brackets $ pretty t+ prettyPrec _ (TyParArray _ t) = bracketColonList [pretty t]+ prettyPrec p (TyApp _ a b) =+ {-+ | a == list_tycon = brackets $ pretty b -- special case+ | otherwise = -} parensIf (p > prec_btype) $+ myFsep [pretty a, ppAType b]+ prettyPrec _ (TyVar _ name) = pretty name+ prettyPrec _ (TyCon _ name) = pretty name+ prettyPrec _ (TyParen _ t) = parens (pretty t)+ prettyPrec _ (TyInfix _ a op b) = myFsep [pretty a, pretty op, pretty b]+ prettyPrec _ (TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])+ prettyPrec _ (TyPromoted _ p) = pretty p+ prettyPrec p (TyEquals _ a b) = parensIf (p > 0) (myFsep [pretty a, text "~", pretty b])+ prettyPrec _ (TySplice _ s) = pretty s+ prettyPrec _ (TyBang _ b u t) = pretty u <> pretty b <> prettyPrec prec_atype t+ prettyPrec _ (TyWildCard _ mn) = char '_' <> maybePP pretty mn+ prettyPrec _ (TyQuasiQuote _ n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")++instance Pretty (MaybePromotedName l) where+ pretty (PromotedName _ q) = char '\'' <> ppQNameInfix q+ pretty (UnpromotedName _ q) = ppQNameInfix q+++instance Pretty (Promoted l) where+ pretty p =+ case p of+ PromotedInteger _ n _ -> integer n+ PromotedString _ s _ -> doubleQuotes $ text s+ PromotedCon _ hasQuote qn ->+ addQuote hasQuote (pretty qn)+ PromotedList _ hasQuote list ->+ addQuote hasQuote $ brackets . addSpace list . prettyList $ list+ PromotedTuple _ list ->+ addQuote True $ parens . addSpace list . prettyList $ list+ PromotedUnit {} -> addQuote True $ text "()"+ where+ addQuote True doc = char '\'' <> doc+ addQuote False doc = doc++ checkQuote (PromotedCon _ q _) = q+ checkQuote (PromotedList _ q _) = q+ checkQuote (PromotedTuple _ _) = True+ checkQuote _ = False++ addSpace (TyPromoted _ l0:_) | checkQuote l0 = (space <>)+ addSpace _ = id++ prettyList = myFsepSimple . punctuate comma . map pretty+++instance Pretty (TyVarBind l) where+ pretty (KindedVar _ var kind) = parens $ myFsep [pretty var, text "::", pretty kind]+ pretty (UnkindedVar _ var) = pretty var++ppForall :: Maybe [TyVarBind l] -> Doc+ppForall Nothing = empty+ppForall (Just []) = empty+ppForall (Just vs) = myFsep (text "forall" : map pretty vs ++ [char '.'])++---------------------------- Kinds ----------------------------++ppOptKind :: Maybe (Kind l) -> [Doc]+ppOptKind Nothing = []+ppOptKind (Just k) = [text "::", pretty k]++------------------- Functional Dependencies -------------------+instance Pretty (FunDep l) where+ pretty (FunDep _ from to) =+ myFsep $ map pretty from ++ [text "->"] ++ map pretty to+++ppFunDeps :: [FunDep l] -> Doc+ppFunDeps [] = empty+ppFunDeps fds = myFsep $ (char '|':) . punctuate comma . map pretty $ fds++------------------------- Expressions -------------------------+instance Pretty (Rhs l) where+ pretty (UnGuardedRhs _ e) = equals <+> pretty e+ pretty (GuardedRhss _ guardList) = myVcat . map pretty $ guardList++instance Pretty (GuardedRhs l) where+ pretty (GuardedRhs _pos guards ppBody') =+ myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [equals, pretty ppBody']++newtype GuardedAlts l = GuardedAlts (Rhs l)+newtype GuardedAlt l = GuardedAlt (GuardedRhs l)++instance Pretty (GuardedAlts l) where+ pretty (GuardedAlts (UnGuardedRhs _ e)) = text "->" <+> pretty e+ pretty (GuardedAlts (GuardedRhss _ guardList)) = myVcat . map (pretty . GuardedAlt) $ guardList++instance Pretty (GuardedAlt l) where+ pretty (GuardedAlt (GuardedRhs _pos guards ppBody')) =+ myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [text "->", pretty ppBody']++instance Pretty (Literal l) where+ pretty (Int _ i _) = integer i+ pretty (Char _ c _) = text (show c)+ pretty (String _ s _) = text (show s)+ pretty (Frac _ r _) = double (fromRational r)+ -- GHC unboxed literals:+ pretty (PrimChar _ c _) = text (show c) <> char '#'+ pretty (PrimString _ s _) = text (show s) <> char '#'+ pretty (PrimInt _ i _) = integer i <> char '#'+ pretty (PrimWord _ w _) = integer w <> text "##"+ pretty (PrimFloat _ r _) = float (fromRational r) <> char '#'+ pretty (PrimDouble _ r _) = double (fromRational r) <> text "##"++instance Pretty (Exp l) where+ prettyPrec _ (Lit _ l) = pretty l+ -- lambda stuff+ -- WARNING: This stuff is fragile. See #152 for one example of how+ -- things can break.+ prettyPrec p (InfixApp _ a op b) = parensIf (p > 2) $ myFsep [prettyPrec 1 a, pretty op, prettyPrec 1 b]+ prettyPrec p (NegApp _ e) = parensIf (p > 0) $ char '-' <> prettyPrec 2 e+ prettyPrec p (App _ a b) = parensIf (p > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]+ prettyPrec p (Lambda _loc patList ppBody') = parensIf (p > 1) $ myFsep $+ char '\\' : map (prettyPrec 3) patList ++ [text "->", pretty ppBody']+ -- keywords+ -- two cases for lets+ prettyPrec p (Let _ (BDecls _ declList) letBody) =+ parensIf (p > 1) $ ppLetExp declList letBody+ prettyPrec p (Let _ (IPBinds _ bindList) letBody) =+ parensIf (p > 1) $ ppLetExp bindList letBody++ prettyPrec p (If _ cond thenexp elsexp) = parensIf (p > 1) $+ myFsep [text "if", pretty cond,+ text "then", pretty thenexp,+ text "else", pretty elsexp]+ prettyPrec p (MultiIf _ alts) = parensIf (p > 1) $+ text "if"+ $$$ ppBody multiIfIndent (map (pretty . GuardedAlt) alts)+ prettyPrec p (Case _ cond altList) = parensIf (p > 1) $+ myFsep ([text "case", pretty cond, text "of"] +++ if null altList then [text "{", text "}"] else [])+ $$$ ppBody caseIndent (map pretty altList)+ prettyPrec p (Do _ stmtList) = parensIf (p > 1) $+ text "do" $$$ ppBody doIndent (map pretty stmtList)+ prettyPrec p (MDo _ stmtList) = parensIf (p > 1) $+ text "mdo" $$$ ppBody doIndent (map pretty stmtList)+ -- Constructors & Vars+ prettyPrec _ (Var _ name) = pretty name+ prettyPrec _ (OverloadedLabel _ name) = text ('#':name)+ prettyPrec _ (IPVar _ ipname) = pretty ipname+ prettyPrec _ (Con _ name) = pretty name+ prettyPrec _ (Tuple _ bxd expList) =+ let ds = map pretty expList+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ prettyPrec _ (UnboxedSum _ before after exp) =+ printUnboxedSum before after exp+ prettyPrec _ (TupleSection _ bxd mExpList) =+ let ds = map (maybePP pretty) mExpList+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ -- weird stuff+ prettyPrec _ (Paren _ e) = parens . pretty $ e+ prettyPrec _ (LeftSection _ e op) = parens (pretty e <+> pretty op)+ prettyPrec _ (RightSection _ op e) = parens (pretty op <+> pretty e)+ prettyPrec _ (RecConstr _ c fieldList) =+ pretty c <> (braceList . map pretty $ fieldList)+ prettyPrec _ (RecUpdate _ e fieldList) =+ pretty e <> (braceList . map pretty $ fieldList)+ -- Lists and parallel arrays+ prettyPrec _ (List _ list) =+ bracketList . punctuate comma . map pretty $ list+ prettyPrec _ (ParArray _ arr) =+ bracketColonList . map pretty $ arr+ prettyPrec _ (EnumFrom _ e) =+ bracketList [pretty e, text ".."]+ prettyPrec _ (EnumFromTo _ from to) =+ bracketList [pretty from, text "..", pretty to]+ prettyPrec _ (EnumFromThen _ from thenE) =+ bracketList [pretty from <> comma, pretty thenE, text ".."]+ prettyPrec _ (EnumFromThenTo _ from thenE to) =+ bracketList [pretty from <> comma, pretty thenE,+ text "..", pretty to]+ prettyPrec _ (ParArrayFromTo _ from to) =+ bracketColonList [pretty from, text "..", pretty to]+ prettyPrec _ (ParArrayFromThenTo _ from thenE to) =+ bracketColonList [pretty from <> comma, pretty thenE,+ text "..", pretty to]+ prettyPrec _ (ListComp _ e qualList) =+ bracketList ([pretty e, char '|']+ ++ (punctuate comma . map pretty $ qualList))+ prettyPrec _ (ParComp _ e qualLists) =+ bracketList (punctuate (char '|') $+ pretty e : map (hsep . punctuate comma . map pretty) qualLists)+ prettyPrec _ (ParArrayComp _ e qualArrs) =+ bracketColonList (punctuate (char '|') $+ pretty e : map (hsep . punctuate comma . map pretty) qualArrs)+ prettyPrec p (ExpTypeSig _pos e ty) = parensIf (p > 0) $+ myFsep [pretty e, text "::", pretty ty]+ -- Template Haskell+ prettyPrec _ (BracketExp _ b) = pretty b+ prettyPrec _ (SpliceExp _ s) = pretty s+ prettyPrec _ (TypQuote _ t) = text "\'\'" <> pretty t+ prettyPrec _ (VarQuote _ x) = text "\'" <> pretty x+ prettyPrec _ (QuasiQuote _ n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")+ -- Hsx+ prettyPrec _ (XTag _ n attrs mattr cs) =+ let ax = maybe [] (return . pretty) mattr+ in hcat $+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+ map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]+ prettyPrec _ (XETag _ n attrs mattr) =+ let ax = maybe [] (return . pretty) mattr+ in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]+ prettyPrec _ (XPcdata _ s) = text s+ prettyPrec _ (XExpTag _ e) =+ myFsep [text "<%", pretty e, text "%>"]+ prettyPrec _ (XChildTag _ cs) =+ myFsep $ text "<%>" : map pretty cs ++ [text "</%>"]++ -- Pragmas+ prettyPrec _ (CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]+ prettyPrec _ (SCCPragma _ s e) = myFsep $ map text ["{-# SCC", show s, "#-}"] ++ [pretty e]+ prettyPrec _ (GenPragma _ s (a,b) (c,d) e) =+ myFsep [text "{-# GENERATED", text $ show s,+ int a, char ':', int b, char '-',+ int c, char ':', int d, text "#-}", pretty e]+ -- Arrows+ prettyPrec p (Proc _ pat e) = parensIf (p > 1) $ myFsep [text "proc", pretty pat, text "->", pretty e]+ prettyPrec p (LeftArrApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text "-<", pretty r]+ prettyPrec p (RightArrApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text ">-", pretty r]+ prettyPrec p (LeftArrHighApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text "-<<", pretty r]+ prettyPrec p (RightArrHighApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text ">>-", pretty r]+ prettyPrec _ (ArrOp _ e) = myFsep [text "(|", pretty e, text "|)"]++ -- LamdaCase+ prettyPrec p (LCase _ altList) = parensIf (p > 1) $+ myFsep (text "\\case":+ if null altList then [text "{", text "}"] else [])+ $$$ ppBody caseIndent (map pretty altList)+ prettyPrec _ (TypeApp _ ty) = char '@' <> pretty ty++printUnboxedSum :: Pretty e => Int -> Int -> e -> Doc+printUnboxedSum before after exp =+ hashParens . myFsep $ (replicate before (text "|")+ ++ [pretty exp]+ ++ (replicate after (text "|")))+++instance Pretty (XAttr l) where+ pretty (XAttr _ n v) =+ myFsep [pretty n, char '=', pretty v]++instance Pretty (XName l) where+ pretty (XName _ n) = text n+ pretty (XDomName _ d n) = text d <> char ':' <> text n++ppLetExp :: (PrettyDeclLike a, Pretty b) => [a] -> b -> Doc+ppLetExp l b = myFsep [text "let" <+> ppBody letIndent (ppDecls False l),+ text "in", pretty b]++--------------------- Template Haskell -------------------------++instance Pretty (Bracket l) where+ pretty (ExpBracket _ e) = ppBracket "[|" e+ pretty (TExpBracket _ e) = myFsep [text "[||", pretty e, text "||]"]+ pretty (PatBracket _ p) = ppBracket "[p|" p+ pretty (TypeBracket _ t) = ppBracket "[t|" t+ pretty (DeclBracket _ d) =+ myFsep $ text "[d|" : ppDecls True d ++ [text "|]"]++ppBracket :: Pretty a => String -> a -> Doc+ppBracket o x = myFsep [text o, pretty x, text "|]"]++instance Pretty (Splice l) where+ pretty (IdSplice _ s) = char '$' <> text s+ pretty (TIdSplice _ s) = char '$' <> char '$' <> text s+ pretty (TParenSplice _ e) =+ myFsep [text "$$(", pretty e, char ')']+ pretty (ParenSplice _ e) =+ myFsep [text "$(", pretty e, char ')']++------------------------- Patterns -----------------------------++instance Pretty (Pat l) where+ prettyPrec _ (PVar _ name) = pretty name+ prettyPrec _ (PLit _ (Signless {}) lit) = pretty lit+ prettyPrec p (PLit _ (Negative{}) lit) = parensIf (p > 1) $ char '-' <> pretty lit+ prettyPrec p (PInfixApp l a op b) = parensIf (p > 0) $+ myFsep [prettyPrec 1 a, pretty (QConOp l op), prettyPrec 1 b]+ prettyPrec p (PApp _ n ps) = parensIf (p > 2 && not (null ps)) $+ myFsep (pretty n : map (prettyPrec 3) ps)+ prettyPrec _ (PTuple _ bxd ps) =+ let ds = map pretty ps+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ prettyPrec _ (PUnboxedSum _ before after exp) =+ printUnboxedSum before after exp+ prettyPrec _ (PList _ ps) =+ bracketList . punctuate comma . map pretty $ ps+ prettyPrec _ (PParen _ pat) = parens . pretty $ pat+ prettyPrec _ (PRec _ c fields) =+ pretty c <> (braceList . map pretty $ fields)+ -- special case that would otherwise be buggy+ prettyPrec _ (PAsPat _ name (PIrrPat _ pat)) =+ myFsep [pretty name <> char '@', char '~' <> prettyPrec 3 pat]+ prettyPrec _ (PAsPat _ name pat) =+ hcat [pretty name, char '@', prettyPrec 3 pat]+ prettyPrec _ PWildCard {} = char '_'+ prettyPrec _ (PIrrPat _ pat) = char '~' <> prettyPrec 3 pat+ prettyPrec p (PatTypeSig _pos pat ty) = parensIf (p > 0) $+ myFsep [pretty pat, text "::", pretty ty]+ prettyPrec p (PViewPat _ e pat) = parensIf (p > 0) $+ myFsep [pretty e, text "->", pretty pat]+ prettyPrec p (PNPlusK _ n k) = parensIf (p > 0) $+ myFsep [pretty n, text "+", text $ show k]+ -- HaRP+ prettyPrec _ (PRPat _ rs) =+ bracketList . punctuate comma . map pretty $ rs+ -- Hsx+ prettyPrec _ (PXTag _ n attrs mattr cp) =+ let ap = maybe [] (return . pretty) mattr+ in hcat $ -- TODO: should not introduce blanks+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [char '>']):+ map pretty cp ++ [myFsep [text "</" <> pretty n, char '>']]+ prettyPrec _ (PXETag _ n attrs mattr) =+ let ap = maybe [] (return . pretty) mattr+ in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [text "/>"]+ prettyPrec _ (PXPcdata _ s) = text s+ prettyPrec _ (PXPatTag _ p) =+ myFsep [text "<%", pretty p, text "%>"]+ prettyPrec _ (PXRPats _ ps) =+ myFsep $ text "<[" : map pretty ps ++ [text "%>"]+ -- BangPatterns+ prettyPrec _ (PBangPat _ pat) = text "!" <> prettyPrec 3 pat+ prettyPrec _ (PSplice _ s) = pretty s+ prettyPrec _ (PQuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")++instance Pretty (PXAttr l) where+ pretty (PXAttr _ n p) =+ myFsep [pretty n, char '=', pretty p]++instance Pretty (PatField l) where+ pretty (PFieldPat _ name pat) =+ myFsep [pretty name, equals, pretty pat]+ pretty (PFieldPun _ name) = pretty name+ pretty (PFieldWildcard{}) = text ".."++--------------------- Regular Patterns -------------------------++instance Pretty (RPat l) where+ pretty (RPOp _ r op) = pretty r <> pretty op+ pretty (RPEither _ r1 r2) = parens . myFsep $+ [pretty r1, char '|', pretty r2]+ pretty (RPSeq _ rs) =+ myFsep $ text "(|" : (punctuate comma . map pretty $ rs)+ ++ [text "|)"]+ pretty (RPGuard _ r gs) =+ myFsep $ text "(|" : pretty r : char '|' :+ (punctuate comma . map pretty $ gs) ++ [text "|)"]+ -- special case that would otherwise be buggy+ pretty (RPCAs _ n (RPPat _ (PIrrPat _ p))) =+ myFsep [pretty n <> text "@:", char '~' <> pretty p]+ pretty (RPCAs _ n r) = hcat [pretty n, text "@:", pretty r]+ -- special case that would otherwise be buggy+ pretty (RPAs _ n (RPPat _ (PIrrPat _ p))) =+ myFsep [pretty n <> text "@:", char '~' <> pretty p]+ pretty (RPAs _ n r) = hcat [pretty n, char '@', pretty r]+ pretty (RPPat _ p) = pretty p+ pretty (RPParen _ rp) = parens . pretty $ rp++instance Pretty (RPatOp l) where+ pretty RPStar{} = char '*'+ pretty RPStarG{} = text "*!"+ pretty RPPlus{} = char '+'+ pretty RPPlusG{} = text "+!"+ pretty RPOpt{} = char '?'+ pretty RPOptG{} = text "?!"++------------------------- Case bodies -------------------------+instance Pretty (Alt l) where+ pretty (Alt _pos e gAlts binds) =+ pretty e <+> pretty (GuardedAlts gAlts) $$$ ppWhere binds++------------------------- Statements in monads, guards & list comprehensions -----+instance Pretty (Stmt l) where+ pretty (Generator _loc e from) =+ pretty e <+> text "<-" <+> pretty from+ pretty (Qualifier _ e) = pretty e+ -- two cases for lets+ pretty (LetStmt _ (BDecls _ declList)) =+ ppLetStmt declList+ pretty (LetStmt _ (IPBinds _ bindList)) =+ ppLetStmt bindList+ pretty (RecStmt _ stmtList) =+ text "rec" $$$ ppBody letIndent (map pretty stmtList)++ppLetStmt :: Pretty a => [a] -> Doc+ppLetStmt l = text "let" $$$ ppBody letIndent (map pretty l)++instance Pretty (QualStmt l) where+ pretty (QualStmt _ s) = pretty s+ pretty (ThenTrans _ f) = myFsep [text "then", pretty f]+ pretty (ThenBy _ f e) = myFsep [text "then", pretty f, text "by", pretty e]+ pretty (GroupBy _ e) = myFsep [text "then", text "group", text "by", pretty e]+ pretty (GroupUsing _ f) = myFsep [text "then", text "group", text "using", pretty f]+ pretty (GroupByUsing _ e f) = myFsep [text "then", text "group", text "by",+ pretty e, text "using", pretty f]++++------------------------- Record updates+instance Pretty (FieldUpdate l) where+ pretty (FieldUpdate _ name e) =+ myFsep [pretty name, equals, pretty e]+ pretty (FieldPun _ name) = pretty name+ pretty (FieldWildcard {}) = text ".."++------------------------- Names -------------------------+instance Pretty (QOp l) where+ pretty (QVarOp _ n) = ppQNameInfix n+ pretty (QConOp _ n) = ppQNameInfix n++ppQNameInfix :: QName l -> Doc+ppQNameInfix name+ | isSymbolQName name = ppQName name+ | otherwise = char '`' <> ppQName name <> char '`'++instance Pretty (QName l) where+ pretty name = case name of+ UnQual _ (Symbol _ ('#':_)) -> char '(' <+> ppQName name <+> char ')'+ _ -> parensIf (isSymbolQName name) (ppQName name)++ppQName :: QName l -> Doc+ppQName (UnQual _ name) = ppName name+ppQName (Qual _ m name) = pretty m <> char '.' <> ppName name+ppQName (Special _ sym) = pretty sym++instance Pretty (Op l) where+ pretty (VarOp _ n) = ppNameInfix n+ pretty (ConOp _ n) = ppNameInfix n++ppNameInfix :: Name l -> Doc+ppNameInfix name+ | isSymbolName name = ppName name+ | otherwise = char '`' <> ppName name <> char '`'++instance Pretty (Name l) where+ pretty name = case name of+ Symbol _ ('#':_) -> char '(' <+> ppName name <+> char ')'+ _ -> parensIf (isSymbolName name) (ppName name)++ppName :: Name l -> Doc+ppName (Ident _ s) = text s+ppName (Symbol _ s) = text s++instance Pretty (IPName l) where+ pretty (IPDup _ s) = char '?' <> text s+ pretty (IPLin _ s) = char '%' <> text s++instance PrettyDeclLike (IPBind l) where+ wantsBlankline _ = False++instance Pretty (IPBind l) where+ pretty (IPBind _loc ipname exp) =+ myFsep [pretty ipname, equals, pretty exp]++instance Pretty (CName l) where+ pretty (VarName _ n) = pretty n+ pretty (ConName _ n) = pretty n++instance Pretty (SpecialCon l) where+ pretty (UnitCon {}) = text "()"+ pretty (ListCon {}) = text "[]"+ pretty (FunCon {}) = text "->"+ pretty (TupleCon _ b n) = listFun $ foldr (<>) empty (replicate (n-1) comma)+ where listFun = if b == Unboxed then hashParens else parens+ pretty (Cons {}) = text ":"+ pretty (UnboxedSingleCon {}) = text "(# #)"+ pretty (ExprHole {}) = text "_"++isSymbolName :: Name l -> Bool+isSymbolName (Symbol {}) = True+isSymbolName _ = False++isSymbolQName :: QName l -> Bool+isSymbolQName (UnQual _ n) = isSymbolName n+isSymbolQName (Qual _ _ n) = isSymbolName n+isSymbolQName (Special _ (Cons {})) = True+isSymbolQName (Special _ (FunCon {})) = True+isSymbolQName _ = False++--getSpecialName :: QName l -> Maybe (SpecialCon l)+--getSpecialName (Special _ n) = Just n+--getSpecialName _ = Nothing++-- Contexts are "sets" of assertions. Several members really means it's a+-- CxTuple, but we can't represent that in our list of assertions.+-- Therefore: print single member contexts without parenthesis, and treat+-- larger contexts as tuples.+instance (Pretty (Context l)) where+ pretty (CxEmpty _) = text "()" <+> text "=>"+ pretty (CxSingle _ ctxt) = pretty ctxt <+> text "=>"+ pretty (CxTuple _ context) = mySep [parenList (map pretty context), text "=>"]++instance Pretty (Asst l) where+ pretty (TypeA _ t) = pretty t+ pretty (IParam _ i t) = myFsep [pretty i, text "::", pretty t]+ pretty (ParenA _ a) = parens (pretty a)++-- Pretty print a source location, useful for printing out error messages+instance Pretty SrcLoc where+ pretty srcLoc =+ return $ P.hcat [ colonFollow (P.text $ srcFilename srcLoc)+ , colonFollow (P.int $ srcLine srcLoc)+ , P.int $ srcColumn srcLoc+ ]++colonFollow :: P.Doc -> P.Doc+colonFollow p = P.hcat [ p, P.colon ]+++instance Pretty SrcSpan where+ pretty srcSpan =+ return $ P.hsep [ colonFollow (P.text $ srcSpanFilename srcSpan)+ , P.hcat [ P.text "("+ , P.int $ srcSpanStartLine srcSpan+ , P.colon+ , P.int $ srcSpanStartColumn srcSpan+ , P.text ")"+ ]+ , P.text "-"+ , P.hcat [ P.text "("+ , P.int $ srcSpanEndLine srcSpan+ , P.colon+ , P.int $ srcSpanEndColumn srcSpan+ , P.text ")"+ ]+ ]++---------------------------------------------------------------------+-- Annotated version+++------------------------- Pretty-Print a Module --------------------+instance Pretty (Module pos) where+ pretty (Module _ mbHead os imp decls) =+ myVcat $ map pretty os +++ (case mbHead of+ Nothing -> id+ Just h -> \x -> [topLevel (pretty h) x])+ (map pretty imp +++ ppDecls (isJust mbHead ||+ not (null imp) ||+ not (null os))+ decls)+ pretty (XmlPage _ _mn os n attrs mattr cs) =+ myVcat $ map pretty os +++ [let ax = maybe [] (return . pretty) mattr+ in hcat $+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+ map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]]+ pretty (XmlHybrid _ mbHead os imp decls n attrs mattr cs) =+ myVcat $ map pretty os ++ [text "<%"] +++ (case mbHead of+ Nothing -> id+ Just h -> \x -> [topLevel (pretty h) x])+ (map pretty imp +++ ppDecls (isJust mbHead || not (null imp) || not (null os)) decls +++ [let ax = maybe [] (return . pretty) mattr+ in hcat $+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+ map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]])++++------------------------- pp utils -------------------------+maybePP :: (a -> Doc) -> Maybe a -> Doc+maybePP _ Nothing = empty+maybePP pp (Just a) = pp a++parenList :: [Doc] -> Doc+parenList = parens . myFsepSimple . punctuate comma++hashParenList :: [Doc] -> Doc+hashParenList = hashParens . myFsepSimple . punctuate comma++unboxedSumType :: [Doc] -> Doc+unboxedSumType = hashParens . myFsepSimple . punctuate (text " |")++hashParens :: Doc -> Doc+hashParens = parens . hashes+ where+ hashes doc = char '#' <+> doc <+> char '#'++braceList :: [Doc] -> Doc+braceList = braces . myFsepSimple . punctuate comma++bracketList :: [Doc] -> Doc+bracketList = brackets . myFsepSimple++bracketColonList :: [Doc] -> Doc+bracketColonList = bracketColons . myFsepSimple+ where bracketColons = brackets . colons+ colons doc = char ':' <> doc <> char ':'++-- Wrap in braces and semicolons, with an extra space at the start in+-- case the first doc begins with "-", which would be scanned as {-+flatBlock :: [Doc] -> Doc+flatBlock = braces . (space <>) . hsep . punctuate semi++-- Same, but put each thing on a separate line+prettyBlock :: [Doc] -> Doc+prettyBlock = braces . (space <>) . vcat . punctuate semi++-- Monadic PP Combinators -- these examine the env++blankline :: Doc -> Doc+blankline dl = do{e<-getPPEnv;if spacing e && layout e /= PPNoLayout+ then text "" $+$ dl else dl}+topLevel :: Doc -> [Doc] -> Doc+topLevel header dl = do+ e <- fmap layout getPPEnv+ case e of+ PPOffsideRule -> header $$ vcat dl+ PPSemiColon -> header $$ prettyBlock dl+ PPInLine -> header $$ prettyBlock dl+ PPNoLayout -> header <+> flatBlock dl++ppBody :: (PPHsMode -> Int) -> [Doc] -> Doc+ppBody f dl = do+ e <- fmap layout getPPEnv+ case e of PPOffsideRule -> indent+ PPSemiColon -> indentExplicit+ _ -> flatBlock dl+ where+ indent = do{i <-fmap f getPPEnv;nest i . vcat $ dl}+ indentExplicit = do {i <- fmap f getPPEnv;+ nest i . prettyBlock $ dl}++-- | Indent without braces. Useful for deriving clauses etc.+ppIndent :: (PPHsMode -> Int) -> [Doc] -> Doc+ppIndent f dl = do+ i <- fmap f getPPEnv+ nest i . vcat $ dl++($$$) :: Doc -> Doc -> Doc+a $$$ b = layoutChoice (a $$) (a <+>) b++mySep :: [Doc] -> Doc+mySep = layoutChoice mySep' hsep+ where+ -- ensure paragraph fills with indentation.+ mySep' [x] = x+ mySep' (x:xs) = x <+> fsep xs+ mySep' [] = error "Internal error: mySep"++myVcat :: [Doc] -> Doc+myVcat = layoutChoice vcat hsep++myFsepSimple :: [Doc] -> Doc+myFsepSimple = layoutChoice fsep hsep++-- same, except that continuation lines are indented,+-- which is necessary to avoid triggering the offside rule.+myFsep :: [Doc] -> Doc+myFsep = layoutChoice fsep' hsep+ where fsep' [] = empty+ fsep' (d:ds) = do+ e <- getPPEnv+ let n = onsideIndent e+ nest n (fsep (nest (-n) d:ds))++layoutChoice :: (a -> Doc) -> (a -> Doc) -> a -> Doc+layoutChoice a b dl = do e <- getPPEnv+ if layout e == PPOffsideRule ||+ layout e == PPSemiColon+ then a dl else b dl++--------------------------------------------------------------------------------+-- Pretty-printing of internal constructs, for error messages while parsing++instance SrcInfo loc => Pretty (P.PExp loc) where+ pretty (P.Lit _ l) = pretty l+ pretty (P.InfixApp _ a op b) = myFsep [pretty a, pretty op, pretty b]+ pretty (P.NegApp _ e) = myFsep [char '-', pretty e]+ pretty (P.App _ a b) = myFsep [pretty a, pretty b]+ pretty (P.Lambda _loc expList ppBody') = myFsep $+ char '\\' : map pretty expList ++ [text "->", pretty ppBody']+ pretty (P.Let _ (BDecls _ declList) letBody) =+ ppLetExp declList letBody+ pretty (P.Let _ (IPBinds _ bindList) letBody) =+ ppLetExp bindList letBody+ pretty (P.If _ cond thenexp elsexp) =+ myFsep [text "if", pretty cond,+ text "then", pretty thenexp,+ text "else", pretty elsexp]+ pretty (P.MultiIf _ alts) =+ text "if"+ $$$ ppBody caseIndent (map pretty alts)+ pretty (P.Case _ cond altList) =+ myFsep [text "case", pretty cond, text "of"]+ $$$ ppBody caseIndent (map pretty altList)+ pretty (P.Do _ stmtList) =+ text "do" $$$ ppBody doIndent (map pretty stmtList)+ pretty (P.MDo _ stmtList) =+ text "mdo" $$$ ppBody doIndent (map pretty stmtList)+ pretty (P.Var _ name) = pretty name+ pretty (P.OverloadedLabel _ name) = text name+ pretty (P.IPVar _ ipname) = pretty ipname+ pretty (P.Con _ name) = pretty name+ pretty (P.TupleSection _ bxd mExpList) =+ let ds = map (maybePP pretty) mExpList+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ pretty (P.UnboxedSum _ before after exp) =+ printUnboxedSum before after exp+ pretty (P.Paren _ e) = parens . pretty $ e+ pretty (P.RecConstr _ c fieldList) =+ pretty c <> (braceList . map pretty $ fieldList)+ pretty (P.RecUpdate _ e fieldList) =+ pretty e <> (braceList . map pretty $ fieldList)+ pretty (P.List _ list) =+ bracketList . punctuate comma . map pretty $ list+ pretty (P.ParArray _ arr) =+ bracketColonList . punctuate comma . map pretty $ arr+ pretty (P.EnumFrom _ e) =+ bracketList [pretty e, text ".."]+ pretty (P.EnumFromTo _ from to) =+ bracketList [pretty from, text "..", pretty to]+ pretty (P.EnumFromThen _ from thenE) =+ bracketList [pretty from <> comma, pretty thenE, text ".."]+ pretty (P.EnumFromThenTo _ from thenE to) =+ bracketList [pretty from <> comma, pretty thenE,+ text "..", pretty to]+ pretty (P.ParArrayFromTo _ from to) =+ bracketColonList [pretty from, text "..", pretty to]+ pretty (P.ParArrayFromThenTo _ from thenE to) =+ bracketColonList [pretty from <> comma, pretty thenE,+ text "..", pretty to]+ pretty (P.ParComp _ e qualLists) =+ bracketList (intersperse (char '|') $+ pretty e : (punctuate comma . concatMap (map pretty) $ qualLists))+ pretty (P.ParArrayComp _ e qualArrs) =+ bracketColonList (intersperse (char '|') $+ pretty e : (punctuate comma . concatMap (map pretty) $ qualArrs))+ pretty (P.ExpTypeSig _pos e ty) =+ myFsep [pretty e, text "::", pretty ty]+ pretty (P.BracketExp _ b) = pretty b+ pretty (P.SpliceExp _ s) = pretty s+ pretty (P.TypQuote _ t) = text "\'\'" <> pretty t+ pretty (P.VarQuote _ x) = text "\'" <> pretty x+ pretty (P.QuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")+ pretty (P.XTag _ n attrs mattr cs) =+ let ax = maybe [] (return . pretty) mattr+ in hcat $+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+ map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]+ pretty (P.XETag _ n attrs mattr) =+ let ax = maybe [] (return . pretty) mattr+ in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]+ pretty (P.XPcdata _ s) = text s+ pretty (P.XExpTag _ e) =+ myFsep [text "<%", pretty e, text "%>"]+ pretty (P.XChildTag _ es) =+ myFsep $ text "<%>" : map pretty es ++ [text "</%>"]+ pretty (P.CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]+ pretty (P.SCCPragma _ s e) = myFsep $ map text ["{-# SCC", show s, "#-}"] ++ [pretty e]+ pretty (P.GenPragma _ s (a,b) (c,d) e) =+ myFsep [text "{-# GENERATED", text $ show s,+ int a, char ':', int b, char '-',+ int c, char ':', int d, text "#-}", pretty e]+ pretty (P.Proc _ p e) = myFsep [text "proc", pretty p, text "->", pretty e]+ pretty (P.LeftArrApp _ l r) = myFsep [pretty l, text "-<", pretty r]+ pretty (P.RightArrApp _ l r) = myFsep [pretty l, text ">-", pretty r]+ pretty (P.LeftArrHighApp _ l r) = myFsep [pretty l, text "-<<", pretty r]+ pretty (P.RightArrHighApp _ l r) = myFsep [pretty l, text ">>-", pretty r]+ pretty (P.ArrOp _ e) = myFsep [text "(|", pretty e, text "|)"]+ pretty (P.AsPat _ name (P.IrrPat _ pat)) =+ myFsep [pretty name <> char '@', char '~' <> pretty pat]+ pretty (P.AsPat _ name pat) =+ hcat [pretty name, char '@', pretty pat]+ pretty (P.WildCard _) = char '_'+ pretty (P.IrrPat _ pat) = char '~' <> pretty pat+ pretty (P.PostOp _ e op) = pretty e <+> pretty op+ pretty (P.PreOp _ op e) = pretty op <+> pretty e+ pretty (P.ViewPat _ e p) =+ myFsep [pretty e, text "->", pretty p]+ pretty (P.SeqRP _ rs) =+ myFsep $ text "(|" : (punctuate comma . map pretty $ rs) ++ [text "|)"]+ pretty (P.GuardRP _ r gs) =+ myFsep $ text "(|" : pretty r : char '|' :+ (punctuate comma . map pretty $ gs) ++ [text "|)"]+ pretty (P.EitherRP _ r1 r2) = parens . myFsep $ [pretty r1, char '|', pretty r2]+ pretty (P.CAsRP _ n (P.IrrPat _ e)) =+ myFsep [pretty n <> text "@:", char '~' <> pretty e]+ pretty (P.CAsRP _ n r) = hcat [pretty n, text "@:", pretty r]+ pretty (P.XRPats _ ps) =+ myFsep $ text "<[" : map pretty ps ++ [text "%>"]+ pretty (P.BangPat _ e) = text "!" <> pretty e+ pretty (P.LCase _ altList) = text "\\case" $$$ ppBody caseIndent (map pretty altList)+ pretty (P.TypeApp _ ty) = char '@' <> pretty ty++instance SrcInfo loc => Pretty (P.PFieldUpdate loc) where+ pretty (P.FieldUpdate _ name e) =+ myFsep [pretty name, equals, pretty e]+ pretty (P.FieldPun _ name) = pretty name+ pretty (P.FieldWildcard _) = text ".."++instance SrcInfo loc => Pretty (P.ParseXAttr loc) where+ pretty (P.XAttr _ n v) =+ myFsep [pretty n, char '=', pretty v]++instance SrcInfo loc => Pretty (P.PContext loc) where+ pretty (P.CxEmpty _) = mySep [text "()", text "=>"]+ pretty (P.CxSingle _ asst) = mySep [pretty asst, text "=>"]+ pretty (P.CxTuple _ assts) = myFsep [parenList (map pretty assts), text "=>"]++instance SrcInfo loc => Pretty (P.PAsst loc) where+ pretty (P.TypeA _ t) = pretty t+ pretty (P.IParam _ i t) = myFsep [pretty i, text "::", pretty t]+ pretty (P.ParenA _ a) = parens (pretty a)++instance SrcInfo loc => Pretty (P.PType loc) where+ prettyPrec p (P.TyForall _ mtvs ctxt htype) = parensIf (p > 0) $+ myFsep [ppForall mtvs, maybePP pretty ctxt, pretty htype]+ prettyPrec _ (P.TyStar _) = text "*"+ prettyPrec p (P.TyFun _ a b) = parensIf (p > 0) $+ myFsep [prettyPrec prec_btype a, text "->", pretty b]+ prettyPrec _ (P.TyTuple _ bxd l) =+ let ds = map pretty l+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ prettyPrec _ (P.TyUnboxedSum _ es) =+ unboxedSumType (map pretty es)+ prettyPrec _ (P.TyList _ t) = brackets $ pretty t+ prettyPrec _ (P.TyParArray _ t) = bracketColonList [pretty t]+ prettyPrec p (P.TyApp _ a b) =+ {-+ | a == list_tycon = brackets $ pretty b -- special case+ | otherwise = -} parensIf (p > prec_btype) $+ myFsep [pretty a, prettyPrec prec_atype b]+ prettyPrec _ (P.TyVar _ name) = pretty name+ prettyPrec _ (P.TyCon _ name) = pretty name+ prettyPrec _ (P.TyParen _ t) = parens (pretty t)+ prettyPrec _ (P.TyPred _ asst) = pretty asst+ prettyPrec _ (P.TyInfix _ a op b) = myFsep [pretty a, pretty op, pretty b]+ prettyPrec _ (P.TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])+ prettyPrec _ (P.TyPromoted _ p) = pretty p+ prettyPrec _ (P.TyEquals _ a b) = myFsep [pretty a, text "~", pretty b]+ prettyPrec _ (P.TySplice _ s) = pretty s+ prettyPrec _ (P.TyBang _ b u t) = pretty u <+> pretty b <> prettyPrec prec_atype t+ prettyPrec _ (P.TyWildCard _ mn) = char '_' <> maybePP pretty mn+ prettyPrec _ (P.TyQuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")
src/Language/Haskell/Exts/SrcLoc.hs view
@@ -18,14 +18,23 @@ import Data.Data import GHC.Generics (Generic) +showInt :: Int -> String+showInt i | i < 0 = "(" ++ show i ++ ")"+showInt i = show i+ -- | A single position in the source. data SrcLoc = SrcLoc { srcFilename :: String , srcLine :: Int , srcColumn :: Int }- deriving (Eq,Ord,Show,Typeable,Data,Generic)+ deriving (Eq,Ord,Typeable,Data,Generic) +instance Show SrcLoc where+ showsPrec n (SrcLoc fn sl sc) =+ showParen (n >= 11) $+ showString $ "SrcLoc " ++ show fn ++ " " ++ unwords (map showInt [sl,sc])+ noLoc :: SrcLoc noLoc = SrcLoc "" (-1) (-1) @@ -37,9 +46,14 @@ , srcSpanEndLine :: Int , srcSpanEndColumn :: Int }- deriving (Eq,Ord,Show,Typeable,Data)+ deriving (Eq,Ord,Typeable,Data,Generic) +instance Show SrcSpan where+ showsPrec n (SrcSpan fn sl sc el ec) =+ showParen (n >= 11) $+ showString $ "SrcSpan " ++ show fn ++ " " ++ unwords (map showInt [sl,sc,el,ec]) + -- | Returns 'srcSpanStartLine' and 'srcSpanStartColumn' in a pair. srcSpanStart :: SrcSpan -> (Int,Int) srcSpanStart x = (srcSpanStartLine x, srcSpanStartColumn x)@@ -57,7 +71,7 @@ -- to the end of the second. Assumes that the two spans relate to the -- same source file. mergeSrcSpan :: SrcSpan -> SrcSpan -> SrcSpan-mergeSrcSpan (SrcSpan fn sl1 sc1 el1 ec1) (SrcSpan _ sl2 sc2 el2 ec2) = +mergeSrcSpan (SrcSpan fn sl1 sc1 el1 ec1) (SrcSpan _ sl2 sc2 el2 ec2) = let (sl,sc) = min (sl1,sc1) (sl2,sc2) (el,ec) = max (el1,ec1) (el2,ec2) in SrcSpan fn sl sc el ec@@ -77,7 +91,7 @@ { loc :: SrcSpan , unLoc :: a }- deriving (Eq,Ord,Show)+ deriving (Eq,Ord,Show,Generic) -- | A portion of the source, extended with information on the position of entities within the span.@@ -86,12 +100,22 @@ -- , explLayout :: Bool , srcInfoPoints :: [SrcSpan] -- Marks the location of specific entities inside the span }- deriving (Eq,Ord,Show,Typeable,Data)+ deriving (Eq,Ord,Typeable,Data,Generic) +-- Identical output to the derived show instance for GHC 7.10 and earlier.+instance Show SrcSpanInfo where+ showsPrec n (SrcSpanInfo s pts) = showParen (n >= 11) . showString $+ "SrcSpanInfo {srcInfoSpan = " ++ show s ++ ", srcInfoPoints = " ++ show pts ++ "}"+ -- | Generate a 'SrcSpanInfo' with no positional information for entities. noInfoSpan :: SrcSpan -> SrcSpanInfo noInfoSpan ss = SrcSpanInfo ss [] +-- | A bogus `SrcSpanInfo`, the location is @noLoc@.+-- `noSrcSpan = noInfoSpan (mkSrcSpan noLoc noLoc)`+noSrcSpan :: SrcSpanInfo+noSrcSpan = noInfoSpan (mkSrcSpan noLoc noLoc)+ -- | Generate a 'SrcSpanInfo' with the supplied positional information for entities. infoSpan :: SrcSpan -> [SrcSpan] -> SrcSpanInfo infoSpan = SrcSpanInfo@@ -103,6 +127,13 @@ (mergeSrcSpan (srcInfoSpan s1) (srcInfoSpan s2)) [] +-- | Like '(<+?>)', but it also concatenates the 'srcInfoPoints'.+combSpanMaybe :: SrcSpanInfo -> Maybe SrcSpanInfo -> SrcSpanInfo+combSpanMaybe s1 Nothing = s1+combSpanMaybe s1 (Just s2) = SrcSpanInfo+ (mergeSrcSpan (srcInfoSpan s1) (srcInfoSpan s2))+ (srcInfoPoints s1 ++ srcInfoPoints s2)+ -- | Short name for 'combSpanInfo' (<++>) :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo (<++>) = combSpanInfo@@ -110,12 +141,12 @@ -- | Optionally combine the first argument with the second, -- or return it unchanged if the second argument is 'Nothing'. (<+?>) :: SrcSpanInfo -> Maybe SrcSpanInfo -> SrcSpanInfo-a <+?> b = case b of {Nothing -> a; Just b -> a <++> b}+a <+?> b = case b of {Nothing -> a; Just b' -> a <++> b'} -- | Optionally combine the second argument with the first, -- or return it unchanged if the first argument is 'Nothing'. (<?+>) :: Maybe SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo-a <?+> b = case a of {Nothing -> b; Just a -> a <++> b}+a <?+> b = case a of {Nothing -> b; Just a' -> a' <++> b} -- | Add more positional information for entities of a span. (<**) :: SrcSpanInfo -> [SrcSpan] -> SrcSpanInfo
src/Language/Haskell/Exts/Syntax.hs view
@@ -1,806 +1,1952 @@-{-# LANGUAGE DeriveDataTypeable, DeriveGeneric #-}--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Syntax--- Copyright : (c) Niklas Broberg 2004-2009,--- (c) The GHC Team, 1997-2000--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ A suite of datatypes describing the abstract syntax of Haskell 98--- <http://www.haskell.org/onlinereport/> plus registered extensions, including:------ * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)------ * parameters of type class assertions are unrestricted (FlexibleContexts)------ * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)------ * pattern guards (PatternGuards)------ * implicit parameters (ImplicitParameters)------ * generalised algebraic data types (GADTs)------ * template haskell (TemplateHaskell)------ * empty data type declarations (EmptyDataDecls)------ * unboxed tuples (UnboxedTuples)------ * regular patterns (RegularPatterns)------ * HSP-style XML expressions and patterns (XmlSyntax)-----------------------------------------------------------------------------------module Language.Haskell.Exts.Syntax (- -- * Modules- Module(..), WarningText(..), ExportSpec(..),- ImportDecl(..), ImportSpec(..), Assoc(..),- -- * Declarations- Decl(..), Binds(..), IPBind(..),- -- ** Type classes and instances- ClassDecl(..), InstDecl(..), Deriving,- -- ** Data type declarations- DataOrNew(..), ConDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),- -- ** Function bindings- Match(..), Rhs(..), GuardedRhs(..),- -- * Class Assertions and Contexts- Context, FunDep(..), Asst(..),- -- * Types- Type(..), Boxed(..), Kind(..), TyVarBind(..), Promoted(..),- -- * Expressions- Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),- Alt(..), GuardedAlts(..), GuardedAlt(..), XAttr(..), IfAlt(..),- -- * Patterns- Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),- -- * Literals- Literal(..),- -- * Variables, Constructors and Operators- ModuleName(..), QName(..), Name(..), QOp(..), Op(..),- SpecialCon(..), CName(..), IPName(..), XName(..),-- -- * Template Haskell- Bracket(..), Splice(..),-- -- * FFI- Safety(..), CallConv(..),-- -- * Pragmas- ModulePragma(..), Tool(..),- Rule(..), RuleVar(..), Activation(..),- Annotation(..),-- -- * Builtin names-- -- ** Modules- prelude_mod, main_mod,- -- ** Main function of a program- main_name,- -- ** Constructors- unit_con_name, tuple_con_name, list_cons_name, unboxed_singleton_con_name,- unit_con, tuple_con, unboxed_singleton_con,- -- ** Special identifiers- as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name,- export_name, safe_name, unsafe_name, threadsafe_name,- stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name,- forall_name, family_name,- -- ** Type constructors- unit_tycon_name, fun_tycon_name, list_tycon_name, tuple_tycon_name, unboxed_singleton_tycon_name,- unit_tycon, fun_tycon, list_tycon, tuple_tycon, unboxed_singleton_tycon,-- -- * Source coordinates- SrcLoc(..),- ) where---import Data.Data-import GHC.Generics (Generic)-import Language.Haskell.Exts.SrcLoc (SrcLoc(..))-import Language.Haskell.Exts.Annotated.Syntax (Boxed(..), Tool(..))----- | The name of a Haskell module.-newtype ModuleName = ModuleName String- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Constructors with special syntax.--- These names are never qualified, and always refer to builtin type or--- data constructors.-data SpecialCon- = UnitCon -- ^ unit type and data constructor @()@- | ListCon -- ^ list type constructor @[]@- | FunCon -- ^ function type constructor @->@- | TupleCon Boxed Int -- ^ /n/-ary tuple type and data- -- constructors @(,)@ etc, possibly boxed @(\#,\#)@- | Cons -- ^ list data constructor @(:)@- | UnboxedSingleCon -- ^ unboxed singleton tuple constructor @(\# \#)@- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | This type is used to represent qualified variables, and also--- qualified constructors.-data QName- = Qual ModuleName Name -- ^ name qualified with a module name- | UnQual Name -- ^ unqualified local name- | Special SpecialCon -- ^ built-in constructor with special syntax- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | This type is used to represent variables, and also constructors.-data Name- = Ident String -- ^ /varid/ or /conid/.- | Symbol String -- ^ /varsym/ or /consym/- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An implicit parameter name.-data IPName- = IPDup String -- ^ ?/ident/, non-linear implicit parameter- | IPLin String -- ^ %/ident/, linear implicit parameter- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Possibly qualified infix operators (/qop/), appearing in expressions.-data QOp- = QVarOp QName -- ^ variable operator (/qvarop/)- | QConOp QName -- ^ constructor operator (/qconop/)- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Operators appearing in @infix@ declarations are never qualified.-data Op- = VarOp Name -- ^ variable operator (/varop/)- | ConOp Name -- ^ constructor operator (/conop/)- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A name (/cname/) of a component of a class or data type in an @import@--- or export specification.-data CName- = VarName Name -- ^ name of a method or field- | ConName Name -- ^ name of a data constructor- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A complete Haskell source module.-data Module = Module SrcLoc ModuleName [ModulePragma] (Maybe WarningText)- (Maybe [ExportSpec]) [ImportDecl] [Decl]- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An item in a module's export specification.-data ExportSpec- = EVar QName -- ^ variable- | EAbs QName -- ^ @T@:- -- a class or datatype exported abstractly,- -- or a type synonym.- | EThingAll QName -- ^ @T(..)@:- -- a class exported with all of its methods, or- -- a datatype exported with all of its constructors.- | EThingWith QName [CName] -- ^ @T(C_1,...,C_n)@:- -- a class exported with some of its methods, or- -- a datatype exported with some of its constructors.- | EModuleContents ModuleName -- ^ @module M@:- -- re-export a module.- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An import declaration.-data ImportDecl = ImportDecl- { importLoc :: SrcLoc -- ^ position of the @import@ keyword.- , importModule :: ModuleName -- ^ name of the module imported.- , importQualified :: Bool -- ^ imported @qualified@?- , importSrc :: Bool -- ^ imported with @{-\# SOURCE \#-}@?- , importPkg :: Maybe String -- ^ imported with explicit package name- , importAs :: Maybe ModuleName -- ^ optional alias name in an @as@ clause.- , importSpecs :: Maybe (Bool,[ImportSpec])- -- ^ optional list of import specifications.- -- The 'Bool' is 'True' if the names are excluded- -- by @hiding@.- }- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An import specification, representing a single explicit item imported--- (or hidden) from a module.-data ImportSpec- = IVar Name -- ^ variable- | IAbs Name -- ^ @T@:- -- the name of a class, datatype or type synonym.- | IThingAll Name -- ^ @T(..)@:- -- a class imported with all of its methods, or- -- a datatype imported with all of its constructors.- | IThingWith Name [CName] -- ^ @T(C_1,...,C_n)@:- -- a class imported with some of its methods, or- -- a datatype imported with some of its constructors.- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Associativity of an operator.-data Assoc- = AssocNone -- ^ non-associative operator (declared with @infix@)- | AssocLeft -- ^ left-associative operator (declared with @infixl@).- | AssocRight -- ^ right-associative operator (declared with @infixr@)- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A single derived instance, which may have arguments since it may be a MPTC.-type Deriving = (QName, [Type])---- | A top-level declaration.-data Decl- = TypeDecl SrcLoc Name [TyVarBind] Type- -- ^ A type declaration- | TypeFamDecl SrcLoc Name [TyVarBind] (Maybe Kind)- -- ^ A type family declaration- | DataDecl SrcLoc DataOrNew Context Name [TyVarBind] [QualConDecl] [Deriving]- -- ^ A data OR newtype declaration- | GDataDecl SrcLoc DataOrNew Context Name [TyVarBind] (Maybe Kind) [GadtDecl] [Deriving]- -- ^ A data OR newtype declaration, GADT style- | DataFamDecl SrcLoc {-data-} Context Name [TyVarBind] (Maybe Kind)- -- ^ A data family declaration- | TypeInsDecl SrcLoc Type Type- -- ^ A type family instance declaration- | DataInsDecl SrcLoc DataOrNew Type [QualConDecl] [Deriving]- -- ^ A data family instance declaration- | GDataInsDecl SrcLoc DataOrNew Type (Maybe Kind) [GadtDecl] [Deriving]- -- ^ A data family instance declaration, GADT style- | ClassDecl SrcLoc Context Name [TyVarBind] [FunDep] [ClassDecl]- -- ^ A declaration of a type class- | InstDecl SrcLoc Context QName [Type] [InstDecl]- -- ^ An declaration of a type class instance- | DerivDecl SrcLoc Context QName [Type]- -- ^ A standalone deriving declaration- | InfixDecl SrcLoc Assoc Int [Op]- -- ^ A declaration of operator fixity- | DefaultDecl SrcLoc [Type]- -- ^ A declaration of default types- | SpliceDecl SrcLoc Exp- -- ^ A Template Haskell splicing declaration- | TypeSig SrcLoc [Name] Type- -- ^ A type signature declaration- | FunBind [Match]- -- ^ A set of function binding clauses- | PatBind SrcLoc Pat (Maybe Type) Rhs {-where-} Binds- -- ^ A pattern binding- | ForImp SrcLoc CallConv Safety String Name Type- -- ^ A foreign import declaration- | ForExp SrcLoc CallConv String Name Type- -- ^ A foreign export declaration-- | RulePragmaDecl SrcLoc [Rule]- -- ^ A RULES pragma- | DeprPragmaDecl SrcLoc [([Name], String)]- -- ^ A DEPRECATED pragma- | WarnPragmaDecl SrcLoc [([Name], String)]- -- ^ A WARNING pragma- | InlineSig SrcLoc Bool Activation QName- -- ^ An INLINE pragma- | InlineConlikeSig SrcLoc Activation QName- -- ^ An INLINE CONLIKE pragma- | SpecSig SrcLoc Activation QName [Type]- -- ^ A SPECIALISE pragma- | SpecInlineSig SrcLoc Bool Activation QName [Type]- -- ^ A SPECIALISE INLINE pragma- | InstSig SrcLoc Context QName [Type]- -- ^ A SPECIALISE instance pragma- | AnnPragma SrcLoc Annotation- -- ^ An ANN pragma- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An annotation through an ANN pragma.-data Annotation- = Ann Name Exp- -- ^ An annotation for a declared name.- | TypeAnn Name Exp- -- ^ An annotation for a declared type.- | ModuleAnn Exp- -- ^ An annotation for the defining module.- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A flag stating whether a declaration is a data or newtype declaration.-data DataOrNew = DataType | NewType- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A binding group inside a @let@ or @where@ clause.-data Binds- = BDecls [Decl] -- ^ An ordinary binding group- | IPBinds [IPBind] -- ^ A binding group for implicit parameters- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A binding of an implicit parameter.-data IPBind = IPBind SrcLoc IPName Exp- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Clauses of a function binding.-data Match- = Match SrcLoc Name [Pat] (Maybe Type) Rhs {-where-} Binds- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A single constructor declaration within a data type declaration,--- which may have an existential quantification binding.-data QualConDecl- = QualConDecl SrcLoc- {-forall-} [TyVarBind] {- . -} Context- {- => -} ConDecl- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Declaration of an ordinary data constructor.-data ConDecl- = ConDecl Name [BangType]- -- ^ ordinary data constructor- | InfixConDecl BangType Name BangType- -- ^ infix data constructor- | RecDecl Name [([Name],BangType)]- -- ^ record constructor- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A single constructor declaration in a GADT data type declaration.-data GadtDecl- = GadtDecl SrcLoc Name Type- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Declarations inside a class declaration.-data ClassDecl- = ClsDecl Decl- -- ^ ordinary declaration- | ClsDataFam SrcLoc Context Name [TyVarBind] (Maybe Kind)- -- ^ declaration of an associated data type- | ClsTyFam SrcLoc Name [TyVarBind] (Maybe Kind)- -- ^ declaration of an associated type synonym- | ClsTyDef SrcLoc Type Type- -- ^ default choice for an associated type synonym- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Declarations inside an instance declaration.-data InstDecl- = InsDecl Decl- -- ^ ordinary declaration- | InsType SrcLoc Type Type- -- ^ an associated type definition- | InsData SrcLoc DataOrNew Type [QualConDecl] [Deriving]- -- ^ an associated data type implementation- | InsGData SrcLoc DataOrNew Type (Maybe Kind) [GadtDecl] [Deriving]- -- ^ an associated data type implemented using GADT style- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The type of a constructor argument or field, optionally including--- a strictness annotation.-data BangType- = BangedTy Type -- ^ strict component, marked with \"@!@\"- | UnBangedTy Type -- ^ non-strict component- | UnpackedTy Type -- ^ unboxed component, marked with an UNPACK pragma- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The right hand side of a function or pattern binding.-data Rhs- = UnGuardedRhs Exp -- ^ unguarded right hand side (/exp/)- | GuardedRhss [GuardedRhs]- -- ^ guarded right hand side (/gdrhs/)- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A guarded right hand side @|@ /stmts/ @=@ /exp/.--- The guard is a series of statements when using pattern guards,--- otherwise it will be a single qualifier expression.-data GuardedRhs- = GuardedRhs SrcLoc [Stmt] Exp- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type qualified with a context.--- An unqualified type has an empty context.-data Type- = TyForall- (Maybe [TyVarBind])- Context- Type -- ^ qualified type- | TyFun Type Type -- ^ function type- | TyTuple Boxed [Type] -- ^ tuple type, possibly boxed- | TyList Type -- ^ list syntax, e.g. [a], as opposed to [] a- | TyApp Type Type -- ^ application of a type constructor- | TyVar Name -- ^ type variable- | TyCon QName -- ^ named type or type constructor- | TyParen Type -- ^ type surrounded by parentheses- | TyInfix Type QName Type -- ^ infix type constructor- | TyKind Type Kind -- ^ type with explicit kind signature- | TyPromoted Promoted -- ^ promoted data type (-XDataKinds)- deriving (Eq,Ord,Show,Typeable,Data)--data Promoted- = PromotedInteger Integer- | PromotedString String- | PromotedCon Bool QName- | PromotedList Bool [Promoted]- | PromotedTuple [Promoted]- | PromotedUnit- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type variable declaration, optionally with an explicit kind annotation.-data TyVarBind- = KindedVar Name Kind -- ^ variable binding with kind annotation- | UnkindedVar Name -- ^ ordinary variable binding- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An explicit kind annotation.-data Kind- = KindStar -- ^ @*@, the kind of types- | KindBang -- ^ @!@, the kind of unboxed types- | KindFn Kind Kind -- ^ @->@, the kind of a type constructor- | KindParen Kind -- ^ a kind surrounded by parentheses- | KindVar QName -- ^ a kind variable (as of yet unsupported by compilers)- | KindApp Kind Kind -- ^ @k1 k2@- | KindTuple [Kind] -- ^ @'(k1,k2,k3)@, a promoted tuple- | KindList [Kind] -- ^ @'[k1,k2,k3]@, a promoted list literal- deriving (Eq,Ord,Show,Typeable,Data,Generic)----- | A functional dependency, given on the form--- l1 l2 ... ln -> r2 r3 .. rn-data FunDep- = FunDep [Name] [Name]- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A context is a set of assertions-type Context = [Asst]---- | Class assertions.--- In Haskell 98, the argument would be a /tyvar/, but this definition--- allows multiple parameters, and allows them to be /type/s.--- Also extended with support for implicit parameters and equality constraints.-data Asst = ClassA QName [Type] -- ^ ordinary class assertion- | InfixA Type QName Type -- ^ class assertion where the class name is given infix- | IParam IPName Type -- ^ implicit parameter assertion- | EqualP Type Type -- ^ type equality constraint- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | /literal/--- Values of this type hold the abstract value of the literal, not the--- precise string representation used. For example, @10@, @0o12@ and @0xa@--- have the same representation.-data Literal- = Char Char -- ^ character literal- | String String -- ^ string literal- | Int Integer -- ^ integer literal- | Frac Rational -- ^ floating point literal- | PrimInt Integer -- ^ unboxed integer literal- | PrimWord Integer -- ^ unboxed word literal- | PrimFloat Rational -- ^ unboxed float literal- | PrimDouble Rational -- ^ unboxed double literal- | PrimChar Char -- ^ unboxed character literal- | PrimString String -- ^ unboxed string literal- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Haskell expressions.-data Exp- = Var QName -- ^ variable- | IPVar IPName -- ^ implicit parameter variable- | Con QName -- ^ data constructor- | Lit Literal -- ^ literal constant- | InfixApp Exp QOp Exp -- ^ infix application- | App Exp Exp -- ^ ordinary application- | NegApp Exp -- ^ negation expression @-/exp/@ (unary minus)- | Lambda SrcLoc [Pat] Exp -- ^ lambda expression- | Let Binds Exp -- ^ local declarations with @let@ ... @in@ ...- | If Exp Exp Exp -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/- | MultiIf [IfAlt] -- ^ @if@ @|@ /exp/ @->@ /exp/ ...- | Case Exp [Alt] -- ^ @case@ /exp/ @of@ /alts/- | Do [Stmt] -- ^ @do@-expression:- -- the last statement in the list- -- should be an expression.- | MDo [Stmt] -- ^ @mdo@-expression- | Tuple Boxed [Exp] -- ^ tuple expression- | TupleSection Boxed [Maybe Exp] -- ^ tuple section expression, e.g. @(,,3)@- | List [Exp] -- ^ list expression- | Paren Exp -- ^ parenthesised expression- | LeftSection Exp QOp -- ^ left section @(@/exp/ /qop/@)@- | RightSection QOp Exp -- ^ right section @(@/qop/ /exp/@)@- | RecConstr QName [FieldUpdate]- -- ^ record construction expression- | RecUpdate Exp [FieldUpdate]- -- ^ record update expression- | EnumFrom Exp -- ^ unbounded arithmetic sequence,- -- incrementing by 1: @[from ..]@- | EnumFromTo Exp Exp -- ^ bounded arithmetic sequence,- -- incrementing by 1 @[from .. to]@- | EnumFromThen Exp Exp -- ^ unbounded arithmetic sequence,- -- with first two elements given @[from, then ..]@- | EnumFromThenTo Exp Exp Exp- -- ^ bounded arithmetic sequence,- -- with first two elements given @[from, then .. to]@- | ListComp Exp [QualStmt] -- ^ ordinary list comprehension- | ParComp Exp [[QualStmt]] -- ^ parallel list comprehension- | ExpTypeSig SrcLoc Exp Type -- ^ expression with explicit type signature-- | VarQuote QName -- ^ @'x@ for template haskell reifying of expressions- | TypQuote QName -- ^ @''T@ for template haskell reifying of types- | BracketExp Bracket -- ^ template haskell bracket expression- | SpliceExp Splice -- ^ template haskell splice expression- | QuasiQuote String String -- ^ quasi-quotaion: @[$/name/| /string/ |]@---- Hsx- | XTag SrcLoc XName [XAttr] (Maybe Exp) [Exp]- -- ^ xml element, with attributes and children- | XETag SrcLoc XName [XAttr] (Maybe Exp)- -- ^ empty xml element, with attributes- | XPcdata String -- ^ PCDATA child element- | XExpTag Exp -- ^ escaped haskell expression inside xml- | XChildTag SrcLoc [Exp] -- ^ children of an xml element---- Pragmas- | CorePragma String Exp -- ^ CORE pragma- | SCCPragma String Exp -- ^ SCC pragma- | GenPragma String (Int, Int) (Int, Int) Exp- -- ^ GENERATED pragma---- Arrows- | Proc SrcLoc Pat Exp -- ^ arrows proc: @proc@ /pat/ @->@ /exp/- | LeftArrApp Exp Exp -- ^ arrow application (from left): /exp/ @-<@ /exp/- | RightArrApp Exp Exp -- ^ arrow application (from right): /exp/ @>-@ /exp/- | LeftArrHighApp Exp Exp -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/- | RightArrHighApp Exp Exp -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/---- LambdaCase- | LCase [Alt] -- ^ @\case@ /alts/- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The name of an xml element or attribute,--- possibly qualified with a namespace.-data XName- = XName String -- <name ...- | XDomName String String -- <dom:name ...- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An xml attribute, which is a name-expression pair.-data XAttr = XAttr XName Exp- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A template haskell bracket expression.-data Bracket- = ExpBracket Exp -- ^ expression bracket: @[| ... |]@- | PatBracket Pat -- ^ pattern bracket: @[p| ... |]@- | TypeBracket Type -- ^ type bracket: @[t| ... |]@- | DeclBracket [Decl] -- ^ declaration bracket: @[d| ... |]@- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A template haskell splice expression-data Splice- = IdSplice String -- ^ variable splice: @$var@- | ParenSplice Exp -- ^ parenthesised expression splice: @$(/exp/)@- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The safety of a foreign function call.-data Safety- = PlayRisky -- ^ unsafe- | PlaySafe Bool -- ^ safe ('False') or threadsafe ('True')- | PlayInterruptible -- ^ interruptible- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The calling convention of a foreign function call.-data CallConv- = StdCall- | CCall- | CPlusPlus- | DotNet- | Jvm- | Js- | CApi- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A top level options pragma, preceding the module header.-data ModulePragma- = LanguagePragma SrcLoc [Name] -- ^ LANGUAGE pragma- | OptionsPragma SrcLoc (Maybe Tool) String- -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC- | AnnModulePragma SrcLoc Annotation- -- ^ ANN pragma with module scope- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Activation clause of a RULES pragma.-data Activation- = AlwaysActive- | ActiveFrom Int- | ActiveUntil Int- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The body of a RULES pragma.-data Rule- = Rule String Activation (Maybe [RuleVar]) Exp Exp- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Variables used in a RULES pragma, optionally annotated with types-data RuleVar- = RuleVar Name- | TypedRuleVar Name Type- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Warning text to optionally use in the module header of e.g.--- a deprecated module.-data WarningText- = DeprText String- | WarnText String- deriving (Eq,Ord,Show,Typeable,Data,Generic)----- | A pattern, to be matched against a value.-data Pat- = PVar Name -- ^ variable- | PLit Literal -- ^ literal constant- | PNeg Pat -- ^ negated pattern- | PNPlusK Name Integer -- ^ n+k pattern- | PInfixApp Pat QName Pat -- ^ pattern with an infix data constructor- | PApp QName [Pat] -- ^ data constructor and argument patterns- | PTuple Boxed [Pat] -- ^ tuple pattern- | PList [Pat] -- ^ list pattern- | PParen Pat -- ^ parenthesized pattern- | PRec QName [PatField] -- ^ labelled pattern, record style- | PAsPat Name Pat -- ^ @\@@-pattern- | PWildCard -- ^ wildcard pattern: @_@- | PIrrPat Pat -- ^ irrefutable pattern: @~/pat/@- | PatTypeSig SrcLoc Pat Type -- ^ pattern with type signature- | PViewPat Exp Pat -- ^ view patterns of the form @(/exp/ -> /pat/)@- | PRPat [RPat] -- ^ regular list pattern- | PXTag SrcLoc XName [PXAttr] (Maybe Pat) [Pat]- -- ^ XML element pattern- | PXETag SrcLoc XName [PXAttr] (Maybe Pat)- -- ^ XML singleton element pattern- | PXPcdata String -- ^ XML PCDATA pattern- | PXPatTag Pat -- ^ XML embedded pattern- | PXRPats [RPat] -- ^ XML regular list pattern- | PQuasiQuote String String -- ^ quasi quote patter: @[$/name/| /string/ |]@- | PBangPat Pat -- ^ strict (bang) pattern: @f !x = ...@- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An XML attribute in a pattern.-data PXAttr = PXAttr XName Pat- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A regular pattern operator.-data RPatOp- = RPStar -- ^ @*@ = 0 or more- | RPStarG -- ^ @*!@ = 0 or more, greedy- | RPPlus -- ^ @+@ = 1 or more- | RPPlusG -- ^ @+!@ = 1 or more, greedy- | RPOpt -- ^ @?@ = 0 or 1- | RPOptG -- ^ @?!@ = 0 or 1, greedy- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An entity in a regular pattern.-data RPat- = RPOp RPat RPatOp -- ^ operator pattern, e.g. pat*- | RPEither RPat RPat -- ^ choice pattern, e.g. (1 | 2)- | RPSeq [RPat] -- ^ sequence pattern, e.g. (| 1, 2, 3 |)- | RPGuard Pat [Stmt] -- ^ guarded pattern, e.g. (| p | p < 3 |)- | RPCAs Name RPat -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*- | RPAs Name RPat -- ^ linear variable binding, e.g. foo\@(1 | 2)- | RPParen RPat -- ^ parenthesised pattern, e.g. (2*)- | RPPat Pat -- ^ an ordinary pattern- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An /fpat/ in a labeled record pattern.-data PatField- = PFieldPat QName Pat -- ^ ordinary label-pattern pair- | PFieldPun Name -- ^ record field pun- | PFieldWildcard -- ^ record field wildcard- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A statement, representing both a /stmt/ in a @do@-expression,--- an ordinary /qual/ in a list comprehension, as well as a /stmt/--- in a pattern guard.-data Stmt- = Generator SrcLoc Pat Exp- -- ^ a generator: /pat/ @<-@ /exp/- | Qualifier Exp -- ^ an /exp/ by itself: in a @do@-expression,- -- an action whose result is discarded;- -- in a list comprehension and pattern guard,- -- a guard expression- | LetStmt Binds -- ^ local bindings- | RecStmt [Stmt] -- ^ a recursive binding group for arrows- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A general /transqual/ in a list comprehension,--- which could potentially be a transform of the kind--- enabled by TransformListComp.-data QualStmt- = QualStmt Stmt -- ^ an ordinary statement- | ThenTrans Exp -- ^ @then@ /exp/- | ThenBy Exp Exp -- ^ @then@ /exp/ @by@ /exp/- | GroupBy Exp -- ^ @then@ @group@ @by@ /exp/- | GroupUsing Exp -- ^ @then@ @group@ @using@ /exp/- | GroupByUsing Exp Exp -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An /fbind/ in a labeled construction or update expression.-data FieldUpdate- = FieldUpdate QName Exp -- ^ ordinary label-expresion pair- | FieldPun Name -- ^ record field pun- | FieldWildcard -- ^ record field wildcard- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An /alt/ alternative in a @case@ expression.-data Alt- = Alt SrcLoc Pat GuardedAlts Binds- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The right-hand sides of a @case@ alternative,--- which may be a single right-hand side or a--- set of guarded ones.-data GuardedAlts- = UnGuardedAlt Exp -- ^ @->@ /exp/- | GuardedAlts [GuardedAlt] -- ^ /gdpat/- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A guarded case alternative @|@ /stmts/ @->@ /exp/.-data GuardedAlt- = GuardedAlt SrcLoc [Stmt] Exp- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An alternative in a multiway @if@ expression.-data IfAlt- = IfAlt Exp Exp- deriving (Eq,Ord,Show,Typeable,Data)---------------------------------------------------------------------------------- Builtin names.--prelude_mod, main_mod :: ModuleName-prelude_mod = ModuleName "Prelude"-main_mod = ModuleName "Main"--main_name :: Name-main_name = Ident "main"--unit_con_name :: QName-unit_con_name = Special UnitCon--tuple_con_name :: Boxed -> Int -> QName-tuple_con_name b i = Special (TupleCon b (i+1))--list_cons_name :: QName-list_cons_name = Special Cons--unboxed_singleton_con_name :: QName-unboxed_singleton_con_name = Special UnboxedSingleCon--unit_con :: Exp-unit_con = Con unit_con_name--tuple_con :: Boxed -> Int -> Exp-tuple_con b i = Con (tuple_con_name b i)--unboxed_singleton_con :: Exp-unboxed_singleton_con = Con (unboxed_singleton_con_name)--as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: Name-as_name = Ident "as"-qualified_name = Ident "qualified"-hiding_name = Ident "hiding"-minus_name = Symbol "-"-bang_name = Symbol "!"-dot_name = Symbol "."-star_name = Symbol "*"--export_name, safe_name, unsafe_name, threadsafe_name,- stdcall_name, ccall_name, cplusplus_name, dotnet_name,- jvm_name, js_name, forall_name, family_name :: Name-export_name = Ident "export"-safe_name = Ident "safe"-unsafe_name = Ident "unsafe"-threadsafe_name = Ident "threadsafe"-stdcall_name = Ident "stdcall"-ccall_name = Ident "ccall"-cplusplus_name = Ident "cplusplus"-dotnet_name = Ident "dotnet"-jvm_name = Ident "jvm"-js_name = Ident "js"-forall_name = Ident "forall"-family_name = Ident "family"--unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: QName-unit_tycon_name = unit_con_name-fun_tycon_name = Special FunCon-list_tycon_name = Special ListCon-unboxed_singleton_tycon_name = Special UnboxedSingleCon--tuple_tycon_name :: Boxed -> Int -> QName-tuple_tycon_name b i = tuple_con_name b i--unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: Type-unit_tycon = TyCon unit_tycon_name-fun_tycon = TyCon fun_tycon_name-list_tycon = TyCon list_tycon_name-unboxed_singleton_tycon = TyCon unboxed_singleton_tycon_name--tuple_tycon :: Boxed -> Int -> Type-tuple_tycon b i = TyCon (tuple_tycon_name b i)+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveTraversable #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE CPP #-}++-----------------------------------------------------------------------------+-- |+-- Module : Language.Haskell.Exts.Syntax+-- Copyright : (c) Niklas Broberg 2004-2009,+-- (c) The GHC Team, 1997-2000+-- License : BSD-style (see the file LICENSE.txt)+--+-- Maintainer : Niklas Broberg, d00nibro@chalmers.se+-- Stability : stable+-- Portability : portable+--+-- A suite of datatypes describing the (semi-concrete) abstract syntax of Haskell 98+-- <http://www.haskell.org/onlinereport/> plus registered extensions, including:+--+-- * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)+--+-- * parameters of type class assertions are unrestricted (FlexibleContexts)+--+-- * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)+--+-- * pattern guards (PatternGuards)+--+-- * implicit parameters (ImplicitParameters)+--+-- * generalised algebraic data types (GADTs)+--+-- * template haskell (TemplateHaskell)+--+-- * empty data type declarations (EmptyDataDecls)+--+-- * unboxed tuples (UnboxedTuples)+--+-- * regular patterns (RegularPatterns)+--+-- * HSP-style XML expressions and patterns (XmlSyntax)+--+-- All nodes in the syntax tree are annotated with something of a user-definable data type.+-- When parsing, this annotation will contain information about the source location that the+-- particular node comes from.+--+-----------------------------------------------------------------------------++module Language.Haskell.Exts.Syntax (+ -- * Modules+ Module(..), ModuleHead(..), WarningText(..), ExportSpecList(..), ExportSpec(..),+ EWildcard(..),+ ImportDecl(..), ImportSpecList(..), ImportSpec(..), Assoc(..), Namespace(..),+ -- * Declarations+ Decl(..), DeclHead(..), InstRule(..), InstHead(..), Binds(..), IPBind(..), PatternSynDirection(..),+ InjectivityInfo(..), ResultSig(..),+ -- ** Type classes and instances+ ClassDecl(..), InstDecl(..), Deriving(..), DerivStrategy(..),+ -- ** Data type declarations+ DataOrNew(..), ConDecl(..), FieldDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),+ Unpackedness(..),+ -- ** Function bindings+ Match(..), Rhs(..), GuardedRhs(..),+ -- * Class Assertions and Contexts+ Context(..), FunDep(..), Asst(..),+ -- * Types+ Type(..), Boxed(..), Kind, TyVarBind(..), Promoted(..),+ TypeEqn (..),+ -- * Expressions+ Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),+ Alt(..), XAttr(..),+ -- * Patterns+ Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),+ -- * Literals+ Literal(..), Sign(..),+ -- * Variables, Constructors and Operators+ ModuleName(..), QName(..), Name(..), QOp(..), Op(..),+ SpecialCon(..), CName(..), IPName(..), XName(..), Role(..),+ MaybePromotedName(..),++ -- * Template Haskell+ Bracket(..), Splice(..),++ -- * FFI+ Safety(..), CallConv(..),++ -- * Pragmas+ ModulePragma(..), Tool(..), Overlap(..),+ Rule(..), RuleVar(..), Activation(..),+ Annotation(..), BooleanFormula(..),++ -- * Builtin names++ -- ** Modules+ prelude_mod, main_mod,+ -- ** Main function of a program+ main_name,+ -- ** Constructors+ unit_con_name, tuple_con_name, list_con_name, list_cons_name, unboxed_singleton_con_name,+ unit_con, tuple_con, unboxed_singleton_con,+ -- ** Special identifiers+ as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name,+ export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,+ stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name,+ javascript_name, capi_name, forall_name, family_name, role_name, hole_name,+ stock_name, anyclass_name, via_name,+ -- ** Type constructors+ unit_tycon_name, fun_tycon_name, list_tycon_name, tuple_tycon_name, unboxed_singleton_tycon_name,+ unit_tycon, fun_tycon, list_tycon, tuple_tycon, unboxed_singleton_tycon,++ -- * Source coordinates+ -- SrcLoc(..),++ -- * Annotated trees+ Annotated(..), (=~=),+ ) where++import Prelude hiding (id)++import Data.Data+import GHC.Generics (Generic)+#if __GLASGOW_HASKELL__ < 710+import Data.Foldable (Foldable)+import Data.Traversable (Traversable)+#endif++-- | The name of a Haskell module.+data ModuleName l = ModuleName l String+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Constructors with special syntax.+-- These names are never qualified, and always refer to builtin type or+-- data constructors.+data SpecialCon l+ = UnitCon l -- ^ unit type and data constructor @()@+ | ListCon l -- ^ list type and data constructor @[]@+ | FunCon l -- ^ function type constructor @->@+ | TupleCon l Boxed Int -- ^ /n/-ary tuple type and data+ -- constructors @(,)@ etc, possibly boxed @(\#,\#)@+ | Cons l -- ^ list data constructor @(:)@+ | UnboxedSingleCon l -- ^ unboxed singleton tuple constructor @(\# \#)@+ | ExprHole l -- ^ An expression hole _+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | This type is used to represent qualified variables, and also+-- qualified constructors.+data QName l+ = Qual l (ModuleName l) (Name l) -- ^ name qualified with a module name+ | UnQual l (Name l) -- ^ unqualified local name+ | Special l (SpecialCon l) -- ^ built-in constructor with special syntax+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | This type is used to represent variables, and also constructors.+data Name l+ = Ident l String -- ^ /varid/ or /conid/.+ | Symbol l String -- ^ /varsym/ or /consym/+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An implicit parameter name.+data IPName l+ = IPDup l String -- ^ ?/ident/, non-linear implicit parameter+ | IPLin l String -- ^ %/ident/, linear implicit parameter+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Possibly qualified infix operators (/qop/), appearing in expressions.+data QOp l+ = QVarOp l (QName l) -- ^ variable operator (/qvarop/)+ | QConOp l (QName l) -- ^ constructor operator (/qconop/)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Operators appearing in @infix@ declarations are never qualified.+data Op l+ = VarOp l (Name l) -- ^ variable operator (/varop/)+ | ConOp l (Name l) -- ^ constructor operator (/conop/)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A name (/cname/) of a component of a class or data type in an @import@+-- or export specification.+data CName l+ = VarName l (Name l) -- ^ name of a method or field+ | ConName l (Name l) -- ^ name of a data constructor+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A complete Haskell source module.+data Module l+ = Module l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]+ -- ^ an ordinary Haskell module+ | XmlPage l (ModuleName l) [ModulePragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]+ -- ^ a module consisting of a single XML document. The ModuleName never appears in the source+ -- but is needed for semantic purposes, it will be the same as the file name.+ | XmlHybrid l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]+ (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]+ -- ^ a hybrid module combining an XML document with an ordinary module+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The head of a module, including the name and export specification.+data ModuleHead l = ModuleHead l (ModuleName l) (Maybe (WarningText l)) (Maybe (ExportSpecList l))+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An explicit export specification.+data ExportSpecList l+ = ExportSpecList l [ExportSpec l]+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An item in a module's export specification.+data ExportSpec l+ = EVar l (QName l) -- ^ variable.+ | EAbs l (Namespace l) (QName l) -- ^ @T@:+ -- a class or datatype exported abstractly,+ -- or a type synonym.+ | EThingWith l (EWildcard l) (QName l) [CName l] -- ^ @T(C_1,...,C_n)@:+ -- a class exported with some of its methods, or+ -- a datatype exported with some of its constructors.+ | EModuleContents l (ModuleName l) -- ^ @module M@:+ -- re-export a module.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Indicates the position of the wildcard in an export list+data EWildcard l = NoWildcard l | EWildcard l Int+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Namespaces for imports/exports.+data Namespace l = NoNamespace l | TypeNamespace l | PatternNamespace l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An import declaration.+data ImportDecl l = ImportDecl+ { importAnn :: l -- ^ annotation, used by parser for position of the @import@ keyword.+ , importModule :: ModuleName l -- ^ name of the module imported.+ , importQualified :: Bool -- ^ imported @qualified@?+ , importSrc :: Bool -- ^ imported with @{-\# SOURCE \#-}@?+ , importSafe :: Bool -- ^ Import @safe@?+ , importPkg :: Maybe String -- ^ imported with explicit package name+ , importAs :: Maybe (ModuleName l) -- ^ optional alias name in an @as@ clause.+ , importSpecs :: Maybe (ImportSpecList l)+ -- ^ optional list of import specifications.+ }+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An explicit import specification list.+data ImportSpecList l+ = ImportSpecList l Bool [ImportSpec l]+ -- ^ A list of import specifications.+ -- The 'Bool' is 'True' if the names are excluded+ -- by @hiding@.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An import specification, representing a single explicit item imported+-- (or hidden) from a module.+data ImportSpec l+ = IVar l (Name l) -- ^ variable+ | IAbs l (Namespace l) (Name l) -- ^ @T@:+ -- the name of a class, datatype or type synonym.+ | IThingAll l (Name l) -- ^ @T(..)@:+ -- a class imported with all of its methods, or+ -- a datatype imported with all of its constructors.+ | IThingWith l (Name l) [CName l] -- ^ @T(C_1,...,C_n)@:+ -- a class imported with some of its methods, or+ -- a datatype imported with some of its constructors.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Associativity of an operator.+data Assoc l+ = AssocNone l -- ^ non-associative operator (declared with @infix@)+ | AssocLeft l -- ^ left-associative operator (declared with @infixl@).+ | AssocRight l -- ^ right-associative operator (declared with @infixr@)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A top-level declaration.+data Decl l+ = TypeDecl l (DeclHead l) (Type l)+ -- ^ A type declaration+ | TypeFamDecl l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l))+ -- ^ A type family declaration+ | ClosedTypeFamDecl l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l)) [TypeEqn l]+ -- ^ A closed type family declaration+ | DataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) [QualConDecl l] [Deriving l]+ -- ^ A data OR newtype declaration+ | GDataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l] [Deriving l]+ -- ^ A data OR newtype declaration, GADT style+ | DataFamDecl l {-data-} (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l))+ -- ^ A data family declaration+ | TypeInsDecl l (Type l) (Type l)+ -- ^ A type family instance declaration+ | DataInsDecl l (DataOrNew l) (Type l) [QualConDecl l] [Deriving l]+ -- ^ A data family instance declaration+ | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] [Deriving l]+ -- ^ A data family instance declaration, GADT style+ | ClassDecl l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l])+ -- ^ A declaration of a type class+ | InstDecl l (Maybe (Overlap l)) (InstRule l) (Maybe [InstDecl l])+ -- ^ An declaration of a type class instance+ | DerivDecl l (Maybe (DerivStrategy l)) (Maybe (Overlap l)) (InstRule l)+ -- ^ A standalone deriving declaration+ | InfixDecl l (Assoc l) (Maybe Int) [Op l]+ -- ^ A declaration of operator fixity+ | DefaultDecl l [Type l]+ -- ^ A declaration of default types+ | SpliceDecl l (Exp l)+ -- ^ A Template Haskell splicing declaration+ | TSpliceDecl l (Exp l)+ -- ^ A typed Template Haskell splicing declaration+ | TypeSig l [Name l] (Type l)+ -- ^ A type signature declaration+ | PatSynSig l [Name l] (Maybe [TyVarBind l]) (Maybe (Context l))+ (Maybe [TyVarBind l]) (Maybe (Context l))+ (Type l)+ -- ^ A pattern synonym signature declation+ | FunBind l [Match l]+ -- ^ A set of function binding clauses+ | PatBind l (Pat l) (Rhs l) {-where-} (Maybe (Binds l))+ -- ^ A pattern binding+ | PatSyn l (Pat l) (Pat l) (PatternSynDirection l)+ -- ^ A pattern synonym binding+ | ForImp l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l)+ -- ^ A foreign import declaration+ | ForExp l (CallConv l) (Maybe String) (Name l) (Type l)+ -- ^ A foreign export declaration+ | RulePragmaDecl l [Rule l]+ -- ^ A RULES pragma+ | DeprPragmaDecl l [([Name l], String)]+ -- ^ A DEPRECATED pragma+ | WarnPragmaDecl l [([Name l], String)]+ -- ^ A WARNING pragma+ | InlineSig l Bool (Maybe (Activation l)) (QName l)+ -- ^ An INLINE pragma+ | InlineConlikeSig l (Maybe (Activation l)) (QName l)+ -- ^ An INLINE CONLIKE pragma+ | SpecSig l (Maybe (Activation l)) (QName l) [Type l]+ -- ^ A SPECIALISE pragma+ | SpecInlineSig l Bool (Maybe (Activation l)) (QName l) [Type l]+ -- ^ A SPECIALISE INLINE pragma+ | InstSig l (InstRule l)+ -- ^ A SPECIALISE instance pragma+ | AnnPragma l (Annotation l)+ -- ^ An ANN pragma+ | MinimalPragma l (Maybe (BooleanFormula l))+ -- ^ A MINIMAL pragma+ | RoleAnnotDecl l (QName l) [Role l]+ -- ^ A role annotation+ | CompletePragma l [Name l] (Maybe (QName l))+ -- ^ A COMPLETE pragma+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data PatternSynDirection l =+ Unidirectional -- ^ A unidirectional pattern synonym with "<-"+ | ImplicitBidirectional -- ^ A bidirectional pattern synonym with "="+ | ExplicitBidirectional l [Decl l] -- ^ A birectional pattern synonym with the construction specified.+ deriving (Eq, Ord, Show, Data, Typeable, Foldable, Traversable, Functor, Generic)++-- | A type equation as found in closed type families.+data TypeEqn l = TypeEqn l (Type l) (Type l) deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An annotation through an ANN pragma.+data Annotation l+ = Ann l (Name l) (Exp l)+ -- ^ An annotation for a declared name.+ | TypeAnn l (Name l) (Exp l)+ -- ^ An annotation for a declared type.+ | ModuleAnn l (Exp l)+ -- ^ An annotation for the defining module.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A boolean formula for MINIMAL pragmas.+data BooleanFormula l+ = VarFormula l (Name l) -- ^ A variable.+ | AndFormula l [BooleanFormula l] -- ^ And boolean formulas.+ | OrFormula l [BooleanFormula l] -- ^ Or boolean formulas.+ | ParenFormula l (BooleanFormula l) -- ^ Parenthesized boolean formulas.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data Role l+ = Nominal l+ | Representational l+ | Phantom l+ | RoleWildcard l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A flag stating whether a declaration is a data or newtype declaration.+data DataOrNew l = DataType l | NewType l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)+++-- | Injectivity info for injective type families+data InjectivityInfo l = InjectivityInfo l (Name l) [Name l]+ deriving (Eq, Ord, Show, Typeable, Data, Foldable, Traversable, Functor, Generic)++data ResultSig l = KindSig l (Kind l) | TyVarSig l (TyVarBind l)+ deriving (Eq, Ord, Show, Typeable, Data, Foldable, Traversable, Functor, Generic)++-- | The head of a type or class declaration, which consists of the type+-- or class name applied to some type variables+--+-- @class C a b@ is represented as+--+-- >DHApp+-- > ()+-- > (DHApp+-- > () (DHead () (Ident () "C")) (UnkindedVar () (Ident () "a")))+-- > (UnkindedVar () (Ident () "b"))+--+-- (where the annotation type @l@ is instantiated with @()@)+--+-- @class (a :< b) c@ is represented as+--+-- >DHApp+-- > ()+-- > (DHParen+-- > ()+-- > (DHApp+-- > ()+-- > (DHInfix () (UnkindedVar () (Ident () "a")) (Symbol () ":<"))+-- > (UnkindedVar () (Ident () "b"))))+-- > (UnkindedVar () (Ident () "c"))+data DeclHead l+ = DHead l (Name l) -- ^ type or class name+ | DHInfix l (TyVarBind l) (Name l) -- ^ infix application of the type/class name to the left operand+ | DHParen l (DeclHead l) -- ^ parenthesized declaration head+ | DHApp l (DeclHead l) (TyVarBind l) -- ^ application to one more type variable+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The instance declaration rule, which is, roughly, the part of the instance declaration before the @where@ keyword.+--+-- Example: @instance Ord a => Ord (Maybe a)@ is represented as+--+-- >IRule+-- > ()+-- > Nothing+-- > (Just+-- > (CxSingle+-- > ()+-- > (ClassA+-- > () (UnQual () (Ident () "Ord")) [ TyVar () (Ident () "a") ])))+-- > (IHApp+-- > ()+-- > (IHCon () (UnQual () (Ident () "Ord")))+-- > (TyParen+-- > ()+-- > (TyApp+-- > ()+-- > (TyCon () (UnQual () (Ident () "Maybe")))+-- > (TyVar () (Ident () "a")))))+--+-- An optional explicit forall after @instance@ is supported:+-- @instance forall a . Ord a => Ord (Maybe a) where@ becomes+--+-- >IRule+-- > ()+-- > (Just [ UnkindedVar () (Ident () "a") ])+-- > ...+data InstRule l+ = IRule l (Maybe [TyVarBind l]) (Maybe (Context l)) (InstHead l)+ | IParen l (InstRule l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- See bugs #7 and #31 for more details and use cases for the rationale+-- of the split. DeclOrInstHead should be used by DeclHead as the name implies.++-- | The instance head. The split between rule/head allow us to represent+-- @instance (Bounded a => Bounded [a]) where@ faithfully.+--+-- The structure of 'InstHead' follows one of 'DeclHead'.+--+-- For example, @instance C (Maybe a) Int where@ is represented as+--+-- >IHApp+-- > ()+-- > (IHApp+-- > ()+-- > (IHCon () (UnQual () (Ident () "C")))+-- > (TyParen+-- > ()+-- > (TyApp+-- > ()+-- > (TyCon () (UnQual () (Ident () "Maybe")))+-- > (TyVar () (Ident () "a")))))+-- > (TyCon () (UnQual () (Ident () "Int")))))+data InstHead l+ = IHCon l (QName l) -- ^ type or class name+ | IHInfix l (Type l) (QName l) -- ^ infix application of the type/class name to the left operand+ | IHParen l (InstHead l) -- ^ parenthesized instance head+ | IHApp l (InstHead l) (Type l) -- ^ application to one more type+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A deriving clause following a data type declaration.+data Deriving l = Deriving l (Maybe (DerivStrategy l)) [InstRule l]+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Which technique the user explicitly requested when deriving an instance.+data DerivStrategy l+ = DerivStock l -- ^ GHC's \"standard\" strategy, which is to implement a+ -- custom instance for the data type. This only works for+ -- certain types that GHC knows about (e.g., 'Eq', 'Show',+ -- 'Functor' when @-XDeriveFunctor@ is enabled, etc.)+ | DerivAnyclass l -- ^ @-XDeriveAnyClass@+ | DerivNewtype l -- ^ @-XGeneralizedNewtypeDeriving@+ | DerivVia l (Type l) -- ^ @-XDerivingVia@+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A binding group inside a @let@ or @where@ clause.+data Binds l+ = BDecls l [Decl l] -- ^ An ordinary binding group+ | IPBinds l [IPBind l] -- ^ A binding group for implicit parameters+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A binding of an implicit parameter.+data IPBind l = IPBind l (IPName l) (Exp l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Clauses of a function binding.+data Match l+ = Match l (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))+ -- ^ A clause defined with prefix notation, i.e. the function name+ -- followed by its argument patterns, the right-hand side and an+ -- optional where clause.+ | InfixMatch l (Pat l) (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))+ -- ^ A clause defined with infix notation, i.e. first its first argument+ -- pattern, then the function name, then its following argument(s),+ -- the right-hand side and an optional where clause.+ -- Note that there can be more than two arguments to a function declared+ -- infix, hence the list of pattern arguments.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A single constructor declaration within a data type declaration,+-- which may have an existential quantification binding.+data QualConDecl l+ = QualConDecl l+ {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))+ {- => -} (ConDecl l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declaration of an ordinary data constructor.+data ConDecl l+ = ConDecl l (Name l) [Type l]+ -- ^ ordinary data constructor+ | InfixConDecl l (Type l) (Name l) (Type l)+ -- ^ infix data constructor+ | RecDecl l (Name l) [FieldDecl l]+ -- ^ record constructor+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declaration of a (list of) named field(s).+data FieldDecl l = FieldDecl l [Name l] (Type l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)+++-- | A single constructor declaration in a GADT data type declaration.+--+-- If the GADT is declared using the record syntax, e.g.+--+-- >data Ty where+-- > TCon :: { field1 :: Int, field2 :: Bool } -> Ty+--+-- then the fields are stored as a list of 'FieldDecl's, and the final type+-- (@Ty@ in the above example) is stored in the last 'Type' field.+--+-- If the GADT is declared using the ordinary syntax, e.g.+--+-- >data Ty where+-- > TCon :: Int -> Bool -> Ty+--+-- then @'Maybe' ['FieldDecl' l]@ is 'Nothing', and the whole constructor's+-- type (such as @Int -> Bool -> Ty@) is stored in the last 'Type' field.+data GadtDecl l+ = GadtDecl l (Name l)+ {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))+ {- => -} (Maybe [FieldDecl l]) (Type l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declarations inside a class declaration.+data ClassDecl l+ = ClsDecl l (Decl l)+ -- ^ ordinary declaration+ | ClsDataFam l (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l))+ -- ^ declaration of an associated data type+ | ClsTyFam l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l))+ -- ^ declaration of an associated type synonym+ | ClsTyDef l (TypeEqn l)+ -- ^ default choice for an associated type synonym+ | ClsDefSig l (Name l) (Type l)+ -- ^ default signature+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declarations inside an instance declaration.+data InstDecl l+ = InsDecl l (Decl l)+ -- ^ ordinary declaration+ | InsType l (Type l) (Type l)+ -- ^ an associated type definition+ | InsData l (DataOrNew l) (Type l) [QualConDecl l] [Deriving l]+ -- ^ an associated data type implementation+ | InsGData l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] [Deriving l]+ -- ^ an associated data type implemented using GADT style+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The type of a constructor argument or field, optionally including+-- a strictness annotation.+data BangType l+ = BangedTy l -- ^ strict component, marked with \"@!@\"+ | LazyTy l -- ^ lazy component, marked with \"@~@\"+ | NoStrictAnnot l -- ^ No strictness information+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data Unpackedness l+ = Unpack l -- ^ \"@{-\# UNPACK \#-}@\"+ | NoUnpack l -- ^ \"@{-\# NOUNPACK \#-}@\"+ | NoUnpackPragma l -- ^ No unpack pragma+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The right hand side of a function binding, pattern binding, or a case+-- alternative.+data Rhs l+ = UnGuardedRhs l (Exp l) -- ^ unguarded right hand side (/exp/)+ | GuardedRhss l [GuardedRhs l]+ -- ^ guarded right hand side (/gdrhs/)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A guarded right hand side @|@ /stmts/ @=@ /exp/, or @|@ /stmts/ @->@ /exp/+-- for case alternatives.+-- The guard is a series of statements when using pattern guards,+-- otherwise it will be a single qualifier expression.+data GuardedRhs l+ = GuardedRhs l [Stmt l] (Exp l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A type qualified with a context.+-- An unqualified type has an empty context.+data Type l+ = TyForall l+ (Maybe [TyVarBind l])+ (Maybe (Context l))+ (Type l) -- ^ qualified type+ | TyStar l -- ^ @*@, the type of types+ | TyFun l (Type l) (Type l) -- ^ function type+ | TyTuple l Boxed [Type l] -- ^ tuple type, possibly boxed+ | TyUnboxedSum l [Type l] -- ^ unboxed tuple type+ | TyList l (Type l) -- ^ list syntax, e.g. [a], as opposed to [] a+ | TyParArray l (Type l) -- ^ parallel array syntax, e.g. [:a:]+ | TyApp l (Type l) (Type l) -- ^ application of a type constructor+ | TyVar l (Name l) -- ^ type variable+ | TyCon l (QName l) -- ^ named type or type constructor+ | TyParen l (Type l) -- ^ type surrounded by parentheses+ | TyInfix l (Type l) (MaybePromotedName l)+ (Type l) -- ^ infix type constructor+ | TyKind l (Type l) (Kind l) -- ^ type with explicit kind signature+ | TyPromoted l (Promoted l) -- ^ @'K@, a promoted data type (-XDataKinds).+ | TyEquals l (Type l) (Type l) -- ^ type equality predicate enabled by ConstraintKinds+ | TySplice l (Splice l) -- ^ template haskell splice type+ | TyBang l (BangType l) (Unpackedness l) (Type l) -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.+ | TyWildCard l (Maybe (Name l)) -- ^ Either an anonymous of named type wildcard+ | TyQuasiQuote l String String -- ^ @[$/name/| /string/ |]@+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data MaybePromotedName l = PromotedName l (QName l) | UnpromotedName l (QName l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Bools here are True if there was a leading quote which may be+-- left out. For example @'[k1,k2]@ means the same thing as @[k1,k2]@.+data Promoted l+ = PromotedInteger l Integer String -- ^ parsed value and raw string+ | PromotedString l String String -- ^ parsed value and raw string+ | PromotedCon l Bool (QName l)+ | PromotedList l Bool [Type l]+ | PromotedTuple l [Type l]+ | PromotedUnit l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Flag denoting whether a tuple is boxed or unboxed.+data Boxed = Boxed | Unboxed+ deriving (Eq,Ord,Show,Typeable,Data,Generic)++-- | A type variable declaration, optionally with an explicit kind annotation.+data TyVarBind l+ = KindedVar l (Name l) (Kind l) -- ^ variable binding with kind annotation+ | UnkindedVar l (Name l) -- ^ ordinary variable binding+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An explicit kind annotation.+type Kind = Type+++-- | A functional dependency, given on the form+-- l1 l2 ... ln -> r2 r3 .. rn+data FunDep l+ = FunDep l [Name l] [Name l]+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A context is a set of assertions+data Context l+ = CxSingle l (Asst l)+ | CxTuple l [Asst l]+ | CxEmpty l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Class assertions.+data Asst l+ = TypeA l (Type l) -- ^ type assertion+ | IParam l (IPName l) (Type l) -- ^ implicit parameter assertion+ | ParenA l (Asst l) -- ^ parenthesised class assertion+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | /literal/+-- Values of this type hold the abstract value of the literal, along with the+-- precise string representation used. For example, @10@, @0o12@ and @0xa@+-- have the same value representation, but each carry a different string representation.+data Literal l+ = Char l Char String -- ^ character literal+ | String l String String -- ^ string literal+ | Int l Integer String -- ^ integer literal+ | Frac l Rational String -- ^ floating point literal+ | PrimInt l Integer String -- ^ unboxed integer literal+ | PrimWord l Integer String -- ^ unboxed word literal+ | PrimFloat l Rational String -- ^ unboxed float literal+ | PrimDouble l Rational String -- ^ unboxed double literal+ | PrimChar l Char String -- ^ unboxed character literal+ | PrimString l String String -- ^ unboxed string literal+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An indication whether a literal pattern has been negated or not.+data Sign l+ = Signless l+ | Negative l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Haskell expressions.+data Exp l+ = Var l (QName l) -- ^ variable+ | OverloadedLabel l String -- ^ Overloaded label #foo+ | IPVar l (IPName l) -- ^ implicit parameter variable+ | Con l (QName l) -- ^ data constructor+ | Lit l (Literal l) -- ^ literal constant+ | InfixApp l (Exp l) (QOp l) (Exp l) -- ^ infix application+ | App l (Exp l) (Exp l) -- ^ ordinary application+ | NegApp l (Exp l) -- ^ negation expression @-/exp/@ (unary minus)+ | Lambda l [Pat l] (Exp l) -- ^ lambda expression+ | Let l (Binds l) (Exp l) -- ^ local declarations with @let@ ... @in@ ...+ | If l (Exp l) (Exp l) (Exp l) -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/+ | MultiIf l [GuardedRhs l] -- ^ @if@ @|@ /stmts/ @->@ /exp/ ...+ | Case l (Exp l) [Alt l] -- ^ @case@ /exp/ @of@ /alts/+ | Do l [Stmt l] -- ^ @do@-expression:+ -- the last statement in the list+ -- should be an expression.+ | MDo l [Stmt l] -- ^ @mdo@-expression+ | Tuple l Boxed [Exp l] -- ^ tuple expression+ | UnboxedSum l Int Int (Exp l) -- ^ unboxed sum+ | TupleSection l Boxed [Maybe (Exp l)] -- ^ tuple section expression, e.g. @(,,3)@+ | List l [Exp l] -- ^ list expression+ | ParArray l [Exp l] -- ^ parallel array expression+ | Paren l (Exp l) -- ^ parenthesised expression+ | LeftSection l (Exp l) (QOp l) -- ^ left section @(@/exp/ /qop/@)@+ | RightSection l (QOp l) (Exp l) -- ^ right section @(@/qop/ /exp/@)@+ | RecConstr l (QName l) [FieldUpdate l] -- ^ record construction expression+ | RecUpdate l (Exp l) [FieldUpdate l] -- ^ record update expression+ | EnumFrom l (Exp l) -- ^ unbounded arithmetic sequence,+ -- incrementing by 1: @[from ..]@+ | EnumFromTo l (Exp l) (Exp l) -- ^ bounded arithmetic sequence,+ -- incrementing by 1 @[from .. to]@+ | EnumFromThen l (Exp l) (Exp l) -- ^ unbounded arithmetic sequence,+ -- with first two elements given @[from, then ..]@+ | EnumFromThenTo l (Exp l) (Exp l) (Exp l)+ -- ^ bounded arithmetic sequence,+ -- with first two elements given @[from, then .. to]@+ | ParArrayFromTo l (Exp l) (Exp l) -- ^ Parallel array bounded arithmetic sequence,+ -- incrementing by 1 @[:from .. to:]@+ | ParArrayFromThenTo l (Exp l) (Exp l) (Exp l)+ -- ^ bounded arithmetic sequence,+ -- with first two elements given @[:from, then .. to:]@+ | ListComp l (Exp l) [QualStmt l] -- ^ ordinary list comprehension+ | ParComp l (Exp l) [[QualStmt l]] -- ^ parallel list comprehension+ | ParArrayComp l (Exp l) [[QualStmt l]] -- ^ parallel array comprehension+ | ExpTypeSig l (Exp l) (Type l) -- ^ expression with explicit type signature++ | VarQuote l (QName l) -- ^ @'x@ for template haskell reifying of expressions+ | TypQuote l (QName l) -- ^ @''T@ for template haskell reifying of types+ | BracketExp l (Bracket l) -- ^ template haskell bracket expression+ | SpliceExp l (Splice l) -- ^ template haskell splice expression+ | QuasiQuote l String String -- ^ quasi-quotaion: @[$/name/| /string/ |]@+ | TypeApp l (Type l) -- ^ Visible type application++-- Hsx+ | XTag l (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]+ -- ^ xml element, with attributes and children+ | XETag l (XName l) [XAttr l] (Maybe (Exp l))+ -- ^ empty xml element, with attributes+ | XPcdata l String -- ^ PCDATA child element+ | XExpTag l (Exp l) -- ^ escaped haskell expression inside xml+ | XChildTag l [Exp l] -- ^ children of an xml element+++-- Pragmas+ | CorePragma l String (Exp l) -- ^ CORE pragma+ | SCCPragma l String (Exp l) -- ^ SCC pragma+ | GenPragma l String (Int, Int) (Int, Int) (Exp l)+ -- ^ GENERATED pragma++-- Arrows+ | Proc l (Pat l) (Exp l) -- ^ arrows proc: @proc@ /pat/ @->@ /exp/+ | LeftArrApp l (Exp l) (Exp l) -- ^ arrow application (from left): /exp/ @-<@ /exp/+ | RightArrApp l (Exp l) (Exp l) -- ^ arrow application (from right): /exp/ @>-@ /exp/+ | LeftArrHighApp l (Exp l) (Exp l) -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/+ | RightArrHighApp l (Exp l) (Exp l) -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/+ | ArrOp l (Exp l) -- ^ arrow control operators: @(| /exp/ |)@++-- LambdaCase+ | LCase l [Alt l] -- ^ @\case@ /alts/++ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The name of an xml element or attribute,+-- possibly qualified with a namespace.+data XName l+ = XName l String -- <name ...+ | XDomName l String String -- <dom:name ...+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An xml attribute, which is a name-expression pair.+data XAttr l = XAttr l (XName l) (Exp l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A template haskell bracket expression.+data Bracket l+ = ExpBracket l (Exp l) -- ^ expression bracket: @[| ... |]@+ | TExpBracket l (Exp l) -- ^ typed expression bracket: @[|| ... ||]@+ | PatBracket l (Pat l) -- ^ pattern bracket: @[p| ... |]@+ | TypeBracket l (Type l) -- ^ type bracket: @[t| ... |]@+ | DeclBracket l [Decl l] -- ^ declaration bracket: @[d| ... |]@+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A template haskell splice expression+data Splice l+ = IdSplice l String -- ^ variable splice: @$var@+ | TIdSplice l String -- ^ typed variable splice: @$$var@+ | ParenSplice l (Exp l) -- ^ parenthesised expression splice: @$(/exp/)@+ | TParenSplice l (Exp l) -- ^ parenthesised typed expression splice: @$$(/exp/)@+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The safety of a foreign function call.+data Safety l+ = PlayRisky l -- ^ unsafe+ | PlaySafe l Bool -- ^ safe ('False') or threadsafe ('True')+ | PlayInterruptible l -- ^ interruptible+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The calling convention of a foreign function call.+data CallConv l+ = StdCall l+ | CCall l+ | CPlusPlus l+ | DotNet l+ | Jvm l+ | Js l+ | JavaScript l+ | CApi l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A top level options pragma, preceding the module header.+data ModulePragma l+ = LanguagePragma l [Name l] -- ^ LANGUAGE pragma+ | OptionsPragma l (Maybe Tool) String+ -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC+ | AnnModulePragma l (Annotation l)+ -- ^ ANN pragma with module scope+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Recognised tools for OPTIONS pragmas.+data Tool = GHC | HUGS | NHC98 | YHC | HADDOCK | UnknownTool String+ deriving (Eq,Ord,Show,Typeable,Data,Generic)++-- | Recognised overlaps for overlap pragmas.+data Overlap l+ = NoOverlap l -- ^ NO_OVERLAP pragma+ | Overlap l -- ^ OVERLAP pragma+ | Overlapping l+ | Overlaps l+ | Overlappable l+ | Incoherent l -- ^ INCOHERENT pragma+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Activation clause of a RULES pragma.+data Activation l+ = ActiveFrom l Int+ | ActiveUntil l Int+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The body of a RULES pragma.+data Rule l+ = Rule l String (Maybe (Activation l)) (Maybe [RuleVar l]) (Exp l) (Exp l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Variables used in a RULES pragma, optionally annotated with types+data RuleVar l+ = RuleVar l (Name l)+ | TypedRuleVar l (Name l) (Type l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Warning text to optionally use in the module header of e.g.+-- a deprecated module.+data WarningText l+ = DeprText l String+ | WarnText l String+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)+++-- | A pattern, to be matched against a value.+data Pat l+ = PVar l (Name l) -- ^ variable+ | PLit l (Sign l) (Literal l) -- ^ literal constant+ | PNPlusK l (Name l) Integer -- ^ n+k pattern+ | PInfixApp l (Pat l) (QName l) (Pat l) -- ^ pattern with an infix data constructor+ | PApp l (QName l) [Pat l] -- ^ data constructor and argument patterns+ | PTuple l Boxed [Pat l] -- ^ tuple pattern+ | PUnboxedSum l Int Int (Pat l) -- ^ unboxed sum+ | PList l [Pat l] -- ^ list pattern+ | PParen l (Pat l) -- ^ parenthesized pattern+ | PRec l (QName l) [PatField l] -- ^ labelled pattern, record style+ | PAsPat l (Name l) (Pat l) -- ^ @\@@-pattern+ | PWildCard l -- ^ wildcard pattern: @_@+ | PIrrPat l (Pat l) -- ^ irrefutable pattern: @~/pat/@+ | PatTypeSig l (Pat l) (Type l) -- ^ pattern with type signature+ | PViewPat l (Exp l) (Pat l) -- ^ view patterns of the form @(/exp/ -> /pat/)@+ | PRPat l [RPat l] -- ^ regular list pattern+ | PXTag l (XName l) [PXAttr l] (Maybe (Pat l)) [Pat l]+ -- ^ XML element pattern+ | PXETag l (XName l) [PXAttr l] (Maybe (Pat l))+ -- ^ XML singleton element pattern+ | PXPcdata l String -- ^ XML PCDATA pattern+ | PXPatTag l (Pat l) -- ^ XML embedded pattern+ | PXRPats l [RPat l] -- ^ XML regular list pattern+ | PSplice l (Splice l) -- ^ template haskell splice pattern+ | PQuasiQuote l String String -- ^ quasi quote pattern: @[$/name/| /string/ |]@+ | PBangPat l (Pat l) -- ^ strict (bang) pattern: @f !x = ...@+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An XML attribute in a pattern.+data PXAttr l = PXAttr l (XName l) (Pat l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A regular pattern operator.+data RPatOp l+ = RPStar l -- ^ @*@ = 0 or more+ | RPStarG l -- ^ @*!@ = 0 or more, greedy+ | RPPlus l -- ^ @+@ = 1 or more+ | RPPlusG l -- ^ @+!@ = 1 or more, greedy+ | RPOpt l -- ^ @?@ = 0 or 1+ | RPOptG l -- ^ @?!@ = 0 or 1, greedy+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An entity in a regular pattern.+data RPat l+ = RPOp l (RPat l) (RPatOp l) -- ^ operator pattern, e.g. pat*+ | RPEither l (RPat l) (RPat l) -- ^ choice pattern, e.g. (1 | 2)+ | RPSeq l [RPat l] -- ^ sequence pattern, e.g. (| 1, 2, 3 |)+ | RPGuard l (Pat l) [Stmt l] -- ^ guarded pattern, e.g. (| p | p < 3 |)+ | RPCAs l (Name l) (RPat l) -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*+ | RPAs l (Name l) (RPat l) -- ^ linear variable binding, e.g. foo\@(1 | 2)+ | RPParen l (RPat l) -- ^ parenthesised pattern, e.g. (2*)+ | RPPat l (Pat l) -- ^ an ordinary pattern+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An /fpat/ in a labeled record pattern.+data PatField l+ = PFieldPat l (QName l) (Pat l) -- ^ ordinary label-pattern pair+ | PFieldPun l (QName l) -- ^ record field pun+ | PFieldWildcard l -- ^ record field wildcard+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A statement, representing both a /stmt/ in a @do@-expression,+-- an ordinary /qual/ in a list comprehension, as well as a /stmt/+-- in a pattern guard.+data Stmt l+ = Generator l (Pat l) (Exp l)+ -- ^ a generator: /pat/ @<-@ /exp/+ | Qualifier l (Exp l) -- ^ an /exp/ by itself: in a @do@-expression,+ -- an action whose result is discarded;+ -- in a list comprehension and pattern guard,+ -- a guard expression+ | LetStmt l (Binds l) -- ^ local bindings+ | RecStmt l [Stmt l] -- ^ a recursive binding group for arrows+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A general /transqual/ in a list comprehension,+-- which could potentially be a transform of the kind+-- enabled by TransformListComp.+data QualStmt l+ = QualStmt l (Stmt l) -- ^ an ordinary statement+ | ThenTrans l (Exp l) -- ^ @then@ /exp/+ | ThenBy l (Exp l) (Exp l) -- ^ @then@ /exp/ @by@ /exp/+ | GroupBy l (Exp l) -- ^ @then@ @group@ @by@ /exp/+ | GroupUsing l (Exp l) -- ^ @then@ @group@ @using@ /exp/+ | GroupByUsing l (Exp l) (Exp l) -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An /fbind/ in a labeled construction or update expression.+data FieldUpdate l+ = FieldUpdate l (QName l) (Exp l) -- ^ ordinary label-expresion pair+ | FieldPun l (QName l) -- ^ record field pun+ | FieldWildcard l -- ^ record field wildcard+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An /alt/ alternative in a @case@ expression.+data Alt l+ = Alt l (Pat l) (Rhs l) (Maybe (Binds l))+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-----------------------------------------------------------------------------+-- Builtin names.++prelude_mod, main_mod :: l -> ModuleName l+prelude_mod l = ModuleName l "Prelude"+main_mod l = ModuleName l "Main"++main_name :: l -> Name l+main_name l = Ident l "main"++unit_con_name :: l -> QName l+unit_con_name l = Special l (UnitCon l)++tuple_con_name :: l -> Boxed -> Int -> QName l+tuple_con_name l b i = Special l (TupleCon l b (i+1))++list_con_name :: l -> QName l+list_con_name l = Special l (ListCon l)++list_cons_name :: l -> QName l+list_cons_name l = Special l (Cons l)++unboxed_singleton_con_name :: l -> QName l+unboxed_singleton_con_name l = Special l (UnboxedSingleCon l)++unit_con :: l -> Exp l+unit_con l = Con l $ unit_con_name l++tuple_con :: l -> Boxed -> Int -> Exp l+tuple_con l b i = Con l (tuple_con_name l b i)++unboxed_singleton_con :: l -> Exp l+unboxed_singleton_con l = Con l (unboxed_singleton_con_name l)++as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: l -> Name l+as_name l = Ident l "as"+qualified_name l = Ident l "qualified"+hiding_name l = Ident l "hiding"+minus_name l = Symbol l "-"+bang_name l = Symbol l "!"+dot_name l = Symbol l "."+star_name l = Symbol l "*"++hole_name :: l -> QName l+hole_name l = Special l (ExprHole l)++export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,+ stdcall_name, ccall_name, cplusplus_name, dotnet_name,+ jvm_name, js_name, javascript_name, capi_name, forall_name,+ family_name, role_name, stock_name, anyclass_name, via_name :: l -> Name l+export_name l = Ident l "export"+safe_name l = Ident l "safe"+unsafe_name l = Ident l "unsafe"+interruptible_name l = Ident l "interruptible"+threadsafe_name l = Ident l "threadsafe"+stdcall_name l = Ident l "stdcall"+ccall_name l = Ident l "ccall"+cplusplus_name l = Ident l "cplusplus"+dotnet_name l = Ident l "dotnet"+jvm_name l = Ident l "jvm"+js_name l = Ident l "js"+javascript_name l = Ident l "javascript"+capi_name l = Ident l "capi"+forall_name l = Ident l "forall"+family_name l = Ident l "family"+role_name l = Ident l "role"+stock_name l = Ident l "stock"+anyclass_name l = Ident l "anyclass"+via_name l = Ident l "via"++unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: l -> QName l+unit_tycon_name l = unit_con_name l+fun_tycon_name l = Special l (FunCon l)+list_tycon_name l = Special l (ListCon l)+unboxed_singleton_tycon_name l = Special l (UnboxedSingleCon l)++tuple_tycon_name :: l -> Boxed -> Int -> QName l+tuple_tycon_name l b i = tuple_con_name l b i++unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> Type l+unit_tycon l = TyCon l $ unit_tycon_name l+fun_tycon l = TyCon l $ fun_tycon_name l+list_tycon l = TyCon l $ list_tycon_name l+unboxed_singleton_tycon l = TyCon l $ unboxed_singleton_tycon_name l++tuple_tycon :: l -> Boxed -> Int -> Type l+tuple_tycon l b i = TyCon l (tuple_tycon_name l b i)++-----------------------------------------------------------------------------+-- AST traversal, boiler-plate style++-- | Test if two AST elements are equal modulo annotations.+(=~=) :: (Annotated a, Eq (a ())) => a l1 -> a l2 -> Bool+a =~= b = fmap (const ()) a == fmap (const ()) b++-----------------------------------------------------------------------------+-- Reading annotations++-- | AST nodes are annotated, and this class allows manipulation of the annotations.+class Functor ast => Annotated ast where+ -- | Retrieve the annotation of an AST node.+ ann :: ast l -> l+ -- | Change the annotation of an AST node. Note that only the annotation of+ -- the node itself is affected, and not the annotations of any child nodes.+ -- if all nodes in the AST tree are to be affected, use 'fmap'.+ amap :: (l -> l) -> ast l -> ast l++instance Annotated ModuleName where+ ann (ModuleName l _) = l+ amap f (ModuleName l n) = ModuleName (f l) n++instance Annotated SpecialCon where+ ann sc = case sc of+ UnitCon l -> l+ ListCon l -> l+ FunCon l -> l+ TupleCon l _ _ -> l+ Cons l -> l+ UnboxedSingleCon l -> l+ ExprHole l -> l+ amap = fmap++instance Annotated QName where+ ann qn = case qn of+ Qual l _ _ -> l+ UnQual l _ -> l+ Special l _ -> l+ amap f qn = case qn of+ Qual l mn n -> Qual (f l) mn n+ UnQual l n -> UnQual (f l) n+ Special l sc -> Special (f l) sc++instance Annotated Name where+ ann (Ident l _) = l+ ann (Symbol l _) = l+ amap = fmap++instance Annotated IPName where+ ann (IPDup l _) = l+ ann (IPLin l _) = l+ amap = fmap++instance Annotated QOp where+ ann (QVarOp l _) = l+ ann (QConOp l _) = l+ amap f (QVarOp l qn) = QVarOp (f l) qn+ amap f (QConOp l qn) = QConOp (f l) qn++instance Annotated Op where+ ann (VarOp l _) = l+ ann (ConOp l _) = l+ amap f (VarOp l n) = VarOp (f l) n+ amap f (ConOp l n) = ConOp (f l) n++instance Annotated CName where+ ann (VarName l _) = l+ ann (ConName l _) = l+ amap f (VarName l n) = VarName (f l) n+ amap f (ConName l n) = ConName (f l) n++instance Annotated Module where+ ann (Module l _ _ _ _) = l+ ann (XmlPage l _ _ _ _ _ _) = l+ ann (XmlHybrid l _ _ _ _ _ _ _ _) = l++ amap f (Module l mmh ops iss dcls) =+ Module (f l) mmh ops iss dcls+ amap f (XmlPage l mn os xn xas me es) =+ XmlPage (f l) mn os xn xas me es+ amap f (XmlHybrid l mmh ops iss dcls xn xas me es) =+ XmlHybrid (f l) mmh ops iss dcls xn xas me es++instance Annotated ModuleHead where+ ann (ModuleHead l _ _ _) = l+ amap f (ModuleHead l n mwt mesl) = ModuleHead (f l) n mwt mesl++instance Annotated ExportSpecList where+ ann (ExportSpecList l _) = l+ amap f (ExportSpecList l ess) = ExportSpecList (f l) ess++instance Annotated ExportSpec where+ ann es = case es of+ EVar l _ -> l+ EAbs l _ _ -> l+ EThingWith l _ _ _ -> l+ EModuleContents l _ -> l+ amap f es = case es of+ EVar l qn -> EVar (f l) qn+ EAbs l n qn -> EAbs (f l) n qn+ EThingWith l wc qn cns -> EThingWith (f l) wc qn cns+ EModuleContents l mn -> EModuleContents (f l) mn++instance Annotated EWildcard where+ ann ewc = case ewc of+ NoWildcard l -> l+ EWildcard l _ -> l+ amap f ewc = case ewc of+ NoWildcard l -> NoWildcard (f l)+ EWildcard l n -> EWildcard (f l) n++++instance Annotated Namespace where+ ann es = case es of+ NoNamespace l -> l+ TypeNamespace l -> l+ PatternNamespace l -> l+ amap f es = case es of+ NoNamespace l -> NoNamespace (f l)+ TypeNamespace l -> TypeNamespace (f l)+ PatternNamespace l -> PatternNamespace (f l)++instance Annotated ImportDecl where+ ann (ImportDecl l _ _ _ _ _ _ _) = l+ amap f (ImportDecl l mn qual src safe pkg mmn mis) =+ ImportDecl (f l) mn qual src safe pkg mmn mis++instance Annotated ImportSpecList where+ ann (ImportSpecList l _ _) = l+ amap f (ImportSpecList l b iss) = ImportSpecList (f l) b iss++instance Annotated ImportSpec where+ ann is = case is of+ IVar l _ -> l+ IAbs l _ _ -> l+ IThingAll l _ -> l+ IThingWith l _ _ -> l+ amap f is = case is of+ IVar l n -> IVar (f l) n+ IAbs l ns n -> IAbs (f l) ns n+ IThingAll l n -> IThingAll (f l) n+ IThingWith l n cns -> IThingWith (f l) n cns++instance Annotated Assoc where+ ann (AssocNone l) = l+ ann (AssocLeft l) = l+ ann (AssocRight l) = l+ amap = fmap++instance Annotated Deriving where+ ann (Deriving l _ _) = l+ amap f (Deriving l mds ihs) = Deriving (f l) mds ihs++instance Annotated DerivStrategy where+ ann (DerivStock l) = l+ ann (DerivAnyclass l) = l+ ann (DerivNewtype l) = l+ ann (DerivVia l _) = l++ amap f (DerivStock l) = DerivStock (f l)+ amap f (DerivAnyclass l) = DerivAnyclass (f l)+ amap f (DerivNewtype l) = DerivNewtype (f l)+ amap f (DerivVia l t) = DerivVia (f l) t++instance Annotated TypeEqn where+ ann (TypeEqn l _ _) = l+ amap f (TypeEqn l a b) = TypeEqn (f l) a b++instance Annotated InjectivityInfo where+ ann (InjectivityInfo l _ _) = l+ amap f (InjectivityInfo l to from) = InjectivityInfo (f l) to from++instance Annotated ResultSig where+ ann (KindSig l _) = l+ ann (TyVarSig l _) = l++ amap f (KindSig l k) = KindSig (f l) k+ amap f (TyVarSig l tv) = TyVarSig (f l) tv++instance Annotated Decl where+ ann decl = case decl of+ TypeDecl l _ _ -> l+ TypeFamDecl l _ _ _ -> l+ ClosedTypeFamDecl l _ _ _ _ -> l+ DataDecl l _ _ _ _ _ -> l+ GDataDecl l _ _ _ _ _ _ -> l+ DataFamDecl l _ _ _ -> l+ TypeInsDecl l _ _ -> l+ DataInsDecl l _ _ _ _ -> l+ GDataInsDecl l _ _ _ _ _ -> l+ ClassDecl l _ _ _ _ -> l+ InstDecl l _ _ _ -> l+ DerivDecl l _ _ _ -> l+ InfixDecl l _ _ _ -> l+ DefaultDecl l _ -> l+ SpliceDecl l _ -> l+ TSpliceDecl l _ -> l+ TypeSig l _ _ -> l+ PatSynSig l _ _ _ _ _ _ -> l+ FunBind l _ -> l+ PatBind l _ _ _ -> l+ ForImp l _ _ _ _ _ -> l+ ForExp l _ _ _ _ -> l+ RulePragmaDecl l _ -> l+ DeprPragmaDecl l _ -> l+ WarnPragmaDecl l _ -> l+ InlineSig l _ _ _ -> l+ InlineConlikeSig l _ _ -> l+ SpecSig l _ _ _ -> l+ SpecInlineSig l _ _ _ _ -> l+ InstSig l _ -> l+ AnnPragma l _ -> l+ MinimalPragma l _ -> l+ RoleAnnotDecl l _ _ -> l+ PatSyn l _ _ _ -> l+ CompletePragma l _ _ -> l+ amap f decl = case decl of+ TypeDecl l dh t -> TypeDecl (f l) dh t+ TypeFamDecl l dh mk mi -> TypeFamDecl (f l) dh mk mi+ ClosedTypeFamDecl l dh mk mi eqns -> ClosedTypeFamDecl (f l) dh mk mi eqns+ DataDecl l dn mcx dh cds ders ->+ DataDecl (f l) dn mcx dh cds ders+ GDataDecl l dn mcx dh mk gds ders ->+ GDataDecl (f l) dn mcx dh mk gds ders+ DataFamDecl l mcx dh mk -> DataFamDecl (f l) mcx dh mk+ TypeInsDecl l t1 t2 -> TypeInsDecl (f l) t1 t2+ DataInsDecl l dn t cds ders -> DataInsDecl (f l) dn t cds ders+ GDataInsDecl l dn t mk gds ders -> GDataInsDecl (f l) dn t mk gds ders+ ClassDecl l mcx dh fds cds -> ClassDecl (f l) mcx dh fds cds+ InstDecl l mo ih ids -> InstDecl (f l) mo ih ids+ DerivDecl l mds mo ih -> DerivDecl (f l) mds mo ih+ InfixDecl l a k ops -> InfixDecl (f l) a k ops+ DefaultDecl l ts -> DefaultDecl (f l) ts+ SpliceDecl l sp -> SpliceDecl (f l) sp+ TSpliceDecl l sp -> TSpliceDecl (f l) sp+ TypeSig l ns t -> TypeSig (f l) ns t+ PatSynSig l n dh c1 dh2 c2 t -> PatSynSig (f l) n dh c1 dh2 c2 t+ FunBind l ms -> FunBind (f l) ms+ PatBind l p rhs bs -> PatBind (f l) p rhs bs+ ForImp l cc msf s n t -> ForImp (f l) cc msf s n t+ ForExp l cc s n t -> ForExp (f l) cc s n t+ RulePragmaDecl l rs -> RulePragmaDecl (f l) rs+ DeprPragmaDecl l nss -> DeprPragmaDecl (f l) nss+ WarnPragmaDecl l nss -> WarnPragmaDecl (f l) nss+ InlineSig l b act qn -> InlineSig (f l) b act qn+ InlineConlikeSig l act qn -> InlineConlikeSig (f l) act qn+ SpecSig l act qn ts -> SpecSig (f l) act qn ts+ SpecInlineSig l b act qn ts -> SpecInlineSig (f l) b act qn ts+ InstSig l ih -> InstSig (f l) ih+ AnnPragma l ann' -> AnnPragma (f l) ann'+ MinimalPragma l b -> MinimalPragma (f l) b+ RoleAnnotDecl l t rs -> RoleAnnotDecl (f l) t rs+ PatSyn l p r d -> PatSyn (f l) p r d+ CompletePragma l cs ty -> CompletePragma (f l) cs ty++instance Annotated Role where+ ann r = case r of+ RoleWildcard l -> l+ Representational l -> l+ Phantom l -> l+ Nominal l -> l+ amap f r = case r of+ RoleWildcard l -> RoleWildcard (f l)+ Representational l -> Representational (f l)+ Phantom l -> Phantom (f l)+ Nominal l -> Nominal (f l)++instance Annotated Annotation where+ ann (Ann l _ _) = l+ ann (TypeAnn l _ _) = l+ ann (ModuleAnn l _) = l+ amap f (Ann l n e) = Ann (f l) n e+ amap f (TypeAnn l n e) = TypeAnn (f l) n e+ amap f (ModuleAnn l e) = ModuleAnn (f l) e++instance Annotated BooleanFormula where+ ann (VarFormula l _) = l+ ann (AndFormula l _) = l+ ann (OrFormula l _) = l+ ann (ParenFormula l _) = l+ amap f (VarFormula l n) = VarFormula (f l) n+ amap f (AndFormula l bs) = AndFormula (f l) bs+ amap f (OrFormula l bs) = OrFormula (f l) bs+ amap f (ParenFormula l b) = ParenFormula (f l) b++instance Annotated DataOrNew where+ ann (DataType l) = l+ ann (NewType l) = l+ amap = fmap++instance Annotated DeclHead where+ ann (DHead l _) = l+ ann (DHInfix l _ _) = l+ ann (DHParen l _) = l+ ann (DHApp l _ _) = l+ amap f (DHead l n) = DHead (f l) n+ amap f (DHInfix l tva n) = DHInfix (f l) tva n+ amap f (DHParen l dh) = DHParen (f l) dh+ amap f (DHApp l dh t) = DHApp (f l) dh t++instance Annotated InstRule where+ ann (IRule l _ _ _) = l+ ann (IParen l _) = l+ amap f (IRule l mtv cxt qn) = IRule (f l) mtv cxt qn+ amap f (IParen l ih) = IParen (f l) ih++instance Annotated InstHead where+ ann (IHCon l _) = l+ ann (IHInfix l _ _) = l+ ann (IHParen l _) = l+ ann (IHApp l _ _) = l+ amap f (IHCon l n) = IHCon (f l) n+ amap f (IHInfix l tva n) = IHInfix (f l) tva n+ amap f (IHParen l dh) = IHParen (f l) dh+ amap f (IHApp l dh t) = IHApp (f l) dh t++instance Annotated Binds where+ ann (BDecls l _) = l+ ann (IPBinds l _) = l+ amap f (BDecls l decls) = BDecls (f l) decls+ amap f (IPBinds l ibs) = IPBinds (f l) ibs++instance Annotated IPBind where+ ann (IPBind l _ _) = l+ amap f (IPBind l ipn e) = IPBind (f l) ipn e++instance Annotated Match where+ ann (Match l _ _ _ _) = l+ ann (InfixMatch l _ _ _ _ _) = l+ amap f (Match l n ps rhs bs) = Match (f l) n ps rhs bs+ amap f (InfixMatch l a n b rhs bs) = InfixMatch (f l) a n b rhs bs++instance Annotated QualConDecl where+ ann (QualConDecl l _ _ _) = l+ amap f (QualConDecl l tvs cx cd) = QualConDecl (f l) tvs cx cd++instance Annotated ConDecl where+ ann (ConDecl l _ _) = l+ ann (InfixConDecl l _ _ _) = l+ ann (RecDecl l _ _) = l+ amap f (ConDecl l n bts) = ConDecl (f l) n bts+ amap f (InfixConDecl l ta n tb) = InfixConDecl (f l) ta n tb+ amap f (RecDecl l n fds) = RecDecl (f l) n fds++instance Annotated FieldDecl where+ ann (FieldDecl l _ _) = l+ amap f (FieldDecl l ns t) = FieldDecl (f l) ns t++instance Annotated GadtDecl where+ ann (GadtDecl l _ _ _ _ _) = l+ amap f (GadtDecl l n t1 t2 t3 t4) = GadtDecl (f l) n t1 t2 t3 t4++instance Annotated ClassDecl where+ ann (ClsDecl l _) = l+ ann (ClsDataFam l _ _ _) = l+ ann (ClsTyFam l _ _ _) = l+ ann (ClsTyDef l _) = l+ ann (ClsDefSig l _ _) = l+ amap f (ClsDecl l d) = ClsDecl (f l) d+ amap f (ClsDataFam l mcx dh mk) = ClsDataFam (f l) mcx dh mk+ amap f (ClsTyFam l dh mk mi) = ClsTyFam (f l) dh mk mi+ amap f (ClsTyDef l t ) = ClsTyDef (f l) t+ amap f (ClsDefSig l n t) = ClsDefSig (f l) n t++instance Annotated InstDecl where+ ann id = case id of+ InsDecl l _ -> l+ InsType l _ _ -> l+ InsData l _ _ _ _ -> l+ InsGData l _ _ _ _ _ -> l+-- InsInline l _ _ _ -> l+ amap f id = case id of+ InsDecl l d -> InsDecl (f l) d+ InsType l t1 t2 -> InsType (f l) t1 t2+ InsData l dn t cds ders -> InsData (f l) dn t cds ders+ InsGData l dn t mk gds ders -> InsGData (f l) dn t mk gds ders+-- InsInline l b act qn -> InsInline (f l) b act qn++instance Annotated BangType where+ ann (BangedTy l) = l+ ann (LazyTy l) = l+ ann (NoStrictAnnot l) = l++ amap f (BangedTy l) = BangedTy (f l)+ amap f (LazyTy l) = LazyTy (f l)+ amap f (NoStrictAnnot l) = NoStrictAnnot (f l)++instance Annotated Unpackedness where+ ann (Unpack l) = l+ ann (NoUnpack l) = l+ ann (NoUnpackPragma l) = l++ amap f (Unpack l) = Unpack (f l)+ amap f (NoUnpack l) = Unpack (f l)+ amap f (NoUnpackPragma l) = Unpack (f l)++instance Annotated Rhs where+ ann (UnGuardedRhs l _) = l+ ann (GuardedRhss l _) = l+ amap f (UnGuardedRhs l e) = UnGuardedRhs (f l) e+ amap f (GuardedRhss l grhss) = GuardedRhss (f l) grhss++instance Annotated GuardedRhs where+ ann (GuardedRhs l _ _) = l+ amap f (GuardedRhs l ss e) = GuardedRhs (f l) ss e++instance Annotated Type where+ ann t = case t of+ TyForall l _ _ _ -> l+ TyStar l -> l+ TyFun l _ _ -> l+ TyTuple l _ _ -> l+ TyUnboxedSum l _ -> l+ TyList l _ -> l+ TyParArray l _ -> l+ TyApp l _ _ -> l+ TyVar l _ -> l+ TyCon l _ -> l+ TyParen l _ -> l+ TyInfix l _ _ _ -> l+ TyKind l _ _ -> l+ TyPromoted l _ -> l+ TyEquals l _ _ -> l+ TySplice l _ -> l+ TyBang l _ _ _ -> l+ TyWildCard l _ -> l+ TyQuasiQuote l _ _ -> l+ amap f t1 = case t1 of+ TyForall l mtvs mcx t -> TyForall (f l) mtvs mcx t+ TyStar l -> TyStar (f l)+ TyFun l t1' t2 -> TyFun (f l) t1' t2+ TyTuple l b ts -> TyTuple (f l) b ts+ TyUnboxedSum l s -> TyUnboxedSum (f l) s+ TyList l t -> TyList (f l) t+ TyParArray l t -> TyParArray (f l) t+ TyApp l t1' t2 -> TyApp (f l) t1' t2+ TyVar l n -> TyVar (f l) n+ TyCon l qn -> TyCon (f l) qn+ TyParen l t -> TyParen (f l) t+ TyInfix l ta qn tb -> TyInfix (f l) ta qn tb+ TyKind l t k -> TyKind (f l) t k+ TyPromoted l p -> TyPromoted (f l) p+ TyEquals l a b -> TyEquals (f l) a b+ TySplice l s -> TySplice (f l) s+ TyBang l b u t -> TyBang (f l) b u t+ TyWildCard l n -> TyWildCard (f l) n+ TyQuasiQuote l n s -> TyQuasiQuote (f l) n s++instance Annotated MaybePromotedName where+ ann t = case t of+ PromotedName l _ -> l+ UnpromotedName l _ -> l+ amap f tl = case tl of+ PromotedName l q -> PromotedName (f l) q+ UnpromotedName l q -> UnpromotedName (f l) q++instance Annotated TyVarBind where+ ann (KindedVar l _ _) = l+ ann (UnkindedVar l _) = l+ amap f (KindedVar l n k) = KindedVar (f l) n k+ amap f (UnkindedVar l n) = UnkindedVar (f l) n++instance Annotated FunDep where+ ann (FunDep l _ _) = l+ amap f (FunDep l ns1 ns2) = FunDep (f l) ns1 ns2++instance Annotated Context where+ ann (CxSingle l _) = l+ ann (CxTuple l _) = l+ ann (CxEmpty l) = l+ amap f (CxSingle l asst ) = CxSingle (f l) asst+ amap f (CxTuple l assts) = CxTuple (f l) assts+ amap f (CxEmpty l) = CxEmpty (f l)++instance Annotated Asst where+ ann asst = case asst of+ TypeA l _ -> l+ IParam l _ _ -> l+ ParenA l _ -> l+ amap f asst = case asst of+ TypeA l t -> TypeA (f l) t+ IParam l ipn t -> IParam (f l) ipn t+ ParenA l a -> ParenA (f l) a++instance Annotated Literal where+ ann lit = case lit of+ Char l _ _ -> l+ String l _ _ -> l+ Int l _ _ -> l+ Frac l _ _ -> l+ PrimInt l _ _ -> l+ PrimWord l _ _ -> l+ PrimFloat l _ _ -> l+ PrimDouble l _ _ -> l+ PrimChar l _ _ -> l+ PrimString l _ _ -> l+ amap = fmap++instance Annotated Sign where+ ann sg = case sg of+ Signless l -> l+ Negative l -> l+ amap = fmap++instance Annotated Exp where+ ann e = case e of+ Var l _ -> l+ OverloadedLabel l _ -> l+ IPVar l _ -> l+ Con l _ -> l+ Lit l _ -> l+ InfixApp l _ _ _ -> l+ App l _ _ -> l+ NegApp l _ -> l+ Lambda l _ _ -> l+ Let l _ _ -> l+ If l _ _ _ -> l+ MultiIf l _ -> l+ Case l _ _ -> l+ Do l _ -> l+ MDo l _ -> l+ Tuple l _ _ -> l+ UnboxedSum l _ _ _ -> l+ TupleSection l _ _ -> l+ List l _ -> l+ ParArray l _ -> l+ Paren l _ -> l+ LeftSection l _ _ -> l+ RightSection l _ _ -> l+ RecConstr l _ _ -> l+ RecUpdate l _ _ -> l+ EnumFrom l _ -> l+ EnumFromTo l _ _ -> l+ EnumFromThen l _ _ -> l+ EnumFromThenTo l _ _ _ -> l+ ParArrayFromTo l _ _ -> l+ ParArrayFromThenTo l _ _ _ -> l+ ListComp l _ _ -> l+ ParComp l _ _ -> l+ ParArrayComp l _ _ -> l+ ExpTypeSig l _ _ -> l+ VarQuote l _ -> l+ TypQuote l _ -> l+ BracketExp l _ -> l+ SpliceExp l _ -> l+ QuasiQuote l _ _ -> l+ TypeApp l _ -> l++ XTag l _ _ _ _ -> l+ XETag l _ _ _ -> l+ XPcdata l _ -> l+ XExpTag l _ -> l+ XChildTag l _ -> l++ CorePragma l _ _ -> l+ SCCPragma l _ _ -> l+ GenPragma l _ _ _ _ -> l++ Proc l _ _ -> l+ LeftArrApp l _ _ -> l+ RightArrApp l _ _ -> l+ LeftArrHighApp l _ _ -> l+ RightArrHighApp l _ _ -> l+ ArrOp l _ -> l++ LCase l _ -> l++ amap f e1 = case e1 of+ Var l qn -> Var (f l) qn+ OverloadedLabel l qn -> OverloadedLabel (f l) qn+ IPVar l ipn -> IPVar (f l) ipn+ Con l qn -> Con (f l) qn+ Lit l lit -> Lit (f l) lit+ InfixApp l e1' qop e2 -> InfixApp (f l) e1' qop e2+ App l e1' e2 -> App (f l) e1' e2+ NegApp l e -> NegApp (f l) e+ Lambda l ps e -> Lambda (f l) ps e+ Let l bs e -> Let (f l) bs e+ If l ec et ee -> If (f l) ec et ee+ Case l e alts -> Case (f l) e alts+ Do l ss -> Do (f l) ss+ MDo l ss -> MDo (f l) ss+ Tuple l bx es -> Tuple (f l) bx es+ UnboxedSum l b a es -> UnboxedSum (f l) b a es+ TupleSection l bx mes -> TupleSection (f l) bx mes+ List l es -> List (f l) es+ ParArray l es -> ParArray (f l) es+ Paren l e -> Paren (f l) e+ LeftSection l e qop -> LeftSection (f l) e qop+ RightSection l qop e -> RightSection (f l) qop e+ RecConstr l qn fups -> RecConstr (f l) qn fups+ RecUpdate l e fups -> RecUpdate (f l) e fups+ EnumFrom l e -> EnumFrom (f l) e+ EnumFromTo l ef et -> EnumFromTo (f l) ef et+ EnumFromThen l ef et -> EnumFromThen (f l) ef et+ EnumFromThenTo l ef eth eto -> EnumFromThenTo (f l) ef eth eto+ ParArrayFromTo l ef et -> ParArrayFromTo (f l) ef et+ ParArrayFromThenTo l ef eth eto -> ParArrayFromThenTo (f l) ef eth eto+ ListComp l e qss -> ListComp (f l) e qss+ ParComp l e qsss -> ParComp (f l) e qsss+ ParArrayComp l e qsss -> ParArrayComp (f l) e qsss+ ExpTypeSig l e t -> ExpTypeSig (f l) e t+ VarQuote l qn -> VarQuote (f l) qn+ TypQuote l qn -> TypQuote (f l) qn+ BracketExp l br -> BracketExp (f l) br+ SpliceExp l sp -> SpliceExp (f l) sp+ QuasiQuote l sn se -> QuasiQuote (f l) sn se+ TypeApp l t -> TypeApp (f l) t++ XTag l xn xas me es -> XTag (f l) xn xas me es+ XETag l xn xas me -> XETag (f l) xn xas me+ XPcdata l s -> XPcdata (f l) s+ XExpTag l e -> XExpTag (f l) e+ XChildTag l es -> XChildTag (f l) es++ CorePragma l s e -> CorePragma (f l) s e+ SCCPragma l s e -> SCCPragma (f l) s e+ GenPragma l s n12 n34 e -> GenPragma (f l) s n12 n34 e++ Proc l p e -> Proc (f l) p e+ LeftArrApp l e1' e2 -> LeftArrApp (f l) e1' e2+ RightArrApp l e1' e2 -> RightArrApp (f l) e1' e2+ LeftArrHighApp l e1' e2 -> LeftArrHighApp (f l) e1' e2+ RightArrHighApp l e1' e2 -> RightArrHighApp (f l) e1' e2+ ArrOp l e -> ArrOp (f l) e++ LCase l alts -> LCase (f l) alts+ MultiIf l alts -> MultiIf (f l) alts+++instance Annotated XName where+ ann (XName l _) = l+ ann (XDomName l _ _) = l+ amap = fmap++instance Annotated XAttr where+ ann (XAttr l _ _) = l+ amap f (XAttr l xn e) = XAttr (f l) xn e++instance Annotated Bracket where+ ann (ExpBracket l _) = l+ ann (TExpBracket l _) = l+ ann (PatBracket l _) = l+ ann (TypeBracket l _) = l+ ann (DeclBracket l _) = l+ amap f (ExpBracket l e) = ExpBracket (f l) e+ amap f (TExpBracket l e) = TExpBracket (f l) e+ amap f (PatBracket l p) = PatBracket (f l) p+ amap f (TypeBracket l t) = TypeBracket (f l) t+ amap f (DeclBracket l ds) = DeclBracket (f l) ds++instance Annotated Splice where+ ann (IdSplice l _) = l+ ann (TIdSplice l _) = l+ ann (ParenSplice l _) = l+ ann (TParenSplice l _) = l+ amap f (IdSplice l s) = IdSplice (f l) s+ amap f (TIdSplice l s) = TIdSplice (f l) s+ amap f (ParenSplice l e) = ParenSplice (f l) e+ amap f (TParenSplice l e) = TParenSplice (f l) e++instance Annotated Safety where+ ann (PlayRisky l) = l+ ann (PlaySafe l _) = l+ ann (PlayInterruptible l) = l+ amap = fmap++instance Annotated CallConv where+ ann (StdCall l) = l+ ann (CCall l) = l+ ann (CPlusPlus l) = l+ ann (DotNet l) = l+ ann (Jvm l) = l+ ann (Js l) = l+ ann (JavaScript l) = l+ ann (CApi l) = l+ amap = fmap++instance Annotated ModulePragma where+ ann (LanguagePragma l _) = l+ ann (OptionsPragma l _ _) = l+ ann (AnnModulePragma l _) = l+ amap f (LanguagePragma l ns) = LanguagePragma (f l) ns+ amap f (AnnModulePragma l a) = AnnModulePragma (f l) a+ amap f p = fmap f p++instance Annotated Overlap where+ ann (NoOverlap l) = l+ ann (Overlap l) = l+ ann (Overlaps l) = l+ ann (Overlappable l) = l+ ann (Overlapping l) = l+ ann (Incoherent l) = l+ amap = fmap++instance Annotated Activation where+ ann (ActiveFrom l _) = l+ ann (ActiveUntil l _) = l+ amap = fmap++instance Annotated Rule where+ ann (Rule l _ _ _ _ _) = l+ amap f (Rule l s act mrvs e1 e2) = Rule (f l) s act mrvs e1 e2++instance Annotated RuleVar where+ ann (RuleVar l _) = l+ ann (TypedRuleVar l _ _) = l+ amap f (RuleVar l n) = RuleVar (f l) n+ amap f (TypedRuleVar l n t) = TypedRuleVar (f l) n t++instance Annotated WarningText where+ ann (DeprText l _) = l+ ann (WarnText l _) = l+ amap = fmap++instance Annotated Pat where+ ann p = case p of+ PVar l _ -> l+ PLit l _ _ -> l+ PNPlusK l _ _ -> l+ PInfixApp l _ _ _ -> l+ PApp l _ _ -> l+ PTuple l _ _ -> l+ PUnboxedSum l _ _ _ -> l+ PList l _ -> l+ PParen l _ -> l+ PRec l _ _ -> l+ PAsPat l _ _ -> l+ PWildCard l -> l+ PIrrPat l _ -> l+ PatTypeSig l _ _ -> l+ PViewPat l _ _ -> l+ PRPat l _ -> l+ PXTag l _ _ _ _ -> l+ PXETag l _ _ _ -> l+ PXPcdata l _ -> l+ PXPatTag l _ -> l+ PXRPats l _ -> l+ PSplice l _ -> l+ PQuasiQuote l _ _ -> l+ PBangPat l _ -> l+ amap f p1 = case p1 of+ PVar l n -> PVar (f l) n+ PLit l sg lit -> PLit (f l) sg lit+ PNPlusK l n k -> PNPlusK (f l) n k+ PInfixApp l pa qn pb -> PInfixApp (f l) pa qn pb+ PApp l qn ps -> PApp (f l) qn ps+ PTuple l bx ps -> PTuple (f l) bx ps+ PUnboxedSum l b a ps -> PUnboxedSum (f l) b a ps+ PList l ps -> PList (f l) ps+ PParen l p -> PParen (f l) p+ PRec l qn pfs -> PRec (f l) qn pfs+ PAsPat l n p -> PAsPat (f l) n p+ PWildCard l -> PWildCard (f l)+ PIrrPat l p -> PIrrPat (f l) p+ PatTypeSig l p t -> PatTypeSig (f l) p t+ PViewPat l e p -> PViewPat (f l) e p+ PRPat l rps -> PRPat (f l) rps+ PXTag l xn pxas mp ps -> PXTag (f l) xn pxas mp ps+ PXETag l xn pxas mp -> PXETag (f l) xn pxas mp+ PXPcdata l s -> PXPcdata (f l) s+ PXPatTag l p -> PXPatTag (f l) p+ PXRPats l rps -> PXRPats (f l) rps+ PSplice l sp -> PSplice (f l) sp+ PQuasiQuote l sn st -> PQuasiQuote (f l) sn st+ PBangPat l p -> PBangPat (f l) p++instance Annotated PXAttr where+ ann (PXAttr l _ _) = l+ amap f (PXAttr l xn p) = PXAttr (f l) xn p++instance Annotated RPatOp where+ ann (RPStar l) = l+ ann (RPStarG l) = l+ ann (RPPlus l) = l+ ann (RPPlusG l) = l+ ann (RPOpt l) = l+ ann (RPOptG l) = l+ amap = fmap++instance Annotated RPat where+ ann rp = case rp of+ RPOp l _ _ -> l+ RPEither l _ _ -> l+ RPSeq l _ -> l+ RPGuard l _ _ -> l+ RPCAs l _ _ -> l+ RPAs l _ _ -> l+ RPParen l _ -> l+ RPPat l _ -> l+ amap f rp1 = case rp1 of+ RPOp l rp rop -> RPOp (f l) rp rop+ RPEither l rp1' rp2 -> RPEither (f l) rp1' rp2+ RPSeq l rps -> RPSeq (f l) rps+ RPGuard l p ss -> RPGuard (f l) p ss+ RPCAs l n rp -> RPCAs (f l) n rp+ RPAs l n rp -> RPAs (f l) n rp+ RPParen l rp -> RPParen (f l) rp+ RPPat l p -> RPPat (f l) p++instance Annotated PatField where+ ann (PFieldPat l _ _) = l+ ann (PFieldPun l _) = l+ ann (PFieldWildcard l) = l+ amap f (PFieldPat l qn p) = PFieldPat (f l) qn p+ amap f (PFieldPun l n) = PFieldPun (f l) n+ amap f (PFieldWildcard l) = PFieldWildcard (f l)++instance Annotated Stmt where+ ann (Generator l _ _) = l+ ann (Qualifier l _) = l+ ann (LetStmt l _) = l+ ann (RecStmt l _) = l+ amap f (Generator l p e) = Generator (f l) p e+ amap f (Qualifier l e) = Qualifier (f l) e+ amap f (LetStmt l bs) = LetStmt (f l) bs+ amap f (RecStmt l ss) = RecStmt (f l) ss++instance Annotated QualStmt where+ ann (QualStmt l _) = l+ ann (ThenTrans l _) = l+ ann (ThenBy l _ _) = l+ ann (GroupBy l _) = l+ ann (GroupUsing l _) = l+ ann (GroupByUsing l _ _) = l+ amap f (QualStmt l s) = QualStmt (f l) s+ amap f (ThenTrans l e) = ThenTrans (f l) e+ amap f (ThenBy l e1 e2) = ThenBy (f l) e1 e2+ amap f (GroupBy l e) = GroupBy (f l) e+ amap f (GroupUsing l e) = GroupUsing (f l) e+ amap f (GroupByUsing l e1 e2) = GroupByUsing (f l) e1 e2++instance Annotated FieldUpdate where+ ann (FieldUpdate l _ _) = l+ ann (FieldPun l _) = l+ ann (FieldWildcard l) = l+ amap f (FieldUpdate l qn e) = FieldUpdate (f l) qn e+ amap f (FieldPun l n) = FieldPun (f l) n+ amap f (FieldWildcard l) = FieldWildcard (f l)++instance Annotated Alt where+ ann (Alt l _ _ _) = l+ amap f (Alt l p gs bs) = Alt (f l) p gs bs++instance Annotated Promoted where+ ann (PromotedInteger l _ _) = l+ ann (PromotedString l _ _) = l+ ann (PromotedCon l _ _) = l+ ann (PromotedList l _ _) = l+ ann (PromotedTuple l _) = l+ ann (PromotedUnit l) = l+ amap f (PromotedInteger l int raw) = PromotedInteger (f l) int raw+ amap f (PromotedString l str raw) = PromotedString (f l) str raw+ amap f (PromotedCon l b qn) = PromotedCon (f l) b qn+ amap f (PromotedList l b ps) = PromotedList (f l) b ps+ amap f (PromotedTuple l ps) = PromotedTuple (f l) ps+ amap f (PromotedUnit l) = PromotedUnit (f l)
+ src/Language/Preprocessor/Unlit.hs view
@@ -0,0 +1,72 @@+-- | Part of this code is from "Report on the Programming Language Haskell",+-- version 1.2, appendix C.+{-# OPTIONS_GHC -Wwarn #-}+module Language.Preprocessor.Unlit (unlit) where++import Data.Char+import Data.List (isPrefixOf)++data Classified = Program String | Blank | Comment+ | Include Int String | Pre String++classify :: [String] -> [Classified]+classify [] = []+classify (('\\':x):xs) | x == "begin{code}" = Blank : allProg xs+ where allProg [] = [] -- Should give an error message,+ -- but I have no good position information.+ allProg (('\\':y):ys) | "end{code}" `isPrefixOf` y = Blank : classify ys+ allProg (y:ys) = Program y : allProg ys+classify (('>':x):xs) = Program (' ' : x) : classify xs+classify (('#':x):xs) = (case words x of+ (line:rest) | all isDigit line+ -> Include (read line) (unwords rest)+ _ -> Pre x+ ) : classify xs+--classify (x:xs) | "{-# LINE" `isPrefixOf` x = Program x: classify xs+classify (x:xs) | all isSpace x = Blank : classify xs+classify (_:xs) = Comment : classify xs++unclassify :: Classified -> String+unclassify (Program s) = s+unclassify (Pre s) = '#':s+unclassify (Include i f) = '#':' ':show i ++ ' ':f+unclassify Blank = ""+unclassify Comment = ""++-- | 'unlit' takes a filename (for error reports), and transforms the+-- given string, to eliminate the literate comments from the program text.+unlit :: FilePath -> String -> String+unlit file lhs = (unlines+ . map unclassify+ . adjacent file (0::Int) Blank+ . classify) (inlines lhs)++adjacent :: FilePath -> Int -> Classified -> [Classified] -> [Classified]+adjacent file 0 _ (x :xs) = x : adjacent file 1 x xs -- force evaluation of line number+adjacent file n (Program _) (Comment :_ ) = error (message file n "program" "comment")+adjacent _ _ y@(Program _) (x@(Include i f):xs) = x: adjacent f i y xs+adjacent file n y@(Program _) (x@(Pre _) :xs) = x: adjacent file (n+1) y xs+adjacent file n Comment ( (Program _) :_ ) = error (message file n "comment" "program")+adjacent _ _ y@Comment (x@(Include i f):xs) = x: adjacent f i y xs+adjacent file n y@Comment (x@(Pre _) :xs) = x: adjacent file (n+1) y xs+adjacent _ _ y@Blank (x@(Include i f):xs) = x: adjacent f i y xs+adjacent file n y@Blank (x@(Pre _) :xs) = x: adjacent file (n+1) y xs+adjacent file n _ (x :xs) = x: adjacent file (n+1) x xs+adjacent _ _ _ [] = []++message :: String -> Int -> String -> String -> String+message "\"\"" n p c = "Line "++show n++": "++p++ " line before "++c++" line.\n"+message [] n p c = "Line "++show n++": "++p++ " line before "++c++" line.\n"+message file n p c = "In file " ++ file ++ " at line "++show n++": "++p++ " line before "++c++" line.\n"+++-- Re-implementation of 'lines', for better efficiency (but decreased laziness).+-- Also, importantly, accepts non-standard DOS and Mac line ending characters.+inlines :: String -> [String]+inlines = (`lines'` id)+ where+ lines' [] acc = [acc []]+ lines' ('\^M':'\n':s) acc = acc [] : lines' s id -- DOS+ lines' ('\^M':s) acc = acc [] : lines' s id -- MacOS+ lines' ('\n':s) acc = acc [] : lines' s id -- Unix+ lines' (c:s) acc = lines' s (acc . (c:))
tests/Extensions.hs view
@@ -1,11 +1,11 @@ {-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, StandaloneDeriving #-}+{-# OPTIONS_GHC -fno-warn-orphans #-} module Extensions (extensionProperties) where import Test.Tasty import Test.Tasty.SmallCheck-import Test.SmallCheck import Test.SmallCheck.Series-import Language.Haskell.Exts.Annotated+import Language.Haskell.Exts import Data.Function import Data.List @@ -22,11 +22,30 @@ (~~) :: Monad m => [Extension] -> [Extension] -> Property m xts1 ~~ xts2 = forAll $ \lang -> ((==) `on` sort . toExtensionList lang) xts1 xts2 +-- arbitrary examples+e1 :: KnownExtension+e1 = OverlappingInstances++e2 :: KnownExtension+e2 = UndecidableInstances++extensionProperties :: TestTree extensionProperties = localOption (SmallCheckDepth 2) $ testGroup "Properties of LANGUAGE extensions" $ [ testProperty "identity" $ \x -> x ~~ x , testProperty "idempotence" $ \x -> x ++ x ~~ x- , testProperty "right bias" $ \x y -> x ++ y ++ x ~~ y ++ x+ -- Actually, let's not exhaustively check n^2 cases+ -- , testProperty "right bias" $ \x y -> x ++ y ++ x ~~ y ++ x+ , testProperty "right bias - override to disabled" $+ [EnableExtension e1, DisableExtension e1] ~~ [DisableExtension e1]+ , testProperty "right bias - override to enabled" $+ [DisableExtension e1, EnableExtension e1] ~~ [EnableExtension e1]+ , testProperty "right bias - interleaved override to disabled" $+ [EnableExtension e1, EnableExtension e2, DisableExtension e1]+ ~~ [EnableExtension e2, DisableExtension e1]+ , testProperty "right bias - interleaved override to enabled" $+ [DisableExtension e1, EnableExtension e2, EnableExtension e1]+ ~~ [EnableExtension e2, EnableExtension e1] , testProperty "closedness of implication" $ \x -> impliesExts (impliesExts x) == impliesExts x , testProperty "closedness of toExtensionList" $ \l x -> let es = toExtensionList l x in es == impliesExts es , testProperty "opposite extensions 1" $ \x -> [EnableExtension x, DisableExtension x] ~~ [DisableExtension x]
tests/Runner.hs view
@@ -2,20 +2,19 @@ -- | Use "runhaskell Setup.hs test" or "cabal test" to run these tests. module Main where -import Language.Haskell.Exts.Annotated-import qualified Language.Haskell.Exts as S -- S for "Simple", i.e. not annotated+import Language.Haskell.Exts import Test.Tasty hiding (defaultMain) import Test.Tasty.Golden import Test.Tasty.Golden.Manage import System.FilePath-import System.FilePath.Find import System.IO import Control.Monad.Trans import Control.Applicative-import Data.Generics import Extensions+import Text.Show.Pretty + main :: IO () main = do sources <- getTestFiles examplesDir@@ -25,14 +24,15 @@ , prettyPrinterTests sources , prettyParserTests sources , extensionProperties+ , commentsTests examplesDir ] -- | Where all the tests are to be found examplesDir :: FilePath-examplesDir = "tests" </> "examples"+examplesDir = "tests/examples" getTestFiles :: MonadIO m => FilePath -> m [FilePath]-getTestFiles dir = liftIO $ find (return True) (extension ==? ".hs" ||? extension ==? ".lhs") dir+getTestFiles dir = liftIO $ findByExtension [".hs", ".lhs"] dir parserTests :: [FilePath] -> TestTree -- {{{ parserTests sources = testGroup "Parser tests" $ do@@ -46,7 +46,7 @@ parseUTF8FileWithComments (defaultParseMode { parseFilename = file }) file- writeBinaryFile out $ show ast ++ "\n"+ writeBinaryFile out $ ppShow ast ++ "\n" return $ goldenVsFile (takeBaseName file) golden out run -- }}} @@ -92,7 +92,7 @@ let -- parse mbAst =- S.parseFileContentsWithMode+ parseFileContentsWithMode (defaultParseMode { parseFilename = file }) contents -- try to pretty-print; summarize the test result@@ -115,22 +115,22 @@ contents <- readUTF8File file let -- parse- parse1Result :: ParseResult S.Module+ parse1Result :: ParseResult (Module SrcSpanInfo) parse1Result =- S.parseFileContentsWithMode+ parseFileContentsWithMode (defaultParseMode { parseFilename = file }) contents prettyResult :: ParseResult String prettyResult = prettyPrint <$> parse1Result - parse2Result :: ParseResult (ParseResult S.Module)- parse2Result = S.parseFileContents <$> prettyResult+ parse2Result :: ParseResult (ParseResult (Module SrcSpanInfo))+ parse2Result = parseFileContents <$> prettyResult -- Even the un-annotated AST contains certain locations. -- Obviously, they may differ, so we have to erase them.- eraseLocs :: S.Module -> S.Module- eraseLocs = everywhere $ mkT $ const noLoc+ eraseLocs :: Module l -> Module ()+ eraseLocs = (() <$) summary = case liftA3 (,,) parse1Result prettyResult parse2Result of@@ -156,11 +156,33 @@ return $ goldenVsFile (takeBaseName file) golden out run -- }}} +commentsTests :: FilePath -> TestTree -- {{{+commentsTests dir = testGroup "Comments tests" $ do+ let file = dir ++ "/HaddockComments.hs"+ out = file <.> "comments" <.> "out"+ golden = file <.> "comments" <.> "golden"+ run = do+ contents <- readUTF8File file+ let+ -- parse+ parse1Result :: ParseResult (Module SrcSpanInfo,[Comment])+ parse1Result =+ parseFileContentsWithComments+ (defaultParseMode { parseFilename = file })+ contents+ withC = case parse1Result of+ ParseOk res -> ParseOk $ associateHaddock res+ ParseFailed sloc msg -> ParseFailed sloc msg+ writeBinaryFile out $ show withC ++ "\n"+ return $ goldenVsFile (takeBaseName file) golden out run+ -- UTF8 utils {{{ readUTF8File :: FilePath -> IO String readUTF8File fp = openFile fp ReadMode >>= \h -> do hSetEncoding h utf8- hGetContents h+ c <- hGetContents h >>= \s -> length s `seq` return s+ hClose h+ return c parseUTF8FileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment])) parseUTF8FileWithComments p fp = readUTF8File fp >>= (return . parseFileContentsWithComments p)
tests/examples/AmbiguousFixities.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.parser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/ArityMismatch.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ArityMismatch.hs", srcLine = 3, srcColumn = 1}) "arity mismatch for 'foo'"+ParseFailed (SrcLoc "tests/examples/ArityMismatch.hs" 3 1) "arity mismatch for 'foo'"
tests/examples/ArityMismatch.hs.parser.golden view
@@ -1,1 +1,3 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ArityMismatch.hs", srcLine = 3, srcColumn = 1}) "arity mismatch for 'foo'"+ParseFailed+ (SrcLoc "tests/examples/ArityMismatch.hs" 3 1)+ "arity mismatch for 'foo'"
tests/examples/ArityMismatch.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ArityMismatch.hs", srcLine = 3, srcColumn = 1}) "arity mismatch for 'foo'"+ParseFailed (SrcLoc "tests/examples/ArityMismatch.hs" 3 1) "arity mismatch for 'foo'"
tests/examples/ArityMismatch.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ArityMismatch.hs", srcLine = 3, srcColumn = 1}) "arity mismatch for 'foo'"+ParseFailed (SrcLoc "tests/examples/ArityMismatch.hs" 3 1) "arity mismatch for 'foo'"
+ tests/examples/ArrowBrackets.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE Arrows #-}+module ArrowBrackets where++foo = proc (x, y) -> (| f (g -< x) |) y++bar = proc (x, y) -> do+ z <- (| f (g -< x) |) y+ (| f (h -< z) |) y
+ tests/examples/ArrowBrackets.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ArrowBrackets.hs.parser.golden view
@@ -0,0 +1,541 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 7+ , SrcSpan "tests/examples/ArrowBrackets.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "ArrowBrackets")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 13+ , SrcSpan "tests/examples/ArrowBrackets.hs" 1 21 1 24+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 14 1 20+ , srcInfoPoints = []+ }+ "Arrows"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 40+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 5 4 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 5 4 6 ]+ }+ (Proc+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 7 4 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 7 4 11+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 19 4 21+ ]+ }+ (PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 12 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 12 4 13+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 14 4 15+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 17 4 18+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ "y")+ ])+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 40+ , srcInfoPoints = []+ }+ (ArrOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 24+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 36 4 38+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ "f")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 27 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 27 4 28+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 34 4 35+ ]+ }+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 30 4 32 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ "g")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ "x")))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+ , srcInfoPoints = []+ }+ "y"))))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 8 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ "bar"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 5 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 5 6 6 ]+ }+ (Proc+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 7 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 7 6 11+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 19 6 21+ ]+ }+ (PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 12 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 12 6 13+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 14 6 15+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 17 6 18+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ "y")+ ])+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 22 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 22 6 24+ , SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 3+ , SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 3+ , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 5 7 7 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 4+ , srcInfoPoints = []+ }+ "z"))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 26+ , srcInfoPoints = []+ }+ (ArrOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 10+ , SrcSpan "tests/examples/ArrowBrackets.hs" 7 22 7 24+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+ , srcInfoPoints = []+ }+ "f")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 13 7 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 13 7 14+ , SrcSpan "tests/examples/ArrowBrackets.hs" 7 20 7 21+ ]+ }+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 14 7 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 16 7 18 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ "g")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ "x")))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ "y"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 21+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 21+ , srcInfoPoints = []+ }+ (ArrOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 5+ , SrcSpan "tests/examples/ArrowBrackets.hs" 8 17 8 19+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ "f")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 8 8 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 8 8 9+ , SrcSpan "tests/examples/ArrowBrackets.hs" 8 15 8 16+ ]+ }+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 11 8 13 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ "h")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ "z")))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ "y"))))+ ])))+ Nothing+ ]+ , []+ )
+ tests/examples/ArrowBrackets.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ArrowBrackets.hs.prettyprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE Arrows #-}+module ArrowBrackets where+foo = proc (x, y) -> (| f (g -< x) |) y+bar+ = proc (x, y) ->+ do z <- (| f (g -< x) |) y+ (| f (h -< z) |) y
tests/examples/ArrowLayout.hs.parser.golden view
@@ -1,1 +1,338 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 20, srcSpanEndLine = 2, srcSpanEndColumn = 25}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 19}, srcInfoPoints = []}) "ArrowLayout") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 21, srcSpanEndLine = 1, srcSpanEndColumn = 24}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 20}, srcInfoPoints = []}) "Arrows"]] [] [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 4}, srcInfoPoints = []}) "exp")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 8, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 6}]}) (Proc (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 15, srcSpanEndLine = 4, srcSpanEndColumn = 17}]}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 14}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 14}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 14}]}))) []) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 8, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 3, srcSpanEndLine = 5, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 0}]}) [RecStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 3, srcSpanEndLine = 5, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 7, srcSpanEndLine = 5, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 0}]}) [LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 7, srcSpanEndLine = 5, srcSpanEndColumn = 10}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 11, srcSpanEndLine = 5, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 11, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 11, srcSpanEndLine = 5, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 11, srcSpanEndLine = 5, srcSpanEndColumn = 12}, srcInfoPoints = []}) "e")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 13, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 13, srcSpanEndLine = 5, srcSpanEndColumn = 14}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 15, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 15, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 15, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) 1 "1")) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 17, srcSpanEndLine = 5, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 17, srcSpanEndLine = 5, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 17, srcSpanEndLine = 5, srcSpanEndColumn = 18}, srcInfoPoints = []}) "+"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 19, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 19, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 19, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = []}) "i"))))) Nothing]),Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 8}, srcInfoPoints = []}) "i")) (LeftArrApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 21, srcSpanEndLine = 6, srcSpanEndColumn = 23}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 20}, srcInfoPoints = []}) "integral"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 24, srcSpanEndLine = 6, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 24, srcSpanEndLine = 6, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 24, srcSpanEndLine = 6, srcSpanEndColumn = 25}, srcInfoPoints = []}) "e"))))],Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 11, srcSpanEndLine = 7, srcSpanEndColumn = 13}]}) (LeftArrApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 11, srcSpanEndLine = 7, srcSpanEndColumn = 13}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 10}, srcInfoPoints = []}) "returnA"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 14, srcSpanEndLine = 7, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 14, srcSpanEndLine = 7, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ArrowLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 14, srcSpanEndLine = 7, srcSpanEndColumn = 15}, srcInfoPoints = []}) "e"))))]))) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 1 1 1 1+ , SrcSpan "tests/examples/ArrowLayout.hs" 2 1 2 1+ , SrcSpan "tests/examples/ArrowLayout.hs" 2 1 2 1+ , SrcSpan "tests/examples/ArrowLayout.hs" 4 1 4 1+ , SrcSpan "tests/examples/ArrowLayout.hs" 8 1 8 1+ , SrcSpan "tests/examples/ArrowLayout.hs" 8 1 8 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 2 1 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 2 1 2 7+ , SrcSpan "tests/examples/ArrowLayout.hs" 2 20 2 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 2 8 2 19+ , srcInfoPoints = []+ }+ "ArrowLayout")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 1 1 1 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 1 1 1 13+ , SrcSpan "tests/examples/ArrowLayout.hs" 1 21 1 24+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 1 14 1 20+ , srcInfoPoints = []+ }+ "Arrows"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 4 1 7 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "exp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 4 5 7 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 4 5 4 6 ]+ }+ (Proc+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 4 7 7 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 4 7 4 11+ , SrcSpan "tests/examples/ArrowLayout.hs" 4 15 4 17+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 4 12 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 4 12 4 13+ , SrcSpan "tests/examples/ArrowLayout.hs" 4 13 4 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 4 12 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 4 12 4 13+ , SrcSpan "tests/examples/ArrowLayout.hs" 4 13 4 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 4 12 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 4 12 4 13+ , SrcSpan "tests/examples/ArrowLayout.hs" 4 13 4 14+ ]+ }))+ [])+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 4 18 7 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 4 18 4 20+ , SrcSpan "tests/examples/ArrowLayout.hs" 5 3 5 3+ , SrcSpan "tests/examples/ArrowLayout.hs" 7 3 7 3+ , SrcSpan "tests/examples/ArrowLayout.hs" 8 1 8 0+ ]+ }+ [ RecStmt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 5 3 6 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 5 3 5 6+ , SrcSpan "tests/examples/ArrowLayout.hs" 5 7 5 7+ , SrcSpan "tests/examples/ArrowLayout.hs" 6 7 6 7+ , SrcSpan "tests/examples/ArrowLayout.hs" 7 3 7 0+ ]+ }+ [ LetStmt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 5 7 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 5 7 5 10 ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 5 11 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 5 11 5 11+ , SrcSpan "tests/examples/ArrowLayout.hs" 6 7 6 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 5 11 5 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ "e"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 5 13 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 5 13 5 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 5 15 5 20+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowLayout.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ 1+ "1"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 5 17 5 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowLayout.hs" 5 17 5 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowLayout.hs" 5 17 5 18+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowLayout.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowLayout.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ ])+ , Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 6 7 6 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 6 9 6 11 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ "i"))+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 6 12 6 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 6 21 6 23 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 6 12 6 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 6 12 6 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 6 12 6 20+ , srcInfoPoints = []+ }+ "integral")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 6 24 6 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 6 24 6 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 6 24 6 25+ , srcInfoPoints = []+ }+ "e"))))+ ]+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 7 3 7 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 7 11 7 13 ]+ }+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 7 3 7 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowLayout.hs" 7 11 7 13 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 7 3 7 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 7 3 7 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 7 3 7 10+ , srcInfoPoints = []+ }+ "returnA")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowLayout.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowLayout.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ "e"))))+ ])))+ Nothing+ ]+ , []+ )
+ tests/examples/AtOperator.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeOperators #-}++data a :+: b = Proxy++foo = id @(Int :+: Int)++_ @> m = m
+ tests/examples/AtOperator.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtOperator.hs.parser.golden view
@@ -0,0 +1,291 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 1 1 1 1+ , SrcSpan "tests/examples/AtOperator.hs" 2 1 2 1+ , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1+ , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1+ , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1+ , SrcSpan "tests/examples/AtOperator.hs" 6 1 6 1+ , SrcSpan "tests/examples/AtOperator.hs" 8 1 8 1+ , SrcSpan "tests/examples/AtOperator.hs" 9 1 9 1+ , SrcSpan "tests/examples/AtOperator.hs" 9 1 9 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 1 1 1 13+ , SrcSpan "tests/examples/AtOperator.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 2 1 2 13+ , SrcSpan "tests/examples/AtOperator.hs" 2 28 2 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 2 14 2 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 4 14 4 15 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 1 4 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 13+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 13+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "a"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 8 4 11+ , srcInfoPoints = []+ }+ ":+:"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ "Proxy")+ [])+ ]+ []+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 24+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 5 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 6 5 6 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9+ , srcInfoPoints = []+ }+ "id")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 10 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 6 10 6 11 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 11 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 6 11 6 12+ , SrcSpan "tests/examples/AtOperator.hs" 6 23 6 24+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15+ , srcInfoPoints = []+ }+ "Int")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ ":+:")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23+ , srcInfoPoints = []+ }+ "Int"))))))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 11+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 11+ , srcInfoPoints = []+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 2+ , srcInfoPoints = []+ })+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 3 8 5+ , srcInfoPoints = []+ }+ "@>")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ "m")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 8 8 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 8 8 8 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11+ , srcInfoPoints = []+ }+ "m"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/AtOperator.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtOperator.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeOperators #-}++data a :+: b = Proxy+foo = id @(Int :+: Int)+_ @> m = m
+ tests/examples/AtSign.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE TypeApplications #-}+{- |+Accelerate interface to the native CUDA implementation+of the Fourier Transform provided by the CUFFT library.+-}+module Data.Array.Accelerate.CUFFT.Private where+++transform hndl@(Handle fallback mode width _) =+ wrap mode (A.constant width) $+ A.foreignAcc+ (AF.CUDAForeignAcc "transformForeign" $ transformForeign hndl)+ (unwrap mode (A.constant width) fallback)++
+ tests/examples/AtSign.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtSign.hs.parser.golden view
@@ -0,0 +1,591 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 1 18 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 1 1 1 1+ , SrcSpan "tests/examples/AtSign.hs" 2 1 2 1+ , SrcSpan "tests/examples/AtSign.hs" 3 1 3 1+ , SrcSpan "tests/examples/AtSign.hs" 8 1 8 1+ , SrcSpan "tests/examples/AtSign.hs" 8 1 8 1+ , SrcSpan "tests/examples/AtSign.hs" 11 1 11 1+ , SrcSpan "tests/examples/AtSign.hs" 18 1 18 1+ , SrcSpan "tests/examples/AtSign.hs" 18 1 18 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 8 1 8 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 8 1 8 7+ , SrcSpan "tests/examples/AtSign.hs" 8 44 8 49+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 8 8 8 43+ , srcInfoPoints = []+ }+ "Data.Array.Accelerate.CUFFT.Private")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 1 1 1 13+ , SrcSpan "tests/examples/AtSign.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 2 1 2 13+ , SrcSpan "tests/examples/AtSign.hs" 2 28 2 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 2 14 2 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 3 1 3 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 3 1 3 13+ , SrcSpan "tests/examples/AtSign.hs" 3 31 3 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 3 14 3 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 15 48+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 15 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 11 10+ , srcInfoPoints = []+ }+ "transform")+ [ PAsPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 11 11 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 11 15 11 16 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 11 11 15+ , srcInfoPoints = []+ }+ "hndl")+ (PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 16 11 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 11 16 11 17+ , SrcSpan "tests/examples/AtSign.hs" 11 45 11 46+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 23+ , srcInfoPoints = []+ }+ "Handle"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 24 11 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 24 11 32+ , srcInfoPoints = []+ }+ "fallback")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 33 11 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 33 11 37+ , srcInfoPoints = []+ }+ "mode")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 38 11 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 38 11 43+ , srcInfoPoints = []+ }+ "width")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 44 11 45+ , srcInfoPoints = []+ }+ ]))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 47 15 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 11 47 11 48 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 15 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8+ , srcInfoPoints = []+ }+ "wrap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13+ , srcInfoPoints = []+ }+ "mode"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 14 12 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 12 14 12 15+ , SrcSpan "tests/examples/AtSign.hs" 12 31 12 32+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 31+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+ , srcInfoPoints = []+ }+ "A")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+ , srcInfoPoints = []+ }+ "constant")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 26 12 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 26 12 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 12 26 12 31+ , srcInfoPoints = []+ }+ "width"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 15 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 14 69+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+ , srcInfoPoints = []+ }+ "A")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+ , srcInfoPoints = []+ }+ "foreignAcc")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 7 14 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 14 7 14 8+ , SrcSpan "tests/examples/AtSign.hs" 14 68 14 69+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 8 14 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 8 14 44+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+ , srcInfoPoints = []+ }+ "AF")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+ , srcInfoPoints = []+ }+ "CUDAForeignAcc")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 26 14 44+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 26 14 44+ , srcInfoPoints = []+ }+ "transformForeign"+ "transformForeign")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 45 14 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 45 14 46+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 45 14 46+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 47 14 68+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 47 14 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 47 14 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 47 14 63+ , srcInfoPoints = []+ }+ "transformForeign")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 64 14 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 64 14 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 64 14 68+ , srcInfoPoints = []+ }+ "hndl")))))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 7 15 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 15 7 15 8+ , SrcSpan "tests/examples/AtSign.hs" 15 47 15 48+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 47+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 38+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 8 15 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 8 15 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 8 15 14+ , srcInfoPoints = []+ }+ "unwrap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 15 15 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 15 15 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 15 15 19+ , srcInfoPoints = []+ }+ "mode"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 20 15 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 15 20 15 21+ , SrcSpan "tests/examples/AtSign.hs" 15 37 15 38+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 21 15 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+ , srcInfoPoints = []+ }+ "A")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+ , srcInfoPoints = []+ }+ "constant")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 32 15 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 32 15 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 32 15 37+ , srcInfoPoints = []+ }+ "width"))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 39 15 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 39 15 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 39 15 47+ , srcInfoPoints = []+ }+ "fallback"))))))))+ Nothing+ ]+ ]+ , [ Comment+ True+ (SrcSpan "tests/examples/AtSign.hs" 4 1 7 3)+ " |\nAccelerate interface to the native CUDA implementation\nof the Fourier Transform provided by the CUFFT library.\n"+ ]+ )
+ tests/examples/AtSign.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtSign.hs.prettyprinter.golden view
@@ -0,0 +1,9 @@+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE TypeApplications #-}+module Data.Array.Accelerate.CUFFT.Private where+transform hndl@(Handle fallback mode width _)+ = wrap mode (A.constant width) $+ A.foreignAcc+ (AF.CUDAForeignAcc "transformForeign" $ transformForeign hndl)+ (unwrap mode (A.constant width) fallback)
tests/examples/Attributes.hs.parser.golden view
file too large to diff
tests/examples/Attributes.hs.prettyparser.golden view
@@ -1,10 +1,1 @@-Roundtrip test failed--AST 1:--Module (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (ModuleName "Data.GraphViz.Attributes") [] Nothing (Just [EThingAll (UnQual (Ident "Attribute")),EAbs (UnQual (Ident "Attributes")),EVar (UnQual (Ident "usedByGraphs")),EVar (UnQual (Ident "usedBySubGraphs")),EVar (UnQual (Ident "usedByClusters")),EVar (UnQual (Ident "usedByNodes")),EVar (UnQual (Ident "usedByEdges")),EAbs (UnQual (Ident "EscString")),EThingAll (UnQual (Ident "URL")),EThingAll (UnQual (Ident "ArrowType")),EThingAll (UnQual (Ident "AspectType")),EThingAll (UnQual (Ident "Rect")),EThingAll (UnQual (Ident "ClusterMode")),EThingAll (UnQual (Ident "DirType")),EThingAll (UnQual (Ident "DEConstraints")),EThingAll (UnQual (Ident "DPoint")),EThingAll (UnQual (Ident "ModeType")),EThingAll (UnQual (Ident "Model")),EThingAll (UnQual (Ident "Label")),EThingAll (UnQual (Ident "Point")),EThingAll (UnQual (Ident "Overlap")),EThingAll (UnQual (Ident "LayerRange")),EThingAll (UnQual (Ident "LayerID")),EThingAll (UnQual (Ident "LayerList")),EThingAll (UnQual (Ident "OutputMode")),EThingAll (UnQual (Ident "Pack")),EThingAll (UnQual (Ident "PackMode")),EThingAll (UnQual (Ident "Pos")),EThingAll (UnQual (Ident "EdgeType")),EThingAll (UnQual (Ident "PageDir")),EThingAll (UnQual (Ident "Spline")),EThingAll (UnQual (Ident "QuadType")),EThingAll (UnQual (Ident "Root")),EThingAll (UnQual (Ident "RankType")),EThingAll (UnQual (Ident "RankDir")),EThingAll (UnQual (Ident "Shape")),EThingAll (UnQual (Ident "SmoothType")),EThingAll (UnQual (Ident "StartType")),EThingAll (UnQual (Ident "STStyle")),EThingAll (UnQual (Ident "StyleItem")),EThingAll (UnQual (Ident "StyleName")),EThingAll (UnQual (Ident "PortPos")),EThingAll (UnQual (Ident "CompassPoint")),EThingAll (UnQual (Ident "ViewPort")),EThingAll (UnQual (Ident "FocusType")),EThingAll (UnQual (Ident "VerticalPlacement")),EThingAll (UnQual (Ident "ScaleType")),EThingAll (UnQual (Ident "Justification")),EThingAll (UnQual (Ident "Ratios")),EModuleContents (ModuleName "Data.GraphViz.Attributes.Colors"),EThingAll (UnQual (Ident "ArrowShape")),EThingAll (UnQual (Ident "ArrowModifier")),EThingAll (UnQual (Ident "ArrowFill")),EThingAll (UnQual (Ident "ArrowSide")),EVar (UnQual (Ident "box")),EVar (UnQual (Ident "crow")),EVar (UnQual (Ident "diamond")),EVar (UnQual (Ident "dotArrow")),EVar (UnQual (Ident "inv")),EVar (UnQual (Ident "noArrow")),EVar (UnQual (Ident "normal")),EVar (UnQual (Ident "tee")),EVar (UnQual (Ident "vee")),EVar (UnQual (Ident "oDot")),EVar (UnQual (Ident "invDot")),EVar (UnQual (Ident "invODot")),EVar (UnQual (Ident "oBox")),EVar (UnQual (Ident "oDiamond")),EVar (UnQual (Ident "eDiamond")),EVar (UnQual (Ident "openArr")),EVar (UnQual (Ident "halfOpen")),EVar (UnQual (Ident "emptyArr")),EVar (UnQual (Ident "invEmpty")),EVar (UnQual (Ident "noMods")),EVar (UnQual (Ident "openMod")),EVar (UnQual (Ident "defLayerSep")),EVar (UnQual (Ident "notLayerSep"))]) [ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.GraphViz.Attributes.Colors", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.GraphViz.Util", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.GraphViz.Parsing", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.GraphViz.Printing", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.Char", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "toLower")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.Maybe", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "isJust")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Control.Arrow", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "first")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Control.Monad", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "liftM"),IVar (Ident "liftM2")])}] [DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Attribute") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Damping") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "K") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "URL") [UnBangedTy (TyCon (UnQual (Ident "URL")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ArrowHead") [UnBangedTy (TyCon (UnQual (Ident "ArrowType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ArrowSize") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ArrowTail") [UnBangedTy (TyCon (UnQual (Ident "ArrowType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Aspect") [UnBangedTy (TyCon (UnQual (Ident "AspectType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Bb") [UnBangedTy (TyCon (UnQual (Ident "Rect")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "BgColor") [UnBangedTy (TyCon (UnQual (Ident "Color")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Center") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Charset") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ClusterRank") [UnBangedTy (TyCon (UnQual (Ident "ClusterMode")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ColorScheme") [UnBangedTy (TyCon (UnQual (Ident "ColorScheme")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Color") [UnBangedTy (TyList (TyCon (UnQual (Ident "Color"))))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Comment") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Compound") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Concentrate") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Constraint") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Decorate") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DefaultDist") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Dimen") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Dim") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Dir") [UnBangedTy (TyCon (UnQual (Ident "DirType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DirEdgeConstraints") [UnBangedTy (TyCon (UnQual (Ident "DEConstraints")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Distortion") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DPI") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "EdgeURL") [UnBangedTy (TyCon (UnQual (Ident "URL")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "EdgeTarget") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "EdgeTooltip") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Epsilon") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ESep") [UnBangedTy (TyCon (UnQual (Ident "DPoint")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FillColor") [UnBangedTy (TyCon (UnQual (Ident "Color")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FixedSize") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FontColor") [UnBangedTy (TyCon (UnQual (Ident "Color")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FontName") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FontNames") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FontPath") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FontSize") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Group") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadURL") [UnBangedTy (TyCon (UnQual (Ident "URL")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadClip") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadLabel") [UnBangedTy (TyCon (UnQual (Ident "Label")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadPort") [UnBangedTy (TyCon (UnQual (Ident "PortPos")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadTarget") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadTooltip") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Height") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ID") [UnBangedTy (TyCon (UnQual (Ident "Label")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Image") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ImageScale") [UnBangedTy (TyCon (UnQual (Ident "ScaleType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelURL") [UnBangedTy (TyCon (UnQual (Ident "URL")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelAngle") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelDistance") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelFloat") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelFontColor") [UnBangedTy (TyCon (UnQual (Ident "Color")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelFontName") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelFontSize") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelJust") [UnBangedTy (TyCon (UnQual (Ident "Justification")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelLoc") [UnBangedTy (TyCon (UnQual (Ident "VerticalPlacement")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelTarget") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelTooltip") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Label") [UnBangedTy (TyCon (UnQual (Ident "Label")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Landscape") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LayerSep") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Layers") [UnBangedTy (TyCon (UnQual (Ident "LayerList")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Layer") [UnBangedTy (TyCon (UnQual (Ident "LayerRange")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Layout") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Len") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LevelsGap") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Levels") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LHead") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LPos") [UnBangedTy (TyCon (UnQual (Ident "Point")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LTail") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Margin") [UnBangedTy (TyCon (UnQual (Ident "DPoint")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MaxIter") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MCLimit") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MinDist") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MinLen") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Model") [UnBangedTy (TyCon (UnQual (Ident "Model")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Mode") [UnBangedTy (TyCon (UnQual (Ident "ModeType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Mosek") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NodeSep") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoJustify") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Normalize") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Nslimit1") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Nslimit") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Ordering") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Orientation") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "OutputOrder") [UnBangedTy (TyCon (UnQual (Ident "OutputMode")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "OverlapScaling") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Overlap") [UnBangedTy (TyCon (UnQual (Ident "Overlap")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackMode") [UnBangedTy (TyCon (UnQual (Ident "PackMode")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Pack") [UnBangedTy (TyCon (UnQual (Ident "Pack")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Pad") [UnBangedTy (TyCon (UnQual (Ident "DPoint")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PageDir") [UnBangedTy (TyCon (UnQual (Ident "PageDir")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Page") [UnBangedTy (TyCon (UnQual (Ident "Point")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PenColor") [UnBangedTy (TyCon (UnQual (Ident "Color")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PenWidth") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Peripheries") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Pin") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Pos") [UnBangedTy (TyCon (UnQual (Ident "Pos")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "QuadTree") [UnBangedTy (TyCon (UnQual (Ident "QuadType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Quantum") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RankDir") [UnBangedTy (TyCon (UnQual (Ident "RankDir")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RankSep") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rank") [UnBangedTy (TyCon (UnQual (Ident "RankType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Ratio") [UnBangedTy (TyCon (UnQual (Ident "Ratios")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rects") [UnBangedTy (TyCon (UnQual (Ident "Rect")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Regular") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ReMinCross") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RepulsiveForce") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Root") [UnBangedTy (TyCon (UnQual (Ident "Root")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rotate") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SameHead") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SameTail") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SamplePoints") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SearchSize") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Sep") [UnBangedTy (TyCon (UnQual (Ident "DPoint")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ShapeFile") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Shape") [UnBangedTy (TyCon (UnQual (Ident "Shape")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ShowBoxes") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Sides") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Size") [UnBangedTy (TyCon (UnQual (Ident "Point")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Skew") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Smoothing") [UnBangedTy (TyCon (UnQual (Ident "SmoothType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SortV") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Splines") [UnBangedTy (TyCon (UnQual (Ident "EdgeType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Start") [UnBangedTy (TyCon (UnQual (Ident "StartType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "StyleSheet") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Style") [UnBangedTy (TyList (TyCon (UnQual (Ident "StyleItem"))))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailURL") [UnBangedTy (TyCon (UnQual (Ident "URL")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailClip") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailLabel") [UnBangedTy (TyCon (UnQual (Ident "Label")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailPort") [UnBangedTy (TyCon (UnQual (Ident "PortPos")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailTarget") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailTooltip") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Target") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Tooltip") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TrueColor") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Vertices") [UnBangedTy (TyList (TyCon (UnQual (Ident "Point"))))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ViewPort") [UnBangedTy (TyCon (UnQual (Ident "ViewPort")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "VoroMargin") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Weight") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Width") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Z") [UnBangedTy (TyCon (UnQual (Ident "Double")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],TypeDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "Attributes") [] (TyList (TyCon (UnQual (Ident "Attribute")))),InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Attribute"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Damping")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "Damping"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "K")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "K"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "URL")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "URL"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ArrowHead")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "arrowhead"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ArrowSize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "arrowsize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ArrowTail")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "arrowtail"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Aspect")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "aspect"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Bb")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "bb"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "BgColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "bgcolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Center")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "center"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Charset")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "charset"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ClusterRank")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "clusterrank"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ColorScheme")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "colorscheme"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Color")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "color"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Comment")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "comment"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Compound")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "compound"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Concentrate")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "concentrate"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Constraint")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "constraint"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Decorate")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "decorate"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "DefaultDist")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "defaultdist"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Dimen")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "dimen"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Dim")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "dim"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Dir")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "dir"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "DirEdgeConstraints")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "diredgeconstraints"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Distortion")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "distortion"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "DPI")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "dpi"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "EdgeURL")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "edgeURL"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "EdgeTarget")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "edgetarget"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "EdgeTooltip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "edgetooltip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Epsilon")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "epsilon"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ESep")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "esep"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FillColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fillcolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FixedSize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fixedsize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FontColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fontcolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FontName")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fontname"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FontNames")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fontnames"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FontPath")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fontpath"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FontSize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fontsize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Group")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "group"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadURL")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headURL"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadClip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headclip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadLabel")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headlabel"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadPort")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headport"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadTarget")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headtarget"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadTooltip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headtooltip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Height")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "height"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ID")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "id"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Image")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "image"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ImageScale")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "imagescale"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelURL")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelURL"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelAngle")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelangle"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelDistance")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labeldistance"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelFloat")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelfloat"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelFontColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelfontcolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelFontName")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelfontname"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelFontSize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelfontsize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelJust")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labeljust"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelLoc")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelloc"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelTarget")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labeltarget"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelTooltip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labeltooltip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Label")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "label"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Landscape")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "landscape"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LayerSep")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "layersep"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Layers")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "layers"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Layer")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "layer"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Layout")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "layout"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Len")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "len"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LevelsGap")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "levelsgap"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Levels")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "levels"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LHead")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "lhead"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LPos")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "lp"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LTail")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "ltail"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Margin")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "margin"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "MaxIter")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "maxiter"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "MCLimit")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "mclimit"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "MinDist")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "mindist"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "MinLen")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "minlen"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Model")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "model"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Mode")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "mode"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Mosek")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "mosek"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "NodeSep")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "nodesep"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "NoJustify")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "nojustify"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Normalize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "normalize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Nslimit1")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "nslimit1"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Nslimit")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "nslimit"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Ordering")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "ordering"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Orientation")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "orientation"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "OutputOrder")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "outputorder"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "OverlapScaling")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "overlap_scaling"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Overlap")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "overlap"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PackMode")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "packmode"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Pack")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pack"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Pad")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pad"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PageDir")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pagedir"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Page")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "page"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PenColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pencolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PenWidth")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "penwidth"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Peripheries")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "peripheries"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Pin")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pin"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Pos")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pos"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "QuadTree")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "quadtree"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Quantum")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "quantum"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "RankDir")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "rankdir"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "RankSep")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "ranksep"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Rank")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "rank"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Ratio")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "ratio"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Rects")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "rects"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Regular")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "regular"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ReMinCross")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "remincross"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "RepulsiveForce")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "repulsiveforce"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Root")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "root"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Rotate")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "rotate"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SameHead")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "samehead"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SameTail")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "sametail"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SamplePoints")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "samplepoints"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SearchSize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "searchsize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Sep")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "sep"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ShapeFile")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "shapefile"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Shape")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "shape"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ShowBoxes")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "showboxes"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Sides")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "sides"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Size")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "size"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Skew")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "skew"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Smoothing")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "smoothing"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SortV")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "sortv"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Splines")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "splines"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Start")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "start"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "StyleSheet")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "stylesheet"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Style")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "style"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailURL")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tailURL"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailClip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tailclip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailLabel")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "taillabel"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailPort")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tailport"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailTarget")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tailtarget"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailTooltip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tailtooltip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Target")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "target"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Tooltip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tooltip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TrueColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "truecolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Vertices")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "vertices"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ViewPort")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "viewport"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "VoroMargin")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "voro_margin"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Weight")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "weight"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Width")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "width"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Z")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "z"))) (Var (UnQual (Ident "v"))))) (BDecls [])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "listToDot")) Nothing (UnGuardedRhs (Var (UnQual (Ident "unqtListToDot")))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Attribute"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Damping")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "Damping"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "K")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "K"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "URL")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "URL"),Lit (String "href")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ArrowHead")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "arrowhead"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ArrowSize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "arrowsize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ArrowTail")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "arrowtail"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Aspect")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "aspect"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Bb")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "bb"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "BgColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "bgcolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Center")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "center"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Charset")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "charset"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ClusterRank")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "clusterrank"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ColorScheme")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "colorscheme"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Color")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "color"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Comment")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "comment"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Compound")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "compound"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Concentrate")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "concentrate"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Constraint")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "constraint"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Decorate")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "decorate"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "DefaultDist")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "defaultdist"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Dimen")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "dimen"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Dim")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "dim"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Dir")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "dir"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "DirEdgeConstraints")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "EdgeConstraints")))) (Lit (String "diredgeconstraints"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Distortion")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "distortion"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "DPI")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "dpi"),Lit (String "resolution")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "EdgeURL")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "edgeURL"),Lit (String "edgehref")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "EdgeTarget")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "edgetarget"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "EdgeTooltip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "edgetooltip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Epsilon")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "epsilon"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ESep")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "esep"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FillColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fillcolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FixedSize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "fixedsize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FontColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fontcolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FontName")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fontname"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FontNames")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fontnames"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FontPath")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fontpath"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FontSize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fontsize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Group")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "group"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadURL")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "headURL"),Lit (String "headhref")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadClip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "headclip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadLabel")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "headlabel"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadPort")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "headport"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadTarget")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "headtarget"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadTooltip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "headtooltip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Height")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "height"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ID")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "id"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Image")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "image"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ImageScale")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "UniformScale")))) (Lit (String "imagescale"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelURL")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "labelURL"),Lit (String "labelhref")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelAngle")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labelangle"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelDistance")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labeldistance"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelFloat")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "labelfloat"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelFontColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labelfontcolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelFontName")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labelfontname"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelFontSize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labelfontsize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelJust")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labeljust"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelLoc")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labelloc"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelTarget")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labeltarget"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelTooltip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labeltooltip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Label")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "label"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Landscape")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "landscape"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LayerSep")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "layersep"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Layers")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "layers"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Layer")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "layer"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Layout")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "layout"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Len")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "len"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LevelsGap")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "levelsgap"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Levels")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "levels"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LHead")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "lhead"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LPos")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "lp"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LTail")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "ltail"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Margin")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "margin"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "MaxIter")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "maxiter"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "MCLimit")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "mclimit"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "MinDist")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "mindist"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "MinLen")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "minlen"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Model")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "model"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Mode")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "mode"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Mosek")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "mosek"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NodeSep")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "nodesep"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NoJustify")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "nojustify"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Normalize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "normalize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Nslimit1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "nslimit1"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Nslimit")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "nslimit"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Ordering")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "ordering"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Orientation")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "orientation"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "OutputOrder")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "outputorder"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "OverlapScaling")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "overlap_scaling"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Overlap")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "KeepOverlaps")))) (Lit (String "overlap"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PackMode")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "packmode"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Pack")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "DoPack")))) (Lit (String "pack"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Pad")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "pad"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PageDir")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "pagedir"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Page")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "page"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PenColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "pencolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PenWidth")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "penwidth"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Peripheries")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "peripheries"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Pin")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "pin"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Pos")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "pos"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "QuadTree")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "NormalQT")))) (Lit (String "quadtree"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Quantum")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "quantum"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "RankDir")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "rankdir"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "RankSep")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "ranksep"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Rank")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "rank"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Ratio")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "ratio"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Rects")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "rects"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Regular")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "regular"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ReMinCross")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "remincross"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "RepulsiveForce")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "repulsiveforce"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Root")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "IsCentral")))) (Lit (String "root"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Rotate")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "rotate"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "SameHead")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "samehead"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "SameTail")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "sametail"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "SamplePoints")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "samplepoints"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "SearchSize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "searchsize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Sep")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "sep"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ShapeFile")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "shapefile"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Shape")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "shape"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ShowBoxes")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "showboxes"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Sides")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "sides"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Size")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "size"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Skew")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "skew"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Smoothing")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "smoothing"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "SortV")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "sortv"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Splines")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "SplineEdges")))) (Lit (String "splines"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Start")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "start"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "StyleSheet")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "stylesheet"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Style")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "style"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailURL")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "tailURL"),Lit (String "tailhref")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailClip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "tailclip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailLabel")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "taillabel"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailPort")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "tailport"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailTarget")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "tailtarget"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailTooltip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "tailtooltip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Target")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "target"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Tooltip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "tooltip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TrueColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "truecolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Vertices")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "vertices"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ViewPort")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "viewport"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "VoroMargin")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "voro_margin"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Weight")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "weight"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Width")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "width"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Z")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "z")))]))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseUnqt")))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseList")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseUnqtList")))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "usedByGraphs"] (TyFun (TyCon (UnQual (Ident "Attribute"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Damping")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "K")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "URL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Aspect")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Bb")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "BgColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Center")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Charset")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ClusterRank")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ColorScheme")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Comment")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Compound")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Concentrate")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "DefaultDist")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Dimen")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Dim")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "DirEdgeConstraints")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "DPI")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Epsilon")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ESep")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "FontColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "FontName")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "FontNames")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "FontPath")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "FontSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ID")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "LabelJust")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "LabelLoc")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Label")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Landscape")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "LayerSep")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Layers")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Layout")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "LevelsGap")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Levels")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "LPos")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Margin")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "MaxIter")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "MCLimit")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "MinDist")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Model")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Mode")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Mosek")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "NodeSep")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "NoJustify")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Normalize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Nslimit1")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Nslimit")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Ordering")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "OutputOrder")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "OverlapScaling")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Overlap")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "PackMode")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Pack")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Pad")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "PageDir")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Page")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "QuadTree")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Quantum")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "RankDir")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "RankSep")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Ratio")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ReMinCross")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "RepulsiveForce")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Root")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Rotate")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "SearchSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Sep")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ShowBoxes")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Size")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Smoothing")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "SortV")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Splines")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Start")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "StyleSheet")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Target")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "TrueColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ViewPort")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "VoroMargin")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "usedByClusters"] (TyFun (TyCon (UnQual (Ident "Attribute"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "K")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "URL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "BgColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "ColorScheme")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Color")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "FillColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "FontColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "FontName")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "FontSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "LabelJust")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "LabelLoc")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Label")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "LPos")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "NoJustify")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "PenColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "PenWidth")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Peripheries")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Rank")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "SortV")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Style")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Target")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Tooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "usedBySubGraphs"] (TyFun (TyCon (UnQual (Ident "Attribute"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedBySubGraphs") [PRec (UnQual (Ident "Rank")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedBySubGraphs") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "usedByNodes"] (TyFun (TyCon (UnQual (Ident "Attribute"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "URL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "ColorScheme")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Color")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Comment")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Distortion")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "FillColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "FixedSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "FontColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "FontName")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "FontSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Group")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Height")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "ID")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Image")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "ImageScale")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "LabelLoc")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Label")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Layer")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Margin")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "NoJustify")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Orientation")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "PenWidth")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Peripheries")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Pin")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Pos")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Rects")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Regular")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Root")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "SamplePoints")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "ShapeFile")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Shape")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "ShowBoxes")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Sides")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Skew")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "SortV")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Style")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Target")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Tooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Vertices")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Width")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Z")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "usedByEdges"] (TyFun (TyCon (UnQual (Ident "Attribute"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "URL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ArrowHead")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ArrowSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ArrowTail")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ColorScheme")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Color")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Comment")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Constraint")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Decorate")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Dir")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "EdgeURL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "EdgeTarget")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "EdgeTooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "FontColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "FontName")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "FontSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadURL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadClip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadLabel")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadPort")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadTarget")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadTooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ID")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelURL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelAngle")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelDistance")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelFloat")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelFontColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelFontName")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelFontSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelTarget")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelTooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Label")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Layer")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Len")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LHead")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LPos")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LTail")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "MinLen")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "NoJustify")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "PenWidth")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Pos")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "SameHead")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "SameTail")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ShowBoxes")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Style")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailURL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailClip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailLabel")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailPort")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailTarget")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailTooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Target")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Tooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Weight")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "EscString") [] (TyCon (UnQual (Ident "String"))),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) NewType [] (Ident "URL") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (RecDecl (Ident "UStr") [([Ident "urlString"],UnBangedTy (TyCon (UnQual (Ident "EscString"))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "URL"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "unqtDot")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "wrap"))) (Paren (App (Var (UnQual (Ident "char"))) (Lit (Char '<'))))) (Paren (App (Var (UnQual (Ident "char"))) (Lit (Char '>'))))) (QVarOp (UnQual (Symbol "."))) (InfixApp (Var (UnQual (Ident "text"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "urlString")))))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "URL"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "UStr")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "bracket"))) (Paren (App (Var (UnQual (Ident "character"))) (Var (UnQual (Ident "open")))))) (Paren (App (Var (UnQual (Ident "character"))) (Var (UnQual (Ident "close")))))) (Paren (InfixApp (Var (UnQual (Ident "many1"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "satisfy"))) (Paren (App (Var (UnQual (Symbol "/="))) (Var (UnQual (Ident "close"))))))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "open")) Nothing (UnGuardedRhs (Lit (Char '<'))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "close")) Nothing (UnGuardedRhs (Lit (Char '>'))) (BDecls [])])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseUnqt")))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) NewType [] (Ident "ArrowType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "AType") [UnBangedTy (TyList (TyTuple Boxed [TyCon (UnQual (Ident "ArrowModifier")),TyCon (UnQual (Ident "ArrowShape"))]))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "box",Ident "crow",Ident "diamond",Ident "dotArrow",Ident "inv",Ident "noArrow",Ident "normal",Ident "tee",Ident "vee"] (TyCon (UnQual (Ident "ArrowType"))),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "oDot",Ident "invDot",Ident "invODot",Ident "oBox",Ident "oDiamond"] (TyCon (UnQual (Ident "ArrowType"))),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "eDiamond",Ident "openArr",Ident "halfOpen",Ident "emptyArr",Ident "invEmpty"] (TyCon (UnQual (Ident "ArrowType"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "normal")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Normal"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "inv")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Inv"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "dotArrow")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "DotArrow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "invDot")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Inv"))],Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "DotArrow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "oDot")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [App (App (Con (UnQual (Ident "ArrMod"))) (Con (UnQual (Ident "OpenArrow")))) (Con (UnQual (Ident "BothSides"))),Con (UnQual (Ident "DotArrow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "invODot")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Inv"))],Tuple Boxed [Var (UnQual (Ident "openMod")),Con (UnQual (Ident "DotArrow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "noArrow")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "NoArrow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "tee")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Tee"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "emptyArr")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "openMod")),Con (UnQual (Ident "Normal"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "invEmpty")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Inv"))],Tuple Boxed [Var (UnQual (Ident "openMod")),Con (UnQual (Ident "Normal"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "diamond")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Diamond"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "oDiamond")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "openMod")),Con (UnQual (Ident "Diamond"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "eDiamond")) Nothing (UnGuardedRhs (Var (UnQual (Ident "oDiamond")))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "crow")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Crow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "box")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Box"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "oBox")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "openMod")),Con (UnQual (Ident "Box"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "openArr")) Nothing (UnGuardedRhs (Var (UnQual (Ident "vee")))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "halfOpen")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [App (App (Con (UnQual (Ident "ArrMod"))) (Con (UnQual (Ident "FilledArrow")))) (Con (UnQual (Ident "LeftSide"))),Con (UnQual (Ident "Vee"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "vee")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Vee"))]]))) (BDecls []),InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ArrowType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "AType")) [PVar (Ident "mas")])] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "hcat"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "appMod")))) (Var (UnQual (Ident "mas")))))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appMod") [PTuple Boxed [PVar (Ident "m"),PVar (Ident "a")]] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "m")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "a")))))) (BDecls [])]])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ArrowType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "mas")) (InfixApp (Var (UnQual (Ident "many1"))) (QVarOp (UnQual (Symbol "$"))) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "m")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "a")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (App (Var (UnQual (Ident "return"))) (Tuple Boxed [Var (UnQual (Ident "m")),Var (UnQual (Ident "a"))]))])),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "AType"))) (Var (UnQual (Ident "mas")))))]) (QVarOp (UnQual (Ident "onFail"))) (Var (UnQual (Ident "specialArrowParse"))))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "specialArrowParse"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyCon (UnQual (Ident "ArrowType")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "specialArrowParse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Var (UnQual (Ident "eDiamond")))) (Lit (String "ediamond")),App (App (Var (UnQual (Ident "stringRep"))) (Var (UnQual (Ident "openArr")))) (Lit (String "open")),App (App (Var (UnQual (Ident "stringRep"))) (Var (UnQual (Ident "halfOpen")))) (Lit (String "halfopen")),App (App (Var (UnQual (Ident "stringRep"))) (Var (UnQual (Ident "emptyArr")))) (Lit (String "empty")),App (App (Var (UnQual (Ident "stringRep"))) (Var (UnQual (Ident "invEmpty")))) (Lit (String "invempty"))]))) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ArrowShape") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Box") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Crow") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Diamond") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DotArrow") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Inv") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoArrow") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Normal") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Tee") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Vee") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ArrowShape"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Box")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "box")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Crow")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "crow")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Diamond")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "diamond")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DotArrow")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "dot")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Inv")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "inv")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoArrow")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "none")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Normal")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "normal")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Tee")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "tee")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Vee")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "vee")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ArrowShape"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Box")))) (Lit (String "box")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Crow")))) (Lit (String "crow")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Diamond")))) (Lit (String "diamond")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "DotArrow")))) (Lit (String "dot")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Inv")))) (Lit (String "inv")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoArrow")))) (Lit (String "none")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Normal")))) (Lit (String "normal")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Tee")))) (Lit (String "tee")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Vee")))) (Lit (String "vee"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ArrowModifier") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (RecDecl (Ident "ArrMod") [([Ident "arrowFill"],UnBangedTy (TyCon (UnQual (Ident "ArrowFill")))),([Ident "arrowSide"],UnBangedTy (TyCon (UnQual (Ident "ArrowSide"))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "noMods"] (TyCon (UnQual (Ident "ArrowModifier"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "noMods")) Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "ArrMod"))) (Con (UnQual (Ident "FilledArrow")))) (Con (UnQual (Ident "BothSides"))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "openMod"] (TyCon (UnQual (Ident "ArrowModifier"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "openMod")) Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "ArrMod"))) (Con (UnQual (Ident "OpenArrow")))) (Con (UnQual (Ident "BothSides"))))) (BDecls []),InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ArrowModifier"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ArrMod")) [PVar (Ident "f"),PVar (Ident "s")])] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "f")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ArrowModifier"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "f")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "s")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "ArrMod"))) (Var (UnQual (Ident "f")))) (Var (UnQual (Ident "s")))))])) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ArrowFill") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "OpenArrow") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FilledArrow") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ArrowFill"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "OpenArrow")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'o')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FilledArrow")) []] Nothing (UnGuardedRhs (Var (UnQual (Ident "empty")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ArrowFill"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "liftM"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "FilledArrow")))) (Con (UnQual (Ident "OpenArrow")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "isJust")))))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "optional"))) (Paren (App (Var (UnQual (Ident "character"))) (Lit (Char 'o'))))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseUnqt")))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ArrowSide") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LeftSide") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RightSide") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "BothSides") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ArrowSide"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "LeftSide")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'l')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "RightSide")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'r')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "BothSides")) []] Nothing (UnGuardedRhs (Var (UnQual (Ident "empty")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ArrowSide"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "getSideType")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "optional"))) (Paren (InfixApp (Var (UnQual (Ident "oneOf"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "character")))) (List [Lit (Char 'l'),Lit (Char 'r')]))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "getSideType")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "maybe"))) (Con (UnQual (Ident "BothSides")))) (Paren (InfixApp (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "RightSide")))) (Con (UnQual (Ident "LeftSide")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Symbol "=="))) (Lit (Char 'l'))))))) (BDecls [])])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseUnqt")))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "AspectType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RatioOnly") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RatioPassCount") [UnBangedTy (TyCon (UnQual (Ident "Double"))),UnBangedTy (TyCon (UnQual (Ident "Int")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "AspectType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "RatioOnly")) [PVar (Ident "r")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "r"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "RatioPassCount")) [PVar (Ident "r"),PVar (Ident "p")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "commaDel"))) (Var (UnQual (Ident "r")))) (Var (UnQual (Ident "p"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PAsPat (Ident "at") (PRec (UnQual (Ident "RatioOnly")) [])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "at"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PAsPat (Ident "at") (PRec (UnQual (Ident "RatioPassCount")) [])] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "at")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "AspectType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "RatioPassCount")))))) (Var (UnQual (Ident "commaSepUnqt")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "RatioOnly")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Paren (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "RatioPassCount")))))) (Var (UnQual (Ident "commaSepUnqt")))))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "RatioOnly")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Rect") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rect") [UnBangedTy (TyCon (UnQual (Ident "Point"))),UnBangedTy (TyCon (UnQual (Ident "Point")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Rect"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Rect")) [PVar (Ident "p1"),PVar (Ident "p2")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "commaDel"))) (Var (UnQual (Ident "p1")))) (Var (UnQual (Ident "p2"))))) (BDecls [])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "toDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot"))))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Rect"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "Rect")))))) (Var (UnQual (Ident "commaSepUnqt"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ClusterMode") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Local") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Global") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoCluster") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ClusterMode"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Local")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "local")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Global")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "global")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoCluster")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "none")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ClusterMode"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Local")))) (Lit (String "local")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Global")))) (Lit (String "global")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoCluster")))) (Lit (String "none"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "DirType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Forward") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Back") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Both") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoDir") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "DirType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Forward")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "forward")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Back")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "back")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Both")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "both")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoDir")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "none")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "DirType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Forward")))) (Lit (String "forward")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Back")))) (Lit (String "back")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Both")))) (Lit (String "both")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoDir")))) (Lit (String "none"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "DEConstraints") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "EdgeConstraints") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoConstraints") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HierConstraints") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "DEConstraints"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "EdgeConstraints")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoConstraints")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "HierConstraints")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "hier")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "DEConstraints"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "NoConstraints")))) (Con (UnQual (Ident "EdgeConstraints")))))) (Var (UnQual (Ident "parse")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "HierConstraints")))) (Lit (String "hier"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "DPoint") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DVal") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PVal") [UnBangedTy (TyCon (UnQual (Ident "Point")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "DPoint"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "DVal")) [PVar (Ident "d")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "d"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PVal")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "p"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "DVal")) [PVar (Ident "d")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "d"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "PVal")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "p"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "DPoint"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PVal")))) (Var (UnQual (Ident "parseUnqt")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "DVal")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PVal")))) (Var (UnQual (Ident "parse")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "DVal")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ModeType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Major") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "KK") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Hier") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "IpSep") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ModeType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Major")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "major")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "KK")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "KK")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Hier")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "hier")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "IpSep")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "ipsep")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ModeType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Major")))) (Lit (String "major")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "KK")))) (Lit (String "KK")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Hier")))) (Lit (String "hier")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "IpSep")))) (Lit (String "ipsep"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Model") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ShortPath") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SubSet") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Circuit") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Model"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "ShortPath")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "shortpath")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SubSet")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "subset")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Circuit")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "circuit")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Model"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "ShortPath")))) (Lit (String "shortpath")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SubSet")))) (Lit (String "subset")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Circuit")))) (Lit (String "circuit"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Label") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "StrLabel") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "URLLabel") [UnBangedTy (TyCon (UnQual (Ident "URL")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Label"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "StrLabel")) [PVar (Ident "s")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "URLLabel")) [PVar (Ident "u")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "u"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "StrLabel")) [PVar (Ident "s")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "s"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "URLLabel")) [PVar (Ident "u")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "u"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Label"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "StrLabel")))) (Var (UnQual (Ident "parseUnqt")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "URLLabel")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "StrLabel")))) (Var (UnQual (Ident "parse")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "URLLabel")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Point") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Point") [UnBangedTy (TyCon (UnQual (Ident "Int"))),UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PointD") [UnBangedTy (TyCon (UnQual (Ident "Double"))),UnBangedTy (TyCon (UnQual (Ident "Double")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Point"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Point")) [PVar (Ident "x"),PVar (Ident "y")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "commaDel"))) (Var (UnQual (Ident "x")))) (Var (UnQual (Ident "y"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PointD")) [PVar (Ident "x"),PVar (Ident "y")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "commaDel"))) (Var (UnQual (Ident "x")))) (Var (UnQual (Ident "y"))))) (BDecls [])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "toDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "unqtListToDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "hsep"))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "unqtDot")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "listToDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtListToDot"))))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Point"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "intDblPoint"))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "Point")))))) (Var (UnQual (Ident "commaSepUnqt"))))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "PointD")))))) (Var (UnQual (Ident "commaSepUnqt")))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "intDblPoint")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "liftM"))) (Paren (InfixApp (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "PointD")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "first"))) (Var (UnQual (Ident "fI"))))))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "commaSep'"))) (Var (UnQual (Ident "parseUnqt")))) (Var (UnQual (Ident "parseStrictFloat")))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "fI"] (TyFun (TyCon (UnQual (Ident "Int"))) (TyCon (UnQual (Ident "Double")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "fI")) Nothing (UnGuardedRhs (Var (UnQual (Ident "fromIntegral")))) (BDecls [])])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqtList")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "sepBy1"))) (Var (UnQual (Ident "parseUnqt")))) (Var (UnQual (Ident "whitespace"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Overlap") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "KeepOverlaps") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RemoveOverlaps") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ScaleOverlaps") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ScaleXYOverlaps") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PrismOverlap") [UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Int")))))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "CompressOverlap") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "VpscOverlap") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "IpsepOverlap") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Overlap"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "KeepOverlaps")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "RemoveOverlaps")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "ScaleOverlaps")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "scale")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "ScaleXYOverlaps")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "scalexy")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PrismOverlap")) [PVar (Ident "i")])] Nothing (UnGuardedRhs (InfixApp (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (InfixApp (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "<>")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot")))))) (Var (UnQual (Ident "i")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "text"))) (Lit (String "prism"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "CompressOverlap")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "compress")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "VpscOverlap")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "vpsc")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "IpsepOverlap")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "ipsep")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Overlap"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "KeepOverlaps")))) (Lit (String "true")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "RemoveOverlaps")))) (Lit (String "false")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "ScaleXYOverlaps")))) (Lit (String "scalexy")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "ScaleOverlaps")))) (Lit (String "scale")),InfixApp (App (Var (UnQual (Ident "string"))) (Lit (String "prism"))) (QVarOp (UnQual (Symbol ">>"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PrismOverlap")))) (Paren (App (Var (UnQual (Ident "optional"))) (Var (UnQual (Ident "parse")))))),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "CompressOverlap")))) (Lit (String "compress")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "VpscOverlap")))) (Lit (String "vpsc")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "IpsepOverlap")))) (Lit (String "ipsep"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "LayerRange") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LRID") [UnBangedTy (TyCon (UnQual (Ident "LayerID")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LRS") [UnBangedTy (TyCon (UnQual (Ident "LayerID"))),UnBangedTy (TyCon (UnQual (Ident "String"))),UnBangedTy (TyCon (UnQual (Ident "LayerID")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "LayerRange"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LRID")) [PVar (Ident "lid")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "lid"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LRS")) [PVar (Ident "id1"),PVar (Ident "s"),PVar (Ident "id2")])] Nothing (UnGuardedRhs (InfixApp (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "id1")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s"))))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "id2")))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "LRID")) [PVar (Ident "lid")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "lid"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "lrs")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "lrs")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "LayerRange"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "id1")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "s")) (Var (UnQual (Ident "parseLayerSep"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "id2")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "LRS"))) (Var (UnQual (Ident "id1")))) (Var (UnQual (Ident "s")))) (Var (UnQual (Ident "id2")))))]) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LRID")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Paren (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "id1")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "s")) (Var (UnQual (Ident "parseLayerSep"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "id2")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "LRS"))) (Var (UnQual (Ident "id1")))) (Var (UnQual (Ident "s")))) (Var (UnQual (Ident "id2")))))]))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LRID")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseLayerSep"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyCon (UnQual (Ident "String")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseLayerSep")) Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "many1"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "oneOf")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "character")))) (Var (UnQual (Ident "defLayerSep")))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "defLayerSep"] (TyList (TyCon (UnQual (Ident "Char")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "defLayerSep")) Nothing (UnGuardedRhs (List [Lit (Char ' '),Lit (Char ':'),Lit (Char '\t')])) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseLayerName"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyCon (UnQual (Ident "String")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseLayerName")) Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "many1"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "orQuote")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "satisfy"))) (Paren (App (App (App (Var (UnQual (Ident "liftM2"))) (Var (UnQual (Symbol "&&")))) (Var (UnQual (Ident "notLayerSep")))) (Paren (App (Var (UnQual (Symbol "/="))) (Var (UnQual (Ident "quoteChar")))))))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseLayerName'"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyCon (UnQual (Ident "String")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseLayerName'")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "stringBlock"))) (QVarOp (UnQual (Ident "onFail"))) (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseLayerName")))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "notLayerSep"] (TyFun (TyCon (UnQual (Ident "Char"))) (TyCon (UnQual (Ident "Bool")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "notLayerSep")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "notElem")))) (Var (UnQual (Ident "defLayerSep"))))) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "LayerID") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "AllLayers") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LRInt") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LRName") [UnBangedTy (TyCon (UnQual (Ident "String")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "LayerID"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "AllLayers")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "all")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LRInt")) [PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "n"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LRName")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "nm"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "LRName")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "nm"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "li")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "li"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "LayerID"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "checkLayerName")))) (Var (UnQual (Ident "parseLayerName"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "checkLayerName")))) (Var (UnQual (Ident "parseLayerName'"))),App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LRInt")))) (Var (UnQual (Ident "parse")))]))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "checkLayerName"] (TyFun (TyCon (UnQual (Ident "String"))) (TyCon (UnQual (Ident "LayerID")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "checkLayerName") [PVar (Ident "str")] Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "checkAll")))) (Con (UnQual (Ident "LRInt")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "stringToInt"))) (Var (UnQual (Ident "str")))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "checkAll")) Nothing (UnGuardedRhs (If (InfixApp (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "toLower")))) (Var (UnQual (Ident "str")))) (QVarOp (UnQual (Symbol "=="))) (Lit (String "all"))) (Con (UnQual (Ident "AllLayers"))) (App (Con (UnQual (Ident "LRName"))) (Var (UnQual (Ident "str")))))) (BDecls [])])],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "LayerList") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LL") [UnBangedTy (TyCon (UnQual (Ident "String"))),UnBangedTy (TyList (TyTuple Boxed [TyCon (UnQual (Ident "String")),TyCon (UnQual (Ident "String"))]))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "LayerList"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LL")) [PVar (Ident "l1"),PVar (Ident "ols")])] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "l1")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "hcat"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "subLL")))) (Var (UnQual (Ident "ols")))))))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "subLL") [PTuple Boxed [PVar (Ident "s"),PVar (Ident "l")]] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "l")))))) (BDecls [])]])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "LL")) [PVar (Ident "l1"),PList []])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "l1"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "ll")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "ll")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "LayerList"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "l1")) (Var (UnQual (Ident "parseLayerName"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "ols")) (InfixApp (Var (UnQual (Ident "many"))) (QVarOp (UnQual (Symbol "$"))) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "s")) (Var (UnQual (Ident "parseLayerSep"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "lnm")) (Var (UnQual (Ident "parseLayerName"))),Qualifier (App (Var (UnQual (Ident "return"))) (Tuple Boxed [Var (UnQual (Ident "s")),Var (UnQual (Ident "lnm"))]))])),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "LL"))) (Var (UnQual (Ident "l1")))) (Var (UnQual (Ident "ols")))))])) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "flip"))) (Con (UnQual (Ident "LL")))) (List [])))) (Paren (InfixApp (Var (UnQual (Ident "parseLayerName'"))) (QVarOp (UnQual (Ident "onFail"))) (Var (UnQual (Ident "numString")))))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "OutputMode") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "BreadthFirst") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NodesFirst") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "EdgesFirst") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "OutputMode"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "BreadthFirst")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "breadthfirst")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NodesFirst")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "nodesfirst")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "EdgesFirst")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "edgesfirst")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "OutputMode"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "BreadthFirst")))) (Lit (String "breadthfirst")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NodesFirst")))) (Lit (String "nodesfirst")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "EdgesFirst")))) (Lit (String "edgesfirst"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Pack") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DoPack") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DontPack") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackMargin") [UnBangedTy (TyCon (UnQual (Ident "Int")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Pack"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DoPack")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DontPack")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PackMargin")) [PVar (Ident "m")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "m"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Pack"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PackMargin")))) (Var (UnQual (Ident "parseUnqt"))),App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "DontPack")))) (Con (UnQual (Ident "DoPack")))))) (Var (UnQual (Ident "onlyBool")))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "PackMode") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackNode") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackClust") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackGraph") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackArray") [UnBangedTy (TyCon (UnQual (Ident "Bool"))),UnBangedTy (TyCon (UnQual (Ident "Bool"))),UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Int")))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "PackMode"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PackNode")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "node")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PackClust")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "clust")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PackGraph")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "graph")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PackArray")) [PVar (Ident "c"),PVar (Ident "u"),PVar (Ident "mi")])] Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "addNum"))) (QVarOp (UnQual (Symbol "."))) (InfixApp (Var (UnQual (Ident "isU"))) (QVarOp (UnQual (Symbol "."))) (InfixApp (Var (UnQual (Ident "isC"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "isUnder")))))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "text"))) (Lit (String "array"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "addNum")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (InfixApp (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "<>")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot")))))) (Var (UnQual (Ident "mi"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "isUnder")) Nothing (UnGuardedRhs (If (InfixApp (Var (UnQual (Ident "c"))) (QVarOp (UnQual (Symbol "||"))) (Var (UnQual (Ident "u")))) (InfixApp (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "<>")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "char"))) (Lit (Char '_')))) (Var (UnQual (Ident "id"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "isC")) Nothing (UnGuardedRhs (If (Var (UnQual (Ident "c"))) (InfixApp (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "<>")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "char"))) (Lit (Char 'c')))) (Var (UnQual (Ident "id"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "isU")) Nothing (UnGuardedRhs (If (Var (UnQual (Ident "u"))) (InfixApp (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "<>")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "char"))) (Lit (Char 'u')))) (Var (UnQual (Ident "id"))))) (BDecls [])])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "PackMode"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PackNode")))) (Lit (String "node")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PackClust")))) (Lit (String "clust")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PackGraph")))) (Lit (String "graph")),Do [Qualifier (App (Var (UnQual (Ident "string"))) (Lit (String "array"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "mcu")) (InfixApp (Var (UnQual (Ident "optional"))) (QVarOp (UnQual (Symbol "$"))) (Do [Qualifier (App (Var (UnQual (Ident "character"))) (Lit (Char '_'))),Qualifier (InfixApp (Var (UnQual (Ident "many1"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "satisfy"))) (Var (UnQual (Ident "isCU")))))])),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "c")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "hasCharacter"))) (Var (UnQual (Ident "mcu")))) (Lit (Char 'c')))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "u")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "hasCharacter"))) (Var (UnQual (Ident "mcu")))) (Lit (Char 'u')))) (BDecls [])]),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "mi")) (App (Var (UnQual (Ident "optional"))) (Var (UnQual (Ident "parseUnqt")))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "PackArray"))) (Var (UnQual (Ident "c")))) (Var (UnQual (Ident "u")))) (Var (UnQual (Ident "mi")))))]]))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "hasCharacter") [PVar (Ident "ms"),PVar (Ident "c")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "maybe"))) (Con (UnQual (Ident "False")))) (Paren (App (Var (UnQual (Ident "elem"))) (Var (UnQual (Ident "c")))))) (Var (UnQual (Ident "ms"))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "isCU")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "elem")))) (List [Lit (Char 'c'),Lit (Char 'u')]))) (BDecls [])]))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Pos") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PointPos") [UnBangedTy (TyCon (UnQual (Ident "Point")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SplinePos") [UnBangedTy (TyList (TyCon (UnQual (Ident "Spline"))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Pos"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PointPos")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "p"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SplinePos")) [PVar (Ident "ss")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "ss"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "PointPos")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "p"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "SplinePos")) [PVar (Ident "ss")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "ss"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Pos"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "splns")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (Case (Var (UnQual (Ident "splns"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PList [PApp (UnQual (Ident "Spline")) [PApp (UnQual (Ident "Nothing")) [],PApp (UnQual (Ident "Nothing")) [],PList [PVar (Ident "p")]]]) (UnGuardedAlt (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "PointPos"))) (Var (UnQual (Ident "p")))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) PWildCard (UnGuardedAlt (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "SplinePos"))) (Var (UnQual (Ident "splns")))))) (BDecls [])])])) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "EdgeType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SplineEdges") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LineEdges") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoEdges") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PolyLine") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "CompoundEdge") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "EdgeType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SplineEdges")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "LineEdges")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoEdges")) []] Nothing (UnGuardedRhs (Var (UnQual (Ident "empty")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PolyLine")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "polyline")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "CompoundEdge")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "compound")))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PApp (UnQual (Ident "NoEdges")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "doubleQuotes"))) (Var (UnQual (Ident "empty"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "et")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "et"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "EdgeType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "LineEdges")))) (Con (UnQual (Ident "SplineEdges")))))) (Var (UnQual (Ident "parse"))),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SplineEdges")))) (Lit (String "spline")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "LineEdges")))) (Lit (String "line")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PolyLine")))) (Lit (String "polyline")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "CompoundEdge")))) (Lit (String "compound"))]))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoEdges")))) (Lit (String "\"\""))) (QVarOp (UnQual (Ident "onFail"))) (App (Var (UnQual (Ident "optionalQuoted"))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "PageDir") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Bl") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Br") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Tl") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Tr") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rb") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rt") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Lb") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Lt") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "PageDir"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Bl")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "BL")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Br")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "BR")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Tl")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "TL")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Tr")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "TR")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Rb")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "RB")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Rt")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "RT")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Lb")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "LB")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Lt")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "LT")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "PageDir"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Bl")))) (Lit (String "BL")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Br")))) (Lit (String "BR")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Tl")))) (Lit (String "TL")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Tr")))) (Lit (String "TR")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Rb")))) (Lit (String "RB")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Rt")))) (Lit (String "RT")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Lb")))) (Lit (String "LB")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Lt")))) (Lit (String "LT"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Spline") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Spline") [UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Point"))))),UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Point"))))),UnBangedTy (TyList (TyCon (UnQual (Ident "Point"))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Spline"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Spline")) [PVar (Ident "ms"),PVar (Ident "me"),PVar (Ident "ps")])] Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "addS"))) (QVarOp (UnQual (Symbol "."))) (InfixApp (Var (UnQual (Ident "addE"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "hsep"))))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "unqtDot")))) (Var (UnQual (Ident "ps")))))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "addP") [PVar (Ident "t")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (InfixApp (Var (UnQual (Symbol "<+>"))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "commaDel"))) (Var (UnQual (Ident "t")))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "addS")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "addP"))) (Lit (Char 's'))) (Var (UnQual (Ident "ms"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "addE")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "addP"))) (Lit (Char 'e'))) (Var (UnQual (Ident "me"))))) (BDecls [])])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "toDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "unqtListToDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "hcat"))) (QVarOp (UnQual (Symbol "."))) (InfixApp (App (Var (UnQual (Ident "punctuate"))) (Var (UnQual (Ident "semi")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "unqtDot"))))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "listToDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtListToDot"))))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Spline"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "ms")) (App (Var (UnQual (Ident "parseP"))) (Lit (Char 's'))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "me")) (App (Var (UnQual (Ident "parseP"))) (Lit (Char 'e'))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "ps")) (App (App (Var (UnQual (Ident "sepBy1"))) (Var (UnQual (Ident "parseUnqt")))) (Var (UnQual (Ident "whitespace")))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "Spline"))) (Var (UnQual (Ident "ms")))) (Var (UnQual (Ident "me")))) (Var (UnQual (Ident "ps")))))])) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "parseP") [PVar (Ident "t")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "optional"))) (QVarOp (UnQual (Symbol "$"))) (Do [Qualifier (App (Var (UnQual (Ident "character"))) (Var (UnQual (Ident "t")))),Qualifier (Var (UnQual (Ident "parseComma"))),Qualifier (InfixApp (Var (UnQual (Ident "parseUnqt"))) (QVarOp (UnQual (Ident "discard"))) (Var (UnQual (Ident "whitespace"))))]))) (BDecls [])]])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqtList")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "sepBy1"))) (Var (UnQual (Ident "parseUnqt")))) (Paren (App (Var (UnQual (Ident "character"))) (Lit (Char ';')))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "QuadType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NormalQT") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FastQT") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoQT") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "QuadType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NormalQT")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "normal")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FastQT")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "fast")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoQT")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "none")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "QuadType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NormalQT")))) (Lit (String "normal")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FastQT")))) (Lit (String "fast")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoQT")))) (Lit (String "none")),InfixApp (App (Var (UnQual (Ident "character"))) (Lit (Char '2'))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "return"))) (Con (UnQual (Ident "FastQT")))),App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "NoQT")))) (Con (UnQual (Ident "NormalQT")))))) (Var (UnQual (Ident "parse")))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Root") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "IsCentral") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NotCentral") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NodeName") [UnBangedTy (TyCon (UnQual (Ident "String")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Root"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "IsCentral")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NotCentral")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "NodeName")) [PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "n"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "NodeName")) [PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "n"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "r")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "r"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Root"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "NotCentral")))) (Con (UnQual (Ident "IsCentral")))))) (Var (UnQual (Ident "onlyBool")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NodeName")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "optionalQuoted"))) (Paren (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "NotCentral")))) (Con (UnQual (Ident "IsCentral")))))) (Var (UnQual (Ident "onlyBool")))))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NodeName")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "RankType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SameRank") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MinRank") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SourceRank") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MaxRank") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SinkRank") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "RankType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SameRank")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "same")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "MinRank")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "min")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SourceRank")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "source")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "MaxRank")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "max")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SinkRank")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "sink")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "RankType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SameRank")))) (Lit (String "same")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "MinRank")))) (Lit (String "min")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SourceRank")))) (Lit (String "source")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "MaxRank")))) (Lit (String "max")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SinkRank")))) (Lit (String "sink"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "RankDir") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FromTop") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FromLeft") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FromBottom") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FromRight") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "RankDir"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FromTop")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "TB")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FromLeft")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "LR")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FromBottom")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "BT")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FromRight")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "RL")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "RankDir"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FromTop")))) (Lit (String "TB")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FromLeft")))) (Lit (String "LR")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FromBottom")))) (Lit (String "BT")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FromRight")))) (Lit (String "RL"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Shape") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "BoxShape") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Polygon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Ellipse") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Circle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PointShape") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Egg") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Triangle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PlainText") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DiamondShape") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Trapezium") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Parallelogram") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "House") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Pentagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Hexagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Septagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Octagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DoubleCircle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DoubleOctagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TripleOctagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "InvTriangle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "InvTrapezium") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "InvHouse") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MDiamond") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MSquare") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MCircle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Note") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Tab") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Folder") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Box3D") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Component") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Shape"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "BoxShape")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "box")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Polygon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "polygon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Ellipse")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "ellipse")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Circle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "circle")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PointShape")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "point")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Egg")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "egg")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Triangle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "triangle")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PlainText")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "plaintext")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DiamondShape")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "diamond")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Trapezium")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "trapezium")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Parallelogram")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "parallelogram")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "House")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "house")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Pentagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "pentagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Hexagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "hexagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Septagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "septagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Octagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "octagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DoubleCircle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "doublecircle")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DoubleOctagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "doubleoctagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "TripleOctagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "tripleoctagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "InvTriangle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "invtriangle")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "InvTrapezium")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "invtrapezium")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "InvHouse")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "invhouse")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "MDiamond")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "Mdiamond")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "MSquare")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "Msquare")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "MCircle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "Mcircle")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Note")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "note")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Tab")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "tab")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Folder")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "folder")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Box3D")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "box3d")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Component")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "component")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Shape"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Box3D")))) (Lit (String "box3d")),App (App (Var (UnQual (Ident "stringReps"))) (Con (UnQual (Ident "BoxShape")))) (List [Lit (String "box"),Lit (String "rectangle"),Lit (String "rect")]),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Polygon")))) (Lit (String "polygon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Ellipse")))) (Lit (String "ellipse")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Circle")))) (Lit (String "circle")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PointShape")))) (Lit (String "point")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Egg")))) (Lit (String "egg")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Triangle")))) (Lit (String "triangle")),App (App (Var (UnQual (Ident "stringReps"))) (Con (UnQual (Ident "PlainText")))) (List [Lit (String "plaintext"),Lit (String "none")]),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "DiamondShape")))) (Lit (String "diamond")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Trapezium")))) (Lit (String "trapezium")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Parallelogram")))) (Lit (String "parallelogram")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "House")))) (Lit (String "house")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Pentagon")))) (Lit (String "pentagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Hexagon")))) (Lit (String "hexagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Septagon")))) (Lit (String "septagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Octagon")))) (Lit (String "octagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "DoubleCircle")))) (Lit (String "doublecircle")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "DoubleOctagon")))) (Lit (String "doubleoctagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "TripleOctagon")))) (Lit (String "tripleoctagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "InvTriangle")))) (Lit (String "invtriangle")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "InvTrapezium")))) (Lit (String "invtrapezium")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "InvHouse")))) (Lit (String "invhouse")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "MDiamond")))) (Lit (String "Mdiamond")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "MSquare")))) (Lit (String "Msquare")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "MCircle")))) (Lit (String "Mcircle")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Note")))) (Lit (String "note")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Tab")))) (Lit (String "tab")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Folder")))) (Lit (String "folder")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Component")))) (Lit (String "component"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "SmoothType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoSmooth") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "AvgDist") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "GraphDist") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PowerDist") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RNG") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Spring") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TriangleSmooth") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "SmoothType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoSmooth")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "none")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "AvgDist")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "avg_dist")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "GraphDist")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "graph_dist")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PowerDist")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "power_dist")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "RNG")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "rng")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Spring")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "spring")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "TriangleSmooth")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "triangle")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "SmoothType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoSmooth")))) (Lit (String "none")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "AvgDist")))) (Lit (String "avg_dist")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "GraphDist")))) (Lit (String "graph_dist")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PowerDist")))) (Lit (String "power_dist")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "RNG")))) (Lit (String "rng")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Spring")))) (Lit (String "spring")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "TriangleSmooth")))) (Lit (String "triangle"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "StartType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "StartStyle") [UnBangedTy (TyCon (UnQual (Ident "STStyle")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "StartSeed") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "StartStyleSeed") [UnBangedTy (TyCon (UnQual (Ident "STStyle"))),UnBangedTy (TyCon (UnQual (Ident "Int")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "StartType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "StartStyle")) [PVar (Ident "ss")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "ss"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "StartSeed")) [PVar (Ident "s")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "StartStyleSeed")) [PVar (Ident "ss"),PVar (Ident "s")])] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "ss")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "StartType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "ss")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "s")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "StartStyleSeed"))) (Var (UnQual (Ident "ss")))) (Var (UnQual (Ident "s")))))],App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "StartStyle")))) (Var (UnQual (Ident "parseUnqt"))),App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "StartSeed")))) (Var (UnQual (Ident "parseUnqt")))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "STStyle") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RegularStyle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SelfStyle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RandomStyle") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "STStyle"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "RegularStyle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "regular")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SelfStyle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "self")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "RandomStyle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "random")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "STStyle"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "RegularStyle")))) (Lit (String "regular")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SelfStyle")))) (Lit (String "self")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "RandomStyle")))) (Lit (String "random"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "StyleItem") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SItem") [UnBangedTy (TyCon (UnQual (Ident "StyleName"))),UnBangedTy (TyList (TyCon (UnQual (Ident "String"))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "StyleItem"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SItem")) [PVar (Ident "nm"),PVar (Ident "args")])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "null"))) (Var (UnQual (Ident "args"))))] (Var (UnQual (Ident "dnm"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (InfixApp (Var (UnQual (Ident "dnm"))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "parens"))) (Var (UnQual (Ident "args'")))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "dnm")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "nm"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "args'")) Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "hcat"))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "punctuate"))) (Var (UnQual (Ident "comma"))))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "unqtDot")))) (Var (UnQual (Ident "args")))))) (BDecls [])])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PAsPat (Ident "si") (PParen (PApp (UnQual (Ident "SItem")) [PVar (Ident "nm"),PVar (Ident "args")]))] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "null"))) (Var (UnQual (Ident "args"))))] (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "nm")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "si")))))]) (BDecls [])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "unqtListToDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "hcat"))) (QVarOp (UnQual (Symbol "."))) (InfixApp (App (Var (UnQual (Ident "punctuate"))) (Var (UnQual (Ident "comma")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "unqtDot"))))))) (BDecls [])),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "listToDot") [PList [PApp (UnQual (Ident "SItem")) [PVar (Ident "nm"),PList []]]] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "nm"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "listToDot") [PVar (Ident "sis")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "unqtListToDot"))) (Var (UnQual (Ident "sis")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "StyleItem"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "nm")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "args")) (App (Var (UnQual (Ident "tryParseList'"))) (Var (UnQual (Ident "parseArgs")))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "SItem"))) (Var (UnQual (Ident "nm")))) (Var (UnQual (Ident "args")))))])) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Paren (App (App (App (Var (UnQual (Ident "liftM2"))) (Con (UnQual (Ident "SItem")))) (Var (UnQual (Ident "parseUnqt")))) (Var (UnQual (Ident "parseArgs")))))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "flip"))) (Con (UnQual (Ident "SItem")))) (List [])))) (Var (UnQual (Ident "parse")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqtList")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "sepBy1"))) (Var (UnQual (Ident "parseUnqt")))) (Var (UnQual (Ident "parseComma"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseList")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqtList")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "return")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseArgs"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyList (TyCon (UnQual (Ident "String"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseArgs")) Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "bracketSep"))) (Paren (App (Var (UnQual (Ident "character"))) (Lit (Char '('))))) (Var (UnQual (Ident "parseComma")))) (Paren (App (Var (UnQual (Ident "character"))) (Lit (Char ')'))))) (Var (UnQual (Ident "parseStyleName"))))) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "StyleName") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Dashed") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Dotted") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Solid") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Bold") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Invisible") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Filled") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Diagonals") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rounded") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DD") [UnBangedTy (TyCon (UnQual (Ident "String")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "StyleName"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Dashed")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "dashed")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Dotted")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "dotted")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Solid")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "solid")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Bold")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "bold")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Invisible")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "invis")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Filled")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "filled")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Diagonals")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "diagonals")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Rounded")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "rounded")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "DD")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "nm"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "DD")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "nm"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "sn")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "sn"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "StyleName"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "checkDD")))) (Var (UnQual (Ident "parseStyleName"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "checkDD")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseStyleName")))) (QVarOp (UnQual (Ident "onFail"))) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "f")) (InfixApp (Var (UnQual (Ident "orQuote"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "noneOf"))) (List [Var (UnQual (Ident "quoteChar")),Lit (Char '('),Lit (Char ')'),Lit (Char ','),Lit (Char ' '),Lit (Char ']')]))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) (App (Var (UnQual (Ident "many"))) (Paren (InfixApp (Var (UnQual (Ident "orQuote"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "noneOf"))) (List [Var (UnQual (Ident "quoteChar")),Lit (Char '('),Lit (Char ')'),Lit (Char ','),Lit (Char ']')]))))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "f"))) (QConOp (Special Cons)) (Var (UnQual (Ident "r")))))])))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "checkDD"] (TyFun (TyCon (UnQual (Ident "String"))) (TyCon (UnQual (Ident "StyleName")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "checkDD") [PVar (Ident "str")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "toLower")))) (Var (UnQual (Ident "str")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "dashed")) (UnGuardedAlt (Con (UnQual (Ident "Dashed")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "dotted")) (UnGuardedAlt (Con (UnQual (Ident "Dotted")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "solid")) (UnGuardedAlt (Con (UnQual (Ident "Solid")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "bold")) (UnGuardedAlt (Con (UnQual (Ident "Bold")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "invis")) (UnGuardedAlt (Con (UnQual (Ident "Invisible")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "filled")) (UnGuardedAlt (Con (UnQual (Ident "Filled")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "diagonals")) (UnGuardedAlt (Con (UnQual (Ident "Diagonals")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "rounded")) (UnGuardedAlt (Con (UnQual (Ident "Rounded")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) PWildCard (UnGuardedAlt (App (Con (UnQual (Ident "DD"))) (Var (UnQual (Ident "str"))))) (BDecls [])])) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseStyleName"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyCon (UnQual (Ident "String")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseStyleName")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "f")) (InfixApp (Var (UnQual (Ident "orQuote"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "noneOf"))) (List [Var (UnQual (Ident "quoteChar")),Lit (Char '('),Lit (Char ')'),Lit (Char ','),Lit (Char ' ')]))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) (App (Var (UnQual (Ident "many"))) (Paren (InfixApp (Var (UnQual (Ident "orQuote"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "noneOf"))) (List [Var (UnQual (Ident "quoteChar")),Lit (Char '('),Lit (Char ')'),Lit (Char ',')]))))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "f"))) (QConOp (Special Cons)) (Var (UnQual (Ident "r")))))])) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) NewType [] (Ident "PortPos") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PP") [UnBangedTy (TyCon (UnQual (Ident "CompassPoint")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "PortPos"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PP")) [PVar (Ident "cp")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "cp"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "PP")) [PVar (Ident "cp")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "cp"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "PortPos"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PP")))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "CompassPoint") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "North") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NorthEast") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "East") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SouthEast") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "South") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SouthWest") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "West") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NorthWest") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "CenterPoint") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoCP") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "CompassPoint"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NorthEast")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "ne")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NorthWest")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "nw")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "North")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "n")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "East")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "e")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SouthEast")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "se")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SouthWest")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "sw")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "South")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "s")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "West")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "w")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "CenterPoint")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "c")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoCP")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "_")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "CompassPoint"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NorthEast")))) (Lit (String "ne")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NorthWest")))) (Lit (String "nw")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "North")))) (Lit (String "n")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SouthEast")))) (Lit (String "se")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SouthWest")))) (Lit (String "sw")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "South")))) (Lit (String "s")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "East")))) (Lit (String "e")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "West")))) (Lit (String "w")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "CenterPoint")))) (Lit (String "c")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoCP")))) (Lit (String "_"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ViewPort") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (RecDecl (Ident "VP") [([Ident "wVal"],UnBangedTy (TyCon (UnQual (Ident "Double")))),([Ident "hVal"],UnBangedTy (TyCon (UnQual (Ident "Double")))),([Ident "zVal"],UnBangedTy (TyCon (UnQual (Ident "Double")))),([Ident "focus"],UnBangedTy (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "FocusType")))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ViewPort"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PVar (Ident "vp")] Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "vs")))) (Paren (InfixApp (App (Var (UnQual (Symbol "<>"))) (Paren (InfixApp (Var (UnQual (Ident "vs"))) (QVarOp (UnQual (Symbol "<>"))) (Var (UnQual (Ident "comma")))))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot")))))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "focus"))) (Var (UnQual (Ident "vp")))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "vs")) Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "hcat"))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "punctuate"))) (Var (UnQual (Ident "comma"))))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Paren (InfixApp (Var (UnQual (Ident "unqtDot"))) (QVarOp (UnQual (Symbol "."))) (App (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "$")))) (Var (UnQual (Ident "vp"))))))) (List [Var (UnQual (Ident "wVal")),Var (UnQual (Ident "hVal")),Var (UnQual (Ident "zVal"))])))) (BDecls [])])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "toDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot"))))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ViewPort"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "wv")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (Var (UnQual (Ident "parseComma"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "hv")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (Var (UnQual (Ident "parseComma"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "zv")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "mf")) (InfixApp (Var (UnQual (Ident "optional"))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "parseComma"))) (QVarOp (UnQual (Symbol ">>"))) (Var (UnQual (Ident "parseUnqt"))))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "VP"))) (Var (UnQual (Ident "wv")))) (Var (UnQual (Ident "hv")))) (Var (UnQual (Ident "zv")))) (Var (UnQual (Ident "mf")))))])) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "FocusType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "XY") [UnBangedTy (TyCon (UnQual (Ident "Point")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NodeFocus") [UnBangedTy (TyCon (UnQual (Ident "String")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "FocusType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "XY")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "p"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "NodeFocus")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "nm"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "XY")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "p"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "NodeFocus")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "nm"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "FocusType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "XY")))) (Var (UnQual (Ident "parseUnqt")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NodeFocus")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "XY")))) (Var (UnQual (Ident "parse")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NodeFocus")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "VerticalPlacement") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "VTop") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "VCenter") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "VBottom") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "VerticalPlacement"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "VTop")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 't')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "VCenter")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'c')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "VBottom")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'b')))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "VerticalPlacement"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "VTop")))) (Lit (String "t")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "VCenter")))) (Lit (String "c")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "VBottom")))) (Lit (String "b"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ScaleType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "UniformScale") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoScale") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FillWidth") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FillHeight") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FillBoth") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ScaleType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "UniformScale")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoScale")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FillWidth")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "width")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FillHeight")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "height")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FillBoth")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "both")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ScaleType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "UniformScale")))) (Lit (String "true")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoScale")))) (Lit (String "false")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FillWidth")))) (Lit (String "width")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FillHeight")))) (Lit (String "height")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FillBoth")))) (Lit (String "both"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Justification") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "JLeft") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "JRight") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "JCenter") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Justification"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "JLeft")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'l')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "JRight")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'r')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "JCenter")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'c')))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Justification"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "JLeft")))) (Lit (String "l")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "JRight")))) (Lit (String "r")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "JCenter")))) (Lit (String "c"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Ratios") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "AspectRatio") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FillRatio") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "CompressRatio") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ExpandRatio") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "AutoRatio") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Ratios"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "AspectRatio")) [PVar (Ident "r")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "r"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FillRatio")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "fill")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "CompressRatio")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "compress")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "ExpandRatio")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "expand")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "AutoRatio")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "auto")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Ratios"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "AspectRatio")))) (Var (UnQual (Ident "parseUnqt"))),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FillRatio")))) (Lit (String "fill")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "CompressRatio")))) (Lit (String "compress")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "ExpandRatio")))) (Lit (String "expand")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "AutoRatio")))) (Lit (String "auto"))]))) (BDecls []))]]--AST 2:--Module (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (ModuleName "Data.GraphViz.Attributes") [] Nothing (Just [EThingAll (UnQual (Ident "Attribute")),EAbs (UnQual (Ident "Attributes")),EVar (UnQual (Ident "usedByGraphs")),EVar (UnQual (Ident "usedBySubGraphs")),EVar (UnQual (Ident "usedByClusters")),EVar (UnQual (Ident "usedByNodes")),EVar (UnQual (Ident "usedByEdges")),EAbs (UnQual (Ident "EscString")),EThingAll (UnQual (Ident "URL")),EThingAll (UnQual (Ident "ArrowType")),EThingAll (UnQual (Ident "AspectType")),EThingAll (UnQual (Ident "Rect")),EThingAll (UnQual (Ident "ClusterMode")),EThingAll (UnQual (Ident "DirType")),EThingAll (UnQual (Ident "DEConstraints")),EThingAll (UnQual (Ident "DPoint")),EThingAll (UnQual (Ident "ModeType")),EThingAll (UnQual (Ident "Model")),EThingAll (UnQual (Ident "Label")),EThingAll (UnQual (Ident "Point")),EThingAll (UnQual (Ident "Overlap")),EThingAll (UnQual (Ident "LayerRange")),EThingAll (UnQual (Ident "LayerID")),EThingAll (UnQual (Ident "LayerList")),EThingAll (UnQual (Ident "OutputMode")),EThingAll (UnQual (Ident "Pack")),EThingAll (UnQual (Ident "PackMode")),EThingAll (UnQual (Ident "Pos")),EThingAll (UnQual (Ident "EdgeType")),EThingAll (UnQual (Ident "PageDir")),EThingAll (UnQual (Ident "Spline")),EThingAll (UnQual (Ident "QuadType")),EThingAll (UnQual (Ident "Root")),EThingAll (UnQual (Ident "RankType")),EThingAll (UnQual (Ident "RankDir")),EThingAll (UnQual (Ident "Shape")),EThingAll (UnQual (Ident "SmoothType")),EThingAll (UnQual (Ident "StartType")),EThingAll (UnQual (Ident "STStyle")),EThingAll (UnQual (Ident "StyleItem")),EThingAll (UnQual (Ident "StyleName")),EThingAll (UnQual (Ident "PortPos")),EThingAll (UnQual (Ident "CompassPoint")),EThingAll (UnQual (Ident "ViewPort")),EThingAll (UnQual (Ident "FocusType")),EThingAll (UnQual (Ident "VerticalPlacement")),EThingAll (UnQual (Ident "ScaleType")),EThingAll (UnQual (Ident "Justification")),EThingAll (UnQual (Ident "Ratios")),EModuleContents (ModuleName "Data.GraphViz.Attributes.Colors"),EThingAll (UnQual (Ident "ArrowShape")),EThingAll (UnQual (Ident "ArrowModifier")),EThingAll (UnQual (Ident "ArrowFill")),EThingAll (UnQual (Ident "ArrowSide")),EVar (UnQual (Ident "box")),EVar (UnQual (Ident "crow")),EVar (UnQual (Ident "diamond")),EVar (UnQual (Ident "dotArrow")),EVar (UnQual (Ident "inv")),EVar (UnQual (Ident "noArrow")),EVar (UnQual (Ident "normal")),EVar (UnQual (Ident "tee")),EVar (UnQual (Ident "vee")),EVar (UnQual (Ident "oDot")),EVar (UnQual (Ident "invDot")),EVar (UnQual (Ident "invODot")),EVar (UnQual (Ident "oBox")),EVar (UnQual (Ident "oDiamond")),EVar (UnQual (Ident "eDiamond")),EVar (UnQual (Ident "openArr")),EVar (UnQual (Ident "halfOpen")),EVar (UnQual (Ident "emptyArr")),EVar (UnQual (Ident "invEmpty")),EVar (UnQual (Ident "noMods")),EVar (UnQual (Ident "openMod")),EVar (UnQual (Ident "defLayerSep")),EVar (UnQual (Ident "notLayerSep"))]) [ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.GraphViz.Attributes.Colors", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.GraphViz.Util", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.GraphViz.Parsing", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.GraphViz.Printing", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.Char", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "toLower")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.Maybe", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "isJust")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Control.Arrow", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "first")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Control.Monad", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "liftM"),IVar (Ident "liftM2")])}] [DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Attribute") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Damping") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "K") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "URL") [UnBangedTy (TyCon (UnQual (Ident "URL")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ArrowHead") [UnBangedTy (TyCon (UnQual (Ident "ArrowType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ArrowSize") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ArrowTail") [UnBangedTy (TyCon (UnQual (Ident "ArrowType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Aspect") [UnBangedTy (TyCon (UnQual (Ident "AspectType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Bb") [UnBangedTy (TyCon (UnQual (Ident "Rect")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "BgColor") [UnBangedTy (TyCon (UnQual (Ident "Color")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Center") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Charset") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ClusterRank") [UnBangedTy (TyCon (UnQual (Ident "ClusterMode")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ColorScheme") [UnBangedTy (TyCon (UnQual (Ident "ColorScheme")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Color") [UnBangedTy (TyList (TyCon (UnQual (Ident "Color"))))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Comment") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Compound") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Concentrate") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Constraint") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Decorate") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DefaultDist") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Dimen") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Dim") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Dir") [UnBangedTy (TyCon (UnQual (Ident "DirType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DirEdgeConstraints") [UnBangedTy (TyCon (UnQual (Ident "DEConstraints")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Distortion") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DPI") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "EdgeURL") [UnBangedTy (TyCon (UnQual (Ident "URL")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "EdgeTarget") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "EdgeTooltip") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Epsilon") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ESep") [UnBangedTy (TyCon (UnQual (Ident "DPoint")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FillColor") [UnBangedTy (TyCon (UnQual (Ident "Color")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FixedSize") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FontColor") [UnBangedTy (TyCon (UnQual (Ident "Color")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FontName") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FontNames") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FontPath") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FontSize") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Group") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadURL") [UnBangedTy (TyCon (UnQual (Ident "URL")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadClip") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadLabel") [UnBangedTy (TyCon (UnQual (Ident "Label")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadPort") [UnBangedTy (TyCon (UnQual (Ident "PortPos")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadTarget") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HeadTooltip") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Height") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ID") [UnBangedTy (TyCon (UnQual (Ident "Label")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Image") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ImageScale") [UnBangedTy (TyCon (UnQual (Ident "ScaleType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelURL") [UnBangedTy (TyCon (UnQual (Ident "URL")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelAngle") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelDistance") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelFloat") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelFontColor") [UnBangedTy (TyCon (UnQual (Ident "Color")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelFontName") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelFontSize") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelJust") [UnBangedTy (TyCon (UnQual (Ident "Justification")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelLoc") [UnBangedTy (TyCon (UnQual (Ident "VerticalPlacement")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelTarget") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LabelTooltip") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Label") [UnBangedTy (TyCon (UnQual (Ident "Label")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Landscape") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LayerSep") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Layers") [UnBangedTy (TyCon (UnQual (Ident "LayerList")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Layer") [UnBangedTy (TyCon (UnQual (Ident "LayerRange")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Layout") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Len") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LevelsGap") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Levels") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LHead") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LPos") [UnBangedTy (TyCon (UnQual (Ident "Point")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LTail") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Margin") [UnBangedTy (TyCon (UnQual (Ident "DPoint")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MaxIter") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MCLimit") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MinDist") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MinLen") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Model") [UnBangedTy (TyCon (UnQual (Ident "Model")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Mode") [UnBangedTy (TyCon (UnQual (Ident "ModeType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Mosek") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NodeSep") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoJustify") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Normalize") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Nslimit1") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Nslimit") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Ordering") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Orientation") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "OutputOrder") [UnBangedTy (TyCon (UnQual (Ident "OutputMode")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "OverlapScaling") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Overlap") [UnBangedTy (TyCon (UnQual (Ident "Overlap")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackMode") [UnBangedTy (TyCon (UnQual (Ident "PackMode")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Pack") [UnBangedTy (TyCon (UnQual (Ident "Pack")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Pad") [UnBangedTy (TyCon (UnQual (Ident "DPoint")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PageDir") [UnBangedTy (TyCon (UnQual (Ident "PageDir")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Page") [UnBangedTy (TyCon (UnQual (Ident "Point")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PenColor") [UnBangedTy (TyCon (UnQual (Ident "Color")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PenWidth") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Peripheries") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Pin") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Pos") [UnBangedTy (TyCon (UnQual (Ident "Pos")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "QuadTree") [UnBangedTy (TyCon (UnQual (Ident "QuadType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Quantum") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RankDir") [UnBangedTy (TyCon (UnQual (Ident "RankDir")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RankSep") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rank") [UnBangedTy (TyCon (UnQual (Ident "RankType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Ratio") [UnBangedTy (TyCon (UnQual (Ident "Ratios")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rects") [UnBangedTy (TyCon (UnQual (Ident "Rect")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Regular") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ReMinCross") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RepulsiveForce") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Root") [UnBangedTy (TyCon (UnQual (Ident "Root")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rotate") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SameHead") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SameTail") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SamplePoints") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SearchSize") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Sep") [UnBangedTy (TyCon (UnQual (Ident "DPoint")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ShapeFile") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Shape") [UnBangedTy (TyCon (UnQual (Ident "Shape")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ShowBoxes") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Sides") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Size") [UnBangedTy (TyCon (UnQual (Ident "Point")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Skew") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Smoothing") [UnBangedTy (TyCon (UnQual (Ident "SmoothType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SortV") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Splines") [UnBangedTy (TyCon (UnQual (Ident "EdgeType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Start") [UnBangedTy (TyCon (UnQual (Ident "StartType")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "StyleSheet") [UnBangedTy (TyCon (UnQual (Ident "String")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Style") [UnBangedTy (TyList (TyCon (UnQual (Ident "StyleItem"))))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailURL") [UnBangedTy (TyCon (UnQual (Ident "URL")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailClip") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailLabel") [UnBangedTy (TyCon (UnQual (Ident "Label")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailPort") [UnBangedTy (TyCon (UnQual (Ident "PortPos")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailTarget") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TailTooltip") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Target") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Tooltip") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TrueColor") [UnBangedTy (TyCon (UnQual (Ident "Bool")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Vertices") [UnBangedTy (TyList (TyCon (UnQual (Ident "Point"))))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ViewPort") [UnBangedTy (TyCon (UnQual (Ident "ViewPort")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "VoroMargin") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Weight") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Width") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Z") [UnBangedTy (TyCon (UnQual (Ident "Double")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],TypeDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "Attributes") [] (TyList (TyCon (UnQual (Ident "Attribute")))),InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Attribute"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Damping")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "Damping"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "K")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "K"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "URL")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "URL"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ArrowHead")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "arrowhead"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ArrowSize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "arrowsize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ArrowTail")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "arrowtail"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Aspect")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "aspect"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Bb")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "bb"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "BgColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "bgcolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Center")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "center"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Charset")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "charset"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ClusterRank")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "clusterrank"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ColorScheme")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "colorscheme"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Color")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "color"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Comment")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "comment"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Compound")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "compound"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Concentrate")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "concentrate"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Constraint")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "constraint"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Decorate")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "decorate"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "DefaultDist")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "defaultdist"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Dimen")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "dimen"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Dim")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "dim"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Dir")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "dir"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "DirEdgeConstraints")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "diredgeconstraints"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Distortion")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "distortion"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "DPI")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "dpi"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "EdgeURL")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "edgeURL"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "EdgeTarget")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "edgetarget"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "EdgeTooltip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "edgetooltip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Epsilon")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "epsilon"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ESep")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "esep"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FillColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fillcolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FixedSize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fixedsize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FontColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fontcolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FontName")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fontname"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FontNames")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fontnames"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FontPath")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fontpath"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "FontSize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "fontsize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Group")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "group"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadURL")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headURL"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadClip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headclip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadLabel")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headlabel"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadPort")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headport"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadTarget")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headtarget"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "HeadTooltip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "headtooltip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Height")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "height"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ID")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "id"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Image")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "image"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ImageScale")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "imagescale"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelURL")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelURL"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelAngle")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelangle"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelDistance")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labeldistance"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelFloat")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelfloat"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelFontColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelfontcolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelFontName")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelfontname"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelFontSize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelfontsize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelJust")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labeljust"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelLoc")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labelloc"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelTarget")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labeltarget"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LabelTooltip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "labeltooltip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Label")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "label"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Landscape")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "landscape"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LayerSep")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "layersep"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Layers")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "layers"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Layer")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "layer"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Layout")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "layout"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Len")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "len"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LevelsGap")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "levelsgap"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Levels")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "levels"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LHead")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "lhead"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LPos")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "lp"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LTail")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "ltail"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Margin")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "margin"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "MaxIter")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "maxiter"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "MCLimit")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "mclimit"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "MinDist")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "mindist"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "MinLen")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "minlen"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Model")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "model"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Mode")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "mode"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Mosek")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "mosek"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "NodeSep")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "nodesep"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "NoJustify")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "nojustify"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Normalize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "normalize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Nslimit1")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "nslimit1"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Nslimit")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "nslimit"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Ordering")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "ordering"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Orientation")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "orientation"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "OutputOrder")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "outputorder"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "OverlapScaling")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "overlap_scaling"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Overlap")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "overlap"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PackMode")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "packmode"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Pack")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pack"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Pad")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pad"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PageDir")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pagedir"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Page")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "page"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PenColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pencolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PenWidth")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "penwidth"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Peripheries")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "peripheries"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Pin")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pin"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Pos")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "pos"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "QuadTree")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "quadtree"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Quantum")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "quantum"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "RankDir")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "rankdir"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "RankSep")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "ranksep"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Rank")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "rank"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Ratio")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "ratio"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Rects")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "rects"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Regular")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "regular"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ReMinCross")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "remincross"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "RepulsiveForce")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "repulsiveforce"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Root")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "root"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Rotate")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "rotate"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SameHead")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "samehead"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SameTail")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "sametail"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SamplePoints")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "samplepoints"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SearchSize")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "searchsize"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Sep")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "sep"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ShapeFile")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "shapefile"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Shape")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "shape"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ShowBoxes")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "showboxes"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Sides")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "sides"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Size")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "size"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Skew")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "skew"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Smoothing")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "smoothing"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SortV")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "sortv"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Splines")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "splines"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Start")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "start"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "StyleSheet")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "stylesheet"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Style")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "style"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailURL")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tailURL"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailClip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tailclip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailLabel")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "taillabel"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailPort")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tailport"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailTarget")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tailtarget"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TailTooltip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tailtooltip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Target")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "target"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Tooltip")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "tooltip"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "TrueColor")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "truecolor"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Vertices")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "vertices"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ViewPort")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "viewport"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "VoroMargin")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "voro_margin"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Weight")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "weight"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Width")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "width"))) (Var (UnQual (Ident "v"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Z")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "printField"))) (Lit (String "z"))) (Var (UnQual (Ident "v"))))) (BDecls [])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "listToDot")) Nothing (UnGuardedRhs (Var (UnQual (Ident "unqtListToDot")))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Attribute"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Damping")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "Damping"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "K")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "K"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "URL")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "URL"),Lit (String "href")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ArrowHead")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "arrowhead"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ArrowSize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "arrowsize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ArrowTail")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "arrowtail"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Aspect")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "aspect"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Bb")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "bb"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "BgColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "bgcolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Center")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "center"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Charset")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "charset"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ClusterRank")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "clusterrank"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ColorScheme")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "colorscheme"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Color")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "color"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Comment")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "comment"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Compound")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "compound"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Concentrate")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "concentrate"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Constraint")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "constraint"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Decorate")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "decorate"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "DefaultDist")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "defaultdist"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Dimen")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "dimen"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Dim")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "dim"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Dir")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "dir"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "DirEdgeConstraints")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "EdgeConstraints")))) (Lit (String "diredgeconstraints"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Distortion")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "distortion"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "DPI")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "dpi"),Lit (String "resolution")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "EdgeURL")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "edgeURL"),Lit (String "edgehref")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "EdgeTarget")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "edgetarget"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "EdgeTooltip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "edgetooltip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Epsilon")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "epsilon"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ESep")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "esep"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FillColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fillcolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FixedSize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "fixedsize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FontColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fontcolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FontName")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fontname"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FontNames")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fontnames"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FontPath")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fontpath"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "FontSize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "fontsize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Group")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "group"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadURL")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "headURL"),Lit (String "headhref")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadClip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "headclip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadLabel")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "headlabel"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadPort")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "headport"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadTarget")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "headtarget"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "HeadTooltip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "headtooltip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Height")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "height"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ID")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "id"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Image")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "image"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ImageScale")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "UniformScale")))) (Lit (String "imagescale"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelURL")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "labelURL"),Lit (String "labelhref")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelAngle")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labelangle"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelDistance")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labeldistance"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelFloat")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "labelfloat"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelFontColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labelfontcolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelFontName")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labelfontname"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelFontSize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labelfontsize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelJust")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labeljust"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelLoc")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labelloc"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelTarget")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labeltarget"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LabelTooltip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "labeltooltip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Label")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "label"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Landscape")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "landscape"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LayerSep")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "layersep"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Layers")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "layers"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Layer")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "layer"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Layout")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "layout"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Len")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "len"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LevelsGap")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "levelsgap"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Levels")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "levels"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LHead")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "lhead"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LPos")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "lp"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LTail")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "ltail"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Margin")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "margin"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "MaxIter")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "maxiter"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "MCLimit")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "mclimit"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "MinDist")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "mindist"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "MinLen")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "minlen"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Model")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "model"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Mode")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "mode"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Mosek")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "mosek"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NodeSep")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "nodesep"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NoJustify")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "nojustify"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Normalize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "normalize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Nslimit1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "nslimit1"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Nslimit")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "nslimit"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Ordering")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "ordering"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Orientation")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "orientation"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "OutputOrder")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "outputorder"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "OverlapScaling")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "overlap_scaling"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Overlap")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "KeepOverlaps")))) (Lit (String "overlap"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PackMode")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "packmode"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Pack")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "DoPack")))) (Lit (String "pack"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Pad")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "pad"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PageDir")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "pagedir"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Page")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "page"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PenColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "pencolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PenWidth")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "penwidth"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Peripheries")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "peripheries"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Pin")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "pin"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Pos")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "pos"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "QuadTree")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "NormalQT")))) (Lit (String "quadtree"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Quantum")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "quantum"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "RankDir")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "rankdir"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "RankSep")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "ranksep"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Rank")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "rank"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Ratio")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "ratio"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Rects")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "rects"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Regular")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "regular"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ReMinCross")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "remincross"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "RepulsiveForce")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "repulsiveforce"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Root")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "IsCentral")))) (Lit (String "root"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Rotate")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "rotate"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "SameHead")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "samehead"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "SameTail")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "sametail"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "SamplePoints")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "samplepoints"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "SearchSize")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "searchsize"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Sep")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "sep"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ShapeFile")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "shapefile"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Shape")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "shape"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ShowBoxes")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "showboxes"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Sides")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "sides"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Size")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "size"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Skew")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "skew"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Smoothing")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "smoothing"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "SortV")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "sortv"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Splines")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "parseFieldDef"))) (Con (UnQual (Ident "SplineEdges")))) (Lit (String "splines"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Start")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "start"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "StyleSheet")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "stylesheet"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Style")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "style"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailURL")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFields"))) (List [Lit (String "tailURL"),Lit (String "tailhref")])),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailClip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "tailclip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailLabel")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "taillabel"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailPort")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "tailport"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailTarget")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "tailtarget"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TailTooltip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "tailtooltip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Target")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "target"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Tooltip")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "tooltip"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "TrueColor")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseFieldBool"))) (Lit (String "truecolor"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Vertices")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "vertices"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "ViewPort")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "viewport"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "VoroMargin")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "voro_margin"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Weight")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "weight"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Width")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "width"))),InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "Z")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "parseField"))) (Lit (String "z")))]))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseUnqt")))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseList")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseUnqtList")))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "usedByGraphs"] (TyFun (TyCon (UnQual (Ident "Attribute"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Damping")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "K")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "URL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Aspect")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Bb")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "BgColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Center")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Charset")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ClusterRank")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ColorScheme")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Comment")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Compound")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Concentrate")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "DefaultDist")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Dimen")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Dim")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "DirEdgeConstraints")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "DPI")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Epsilon")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ESep")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "FontColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "FontName")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "FontNames")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "FontPath")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "FontSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ID")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "LabelJust")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "LabelLoc")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Label")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Landscape")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "LayerSep")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Layers")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Layout")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "LevelsGap")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Levels")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "LPos")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Margin")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "MaxIter")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "MCLimit")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "MinDist")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Model")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Mode")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Mosek")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "NodeSep")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "NoJustify")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Normalize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Nslimit1")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Nslimit")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Ordering")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "OutputOrder")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "OverlapScaling")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Overlap")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "PackMode")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Pack")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Pad")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "PageDir")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Page")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "QuadTree")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Quantum")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "RankDir")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "RankSep")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Ratio")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ReMinCross")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "RepulsiveForce")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Root")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Rotate")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "SearchSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Sep")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ShowBoxes")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Size")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Smoothing")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "SortV")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Splines")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Start")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "StyleSheet")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "Target")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "TrueColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "ViewPort")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PRec (UnQual (Ident "VoroMargin")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByGraphs") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "usedByClusters"] (TyFun (TyCon (UnQual (Ident "Attribute"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "K")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "URL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "BgColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "ColorScheme")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Color")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "FillColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "FontColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "FontName")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "FontSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "LabelJust")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "LabelLoc")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Label")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "LPos")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "NoJustify")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "PenColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "PenWidth")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Peripheries")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Rank")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "SortV")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Style")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Target")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PRec (UnQual (Ident "Tooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByClusters") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "usedBySubGraphs"] (TyFun (TyCon (UnQual (Ident "Attribute"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedBySubGraphs") [PRec (UnQual (Ident "Rank")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedBySubGraphs") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "usedByNodes"] (TyFun (TyCon (UnQual (Ident "Attribute"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "URL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "ColorScheme")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Color")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Comment")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Distortion")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "FillColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "FixedSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "FontColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "FontName")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "FontSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Group")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Height")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "ID")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Image")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "ImageScale")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "LabelLoc")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Label")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Layer")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Margin")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "NoJustify")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Orientation")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "PenWidth")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Peripheries")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Pin")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Pos")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Rects")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Regular")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Root")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "SamplePoints")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "ShapeFile")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Shape")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "ShowBoxes")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Sides")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Skew")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "SortV")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Style")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Target")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Tooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Vertices")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Width")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PRec (UnQual (Ident "Z")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByNodes") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "usedByEdges"] (TyFun (TyCon (UnQual (Ident "Attribute"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "URL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ArrowHead")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ArrowSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ArrowTail")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ColorScheme")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Color")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Comment")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Constraint")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Decorate")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Dir")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "EdgeURL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "EdgeTarget")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "EdgeTooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "FontColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "FontName")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "FontSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadURL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadClip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadLabel")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadPort")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadTarget")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "HeadTooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ID")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelURL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelAngle")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelDistance")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelFloat")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelFontColor")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelFontName")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelFontSize")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelTarget")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LabelTooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Label")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Layer")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Len")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LHead")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LPos")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "LTail")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "MinLen")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "NoJustify")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "PenWidth")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Pos")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "SameHead")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "SameTail")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "ShowBoxes")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Style")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailURL")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailClip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailLabel")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailPort")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailTarget")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "TailTooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Target")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Tooltip")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PRec (UnQual (Ident "Weight")) []] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "usedByEdges") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "EscString") [] (TyCon (UnQual (Ident "String"))),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) NewType [] (Ident "URL") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (RecDecl (Ident "UStr") [([Ident "urlString"],UnBangedTy (TyCon (UnQual (Ident "EscString"))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "URL"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "unqtDot")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "wrap"))) (Paren (App (Var (UnQual (Ident "char"))) (Lit (Char '<'))))) (Paren (App (Var (UnQual (Ident "char"))) (Lit (Char '>'))))) (QVarOp (UnQual (Symbol "."))) (InfixApp (Var (UnQual (Ident "text"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "urlString")))))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "URL"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "UStr")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "bracket"))) (Paren (App (Var (UnQual (Ident "character"))) (Var (UnQual (Ident "open")))))) (Paren (App (Var (UnQual (Ident "character"))) (Var (UnQual (Ident "close")))))) (Paren (InfixApp (Var (UnQual (Ident "many1"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "satisfy"))) (Paren (App (Var (UnQual (Symbol "/="))) (Var (UnQual (Ident "close"))))))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "open")) Nothing (UnGuardedRhs (Lit (Char '<'))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "close")) Nothing (UnGuardedRhs (Lit (Char '>'))) (BDecls [])])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseUnqt")))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) NewType [] (Ident "ArrowType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "AType") [UnBangedTy (TyList (TyTuple Boxed [TyCon (UnQual (Ident "ArrowModifier")),TyCon (UnQual (Ident "ArrowShape"))]))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "box",Ident "crow",Ident "diamond",Ident "dotArrow",Ident "inv",Ident "noArrow",Ident "normal",Ident "tee",Ident "vee"] (TyCon (UnQual (Ident "ArrowType"))),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "oDot",Ident "invDot",Ident "invODot",Ident "oBox",Ident "oDiamond"] (TyCon (UnQual (Ident "ArrowType"))),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "eDiamond",Ident "openArr",Ident "halfOpen",Ident "emptyArr",Ident "invEmpty"] (TyCon (UnQual (Ident "ArrowType"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "normal")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Normal"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "inv")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Inv"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "dotArrow")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "DotArrow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "invDot")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Inv"))],Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "DotArrow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "oDot")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [App (App (Con (UnQual (Ident "ArrMod"))) (Con (UnQual (Ident "OpenArrow")))) (Con (UnQual (Ident "BothSides"))),Con (UnQual (Ident "DotArrow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "invODot")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Inv"))],Tuple Boxed [Var (UnQual (Ident "openMod")),Con (UnQual (Ident "DotArrow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "noArrow")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "NoArrow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "tee")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Tee"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "emptyArr")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "openMod")),Con (UnQual (Ident "Normal"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "invEmpty")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Inv"))],Tuple Boxed [Var (UnQual (Ident "openMod")),Con (UnQual (Ident "Normal"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "diamond")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Diamond"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "oDiamond")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "openMod")),Con (UnQual (Ident "Diamond"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "eDiamond")) Nothing (UnGuardedRhs (Var (UnQual (Ident "oDiamond")))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "crow")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Crow"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "box")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Box"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "oBox")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "openMod")),Con (UnQual (Ident "Box"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "openArr")) Nothing (UnGuardedRhs (Var (UnQual (Ident "vee")))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "halfOpen")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [App (App (Con (UnQual (Ident "ArrMod"))) (Con (UnQual (Ident "FilledArrow")))) (Con (UnQual (Ident "LeftSide"))),Con (UnQual (Ident "Vee"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "vee")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "AType"))) (List [Tuple Boxed [Var (UnQual (Ident "noMods")),Con (UnQual (Ident "Vee"))]]))) (BDecls []),InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ArrowType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "AType")) [PVar (Ident "mas")])] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "hcat"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "appMod")))) (Var (UnQual (Ident "mas")))))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appMod") [PTuple Boxed [PVar (Ident "m"),PVar (Ident "a")]] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "m")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "a")))))) (BDecls [])]])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ArrowType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (Paren (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "mas")) (InfixApp (Var (UnQual (Ident "many1"))) (QVarOp (UnQual (Symbol "$"))) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "m")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "a")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (App (Var (UnQual (Ident "return"))) (Tuple Boxed [Var (UnQual (Ident "m")),Var (UnQual (Ident "a"))]))])),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "AType"))) (Var (UnQual (Ident "mas")))))])) (QVarOp (UnQual (Ident "onFail"))) (Var (UnQual (Ident "specialArrowParse"))))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "specialArrowParse"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyCon (UnQual (Ident "ArrowType")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "specialArrowParse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Var (UnQual (Ident "eDiamond")))) (Lit (String "ediamond")),App (App (Var (UnQual (Ident "stringRep"))) (Var (UnQual (Ident "openArr")))) (Lit (String "open")),App (App (Var (UnQual (Ident "stringRep"))) (Var (UnQual (Ident "halfOpen")))) (Lit (String "halfopen")),App (App (Var (UnQual (Ident "stringRep"))) (Var (UnQual (Ident "emptyArr")))) (Lit (String "empty")),App (App (Var (UnQual (Ident "stringRep"))) (Var (UnQual (Ident "invEmpty")))) (Lit (String "invempty"))]))) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ArrowShape") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Box") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Crow") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Diamond") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DotArrow") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Inv") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoArrow") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Normal") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Tee") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Vee") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ArrowShape"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Box")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "box")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Crow")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "crow")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Diamond")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "diamond")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DotArrow")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "dot")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Inv")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "inv")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoArrow")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "none")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Normal")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "normal")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Tee")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "tee")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Vee")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "vee")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ArrowShape"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Box")))) (Lit (String "box")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Crow")))) (Lit (String "crow")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Diamond")))) (Lit (String "diamond")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "DotArrow")))) (Lit (String "dot")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Inv")))) (Lit (String "inv")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoArrow")))) (Lit (String "none")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Normal")))) (Lit (String "normal")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Tee")))) (Lit (String "tee")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Vee")))) (Lit (String "vee"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ArrowModifier") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (RecDecl (Ident "ArrMod") [([Ident "arrowFill"],UnBangedTy (TyCon (UnQual (Ident "ArrowFill")))),([Ident "arrowSide"],UnBangedTy (TyCon (UnQual (Ident "ArrowSide"))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "noMods"] (TyCon (UnQual (Ident "ArrowModifier"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "noMods")) Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "ArrMod"))) (Con (UnQual (Ident "FilledArrow")))) (Con (UnQual (Ident "BothSides"))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "openMod"] (TyCon (UnQual (Ident "ArrowModifier"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "openMod")) Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "ArrMod"))) (Con (UnQual (Ident "OpenArrow")))) (Con (UnQual (Ident "BothSides"))))) (BDecls []),InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ArrowModifier"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "ArrMod")) [PVar (Ident "f"),PVar (Ident "s")])] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "f")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ArrowModifier"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "f")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "s")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "ArrMod"))) (Var (UnQual (Ident "f")))) (Var (UnQual (Ident "s")))))])) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ArrowFill") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "OpenArrow") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FilledArrow") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ArrowFill"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "OpenArrow")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'o')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FilledArrow")) []] Nothing (UnGuardedRhs (Var (UnQual (Ident "empty")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ArrowFill"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "liftM"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "FilledArrow")))) (Con (UnQual (Ident "OpenArrow")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "isJust")))))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "optional"))) (Paren (App (Var (UnQual (Ident "character"))) (Lit (Char 'o'))))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseUnqt")))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ArrowSide") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LeftSide") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RightSide") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "BothSides") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ArrowSide"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "LeftSide")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'l')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "RightSide")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'r')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "BothSides")) []] Nothing (UnGuardedRhs (Var (UnQual (Ident "empty")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ArrowSide"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "getSideType")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "optional"))) (Paren (InfixApp (Var (UnQual (Ident "oneOf"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "character")))) (List [Lit (Char 'l'),Lit (Char 'r')]))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "getSideType")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "maybe"))) (Con (UnQual (Ident "BothSides")))) (Paren (InfixApp (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "RightSide")))) (Con (UnQual (Ident "LeftSide")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Symbol "=="))) (Lit (Char 'l'))))))) (BDecls [])])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseUnqt")))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "AspectType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RatioOnly") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RatioPassCount") [UnBangedTy (TyCon (UnQual (Ident "Double"))),UnBangedTy (TyCon (UnQual (Ident "Int")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "AspectType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "RatioOnly")) [PVar (Ident "r")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "r"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "RatioPassCount")) [PVar (Ident "r"),PVar (Ident "p")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "commaDel"))) (Var (UnQual (Ident "r")))) (Var (UnQual (Ident "p"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PAsPat (Ident "at") (PRec (UnQual (Ident "RatioOnly")) [])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "at"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PAsPat (Ident "at") (PRec (UnQual (Ident "RatioPassCount")) [])] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "at")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "AspectType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "RatioPassCount")))))) (Var (UnQual (Ident "commaSepUnqt")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "RatioOnly")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Paren (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "RatioPassCount")))))) (Var (UnQual (Ident "commaSepUnqt")))))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "RatioOnly")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Rect") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rect") [UnBangedTy (TyCon (UnQual (Ident "Point"))),UnBangedTy (TyCon (UnQual (Ident "Point")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Rect"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Rect")) [PVar (Ident "p1"),PVar (Ident "p2")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "commaDel"))) (Var (UnQual (Ident "p1")))) (Var (UnQual (Ident "p2"))))) (BDecls [])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "toDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot"))))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Rect"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "Rect")))))) (Var (UnQual (Ident "commaSepUnqt"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ClusterMode") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Local") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Global") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoCluster") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ClusterMode"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Local")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "local")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Global")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "global")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoCluster")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "none")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ClusterMode"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Local")))) (Lit (String "local")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Global")))) (Lit (String "global")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoCluster")))) (Lit (String "none"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "DirType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Forward") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Back") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Both") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoDir") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "DirType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Forward")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "forward")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Back")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "back")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Both")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "both")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoDir")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Lit (String "none")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "DirType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Forward")))) (Lit (String "forward")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Back")))) (Lit (String "back")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Both")))) (Lit (String "both")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoDir")))) (Lit (String "none"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "DEConstraints") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "EdgeConstraints") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoConstraints") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HierConstraints") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "DEConstraints"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "EdgeConstraints")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoConstraints")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "HierConstraints")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "hier")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "DEConstraints"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "NoConstraints")))) (Con (UnQual (Ident "EdgeConstraints")))))) (Var (UnQual (Ident "parse")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "HierConstraints")))) (Lit (String "hier"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "DPoint") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DVal") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PVal") [UnBangedTy (TyCon (UnQual (Ident "Point")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "DPoint"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "DVal")) [PVar (Ident "d")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "d"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PVal")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "p"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "DVal")) [PVar (Ident "d")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "d"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "PVal")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "p"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "DPoint"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PVal")))) (Var (UnQual (Ident "parseUnqt")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "DVal")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PVal")))) (Var (UnQual (Ident "parse")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "DVal")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ModeType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Major") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "KK") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Hier") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "IpSep") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ModeType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Major")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "major")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "KK")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "KK")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Hier")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "hier")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "IpSep")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "ipsep")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ModeType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Major")))) (Lit (String "major")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "KK")))) (Lit (String "KK")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Hier")))) (Lit (String "hier")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "IpSep")))) (Lit (String "ipsep"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Model") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ShortPath") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SubSet") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Circuit") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Model"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "ShortPath")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "shortpath")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SubSet")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "subset")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Circuit")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "circuit")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Model"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "ShortPath")))) (Lit (String "shortpath")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SubSet")))) (Lit (String "subset")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Circuit")))) (Lit (String "circuit"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Label") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "StrLabel") [UnBangedTy (TyCon (UnQual (Ident "EscString")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "URLLabel") [UnBangedTy (TyCon (UnQual (Ident "URL")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Label"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "StrLabel")) [PVar (Ident "s")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "URLLabel")) [PVar (Ident "u")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "u"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "StrLabel")) [PVar (Ident "s")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "s"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "URLLabel")) [PVar (Ident "u")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "u"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Label"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "StrLabel")))) (Var (UnQual (Ident "parseUnqt")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "URLLabel")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "StrLabel")))) (Var (UnQual (Ident "parse")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "URLLabel")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Point") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Point") [UnBangedTy (TyCon (UnQual (Ident "Int"))),UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PointD") [UnBangedTy (TyCon (UnQual (Ident "Double"))),UnBangedTy (TyCon (UnQual (Ident "Double")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Point"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Point")) [PVar (Ident "x"),PVar (Ident "y")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "commaDel"))) (Var (UnQual (Ident "x")))) (Var (UnQual (Ident "y"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PointD")) [PVar (Ident "x"),PVar (Ident "y")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "commaDel"))) (Var (UnQual (Ident "x")))) (Var (UnQual (Ident "y"))))) (BDecls [])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "toDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "unqtListToDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "hsep"))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "unqtDot")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "listToDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtListToDot"))))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Point"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "intDblPoint"))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "Point")))))) (Var (UnQual (Ident "commaSepUnqt"))))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "PointD")))))) (Var (UnQual (Ident "commaSepUnqt")))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "intDblPoint")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "liftM"))) (Paren (InfixApp (App (Var (UnQual (Ident "uncurry"))) (Con (UnQual (Ident "PointD")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "first"))) (Var (UnQual (Ident "fI"))))))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "commaSep'"))) (Var (UnQual (Ident "parseUnqt")))) (Var (UnQual (Ident "parseStrictFloat")))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "fI"] (TyFun (TyCon (UnQual (Ident "Int"))) (TyCon (UnQual (Ident "Double")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "fI")) Nothing (UnGuardedRhs (Var (UnQual (Ident "fromIntegral")))) (BDecls [])])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqtList")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "sepBy1"))) (Var (UnQual (Ident "parseUnqt")))) (Var (UnQual (Ident "whitespace"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Overlap") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "KeepOverlaps") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RemoveOverlaps") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ScaleOverlaps") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ScaleXYOverlaps") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PrismOverlap") [UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Int")))))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "CompressOverlap") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "VpscOverlap") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "IpsepOverlap") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Overlap"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "KeepOverlaps")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "RemoveOverlaps")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "ScaleOverlaps")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "scale")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "ScaleXYOverlaps")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "scalexy")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PrismOverlap")) [PVar (Ident "i")])] Nothing (UnGuardedRhs (InfixApp (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (InfixApp (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "<>")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot")))))) (Var (UnQual (Ident "i")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "text"))) (Lit (String "prism"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "CompressOverlap")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "compress")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "VpscOverlap")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "vpsc")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "IpsepOverlap")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "ipsep")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Overlap"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "KeepOverlaps")))) (Lit (String "true")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "RemoveOverlaps")))) (Lit (String "false")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "ScaleXYOverlaps")))) (Lit (String "scalexy")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "ScaleOverlaps")))) (Lit (String "scale")),InfixApp (App (Var (UnQual (Ident "string"))) (Lit (String "prism"))) (QVarOp (UnQual (Symbol ">>"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PrismOverlap")))) (Paren (App (Var (UnQual (Ident "optional"))) (Var (UnQual (Ident "parse")))))),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "CompressOverlap")))) (Lit (String "compress")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "VpscOverlap")))) (Lit (String "vpsc")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "IpsepOverlap")))) (Lit (String "ipsep"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "LayerRange") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LRID") [UnBangedTy (TyCon (UnQual (Ident "LayerID")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LRS") [UnBangedTy (TyCon (UnQual (Ident "LayerID"))),UnBangedTy (TyCon (UnQual (Ident "String"))),UnBangedTy (TyCon (UnQual (Ident "LayerID")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "LayerRange"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LRID")) [PVar (Ident "lid")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "lid"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LRS")) [PVar (Ident "id1"),PVar (Ident "s"),PVar (Ident "id2")])] Nothing (UnGuardedRhs (InfixApp (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "id1")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s"))))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "id2")))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "LRID")) [PVar (Ident "lid")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "lid"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "lrs")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "lrs")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "LayerRange"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (Paren (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "id1")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "s")) (Var (UnQual (Ident "parseLayerSep"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "id2")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "LRS"))) (Var (UnQual (Ident "id1")))) (Var (UnQual (Ident "s")))) (Var (UnQual (Ident "id2")))))])) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LRID")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Paren (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "id1")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "s")) (Var (UnQual (Ident "parseLayerSep"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "id2")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "LRS"))) (Var (UnQual (Ident "id1")))) (Var (UnQual (Ident "s")))) (Var (UnQual (Ident "id2")))))]))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LRID")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseLayerSep"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyCon (UnQual (Ident "String")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseLayerSep")) Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "many1"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "oneOf")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "character")))) (Var (UnQual (Ident "defLayerSep")))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "defLayerSep"] (TyList (TyCon (UnQual (Ident "Char")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "defLayerSep")) Nothing (UnGuardedRhs (List [Lit (Char ' '),Lit (Char ':'),Lit (Char '\t')])) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseLayerName"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyCon (UnQual (Ident "String")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseLayerName")) Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "many1"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "orQuote")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "satisfy"))) (Paren (App (App (App (Var (UnQual (Ident "liftM2"))) (Var (UnQual (Symbol "&&")))) (Var (UnQual (Ident "notLayerSep")))) (Paren (App (Var (UnQual (Symbol "/="))) (Var (UnQual (Ident "quoteChar")))))))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseLayerName'"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyCon (UnQual (Ident "String")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseLayerName'")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "stringBlock"))) (QVarOp (UnQual (Ident "onFail"))) (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseLayerName")))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "notLayerSep"] (TyFun (TyCon (UnQual (Ident "Char"))) (TyCon (UnQual (Ident "Bool")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "notLayerSep")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "notElem")))) (Var (UnQual (Ident "defLayerSep"))))) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "LayerID") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "AllLayers") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LRInt") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LRName") [UnBangedTy (TyCon (UnQual (Ident "String")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "LayerID"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "AllLayers")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "all")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LRInt")) [PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "n"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LRName")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "nm"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "LRName")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "nm"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "li")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "li"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "LayerID"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "checkLayerName")))) (Var (UnQual (Ident "parseLayerName"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "checkLayerName")))) (Var (UnQual (Ident "parseLayerName'"))),App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "LRInt")))) (Var (UnQual (Ident "parse")))]))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "checkLayerName"] (TyFun (TyCon (UnQual (Ident "String"))) (TyCon (UnQual (Ident "LayerID")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "checkLayerName") [PVar (Ident "str")] Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "checkAll")))) (Con (UnQual (Ident "LRInt")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "stringToInt"))) (Var (UnQual (Ident "str")))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "checkAll")) Nothing (UnGuardedRhs (If (InfixApp (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "toLower")))) (Var (UnQual (Ident "str")))) (QVarOp (UnQual (Symbol "=="))) (Lit (String "all"))) (Con (UnQual (Ident "AllLayers"))) (App (Con (UnQual (Ident "LRName"))) (Var (UnQual (Ident "str")))))) (BDecls [])])],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "LayerList") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LL") [UnBangedTy (TyCon (UnQual (Ident "String"))),UnBangedTy (TyList (TyTuple Boxed [TyCon (UnQual (Ident "String")),TyCon (UnQual (Ident "String"))]))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "LayerList"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "LL")) [PVar (Ident "l1"),PVar (Ident "ols")])] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "l1")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "hcat"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "subLL")))) (Var (UnQual (Ident "ols")))))))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "subLL") [PTuple Boxed [PVar (Ident "s"),PVar (Ident "l")]] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "l")))))) (BDecls [])]])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "LL")) [PVar (Ident "l1"),PList []])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "l1"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "ll")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "ll")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "LayerList"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "l1")) (Var (UnQual (Ident "parseLayerName"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "ols")) (InfixApp (Var (UnQual (Ident "many"))) (QVarOp (UnQual (Symbol "$"))) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "s")) (Var (UnQual (Ident "parseLayerSep"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "lnm")) (Var (UnQual (Ident "parseLayerName"))),Qualifier (App (Var (UnQual (Ident "return"))) (Tuple Boxed [Var (UnQual (Ident "s")),Var (UnQual (Ident "lnm"))]))])),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "LL"))) (Var (UnQual (Ident "l1")))) (Var (UnQual (Ident "ols")))))])) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "flip"))) (Con (UnQual (Ident "LL")))) (List [])))) (Paren (InfixApp (Var (UnQual (Ident "parseLayerName'"))) (QVarOp (UnQual (Ident "onFail"))) (Var (UnQual (Ident "numString")))))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "OutputMode") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "BreadthFirst") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NodesFirst") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "EdgesFirst") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "OutputMode"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "BreadthFirst")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "breadthfirst")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NodesFirst")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "nodesfirst")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "EdgesFirst")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "edgesfirst")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "OutputMode"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "BreadthFirst")))) (Lit (String "breadthfirst")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NodesFirst")))) (Lit (String "nodesfirst")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "EdgesFirst")))) (Lit (String "edgesfirst"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Pack") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DoPack") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DontPack") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackMargin") [UnBangedTy (TyCon (UnQual (Ident "Int")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Pack"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DoPack")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DontPack")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PackMargin")) [PVar (Ident "m")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "m"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Pack"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PackMargin")))) (Var (UnQual (Ident "parseUnqt"))),App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "DontPack")))) (Con (UnQual (Ident "DoPack")))))) (Var (UnQual (Ident "onlyBool")))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "PackMode") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackNode") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackClust") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackGraph") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PackArray") [UnBangedTy (TyCon (UnQual (Ident "Bool"))),UnBangedTy (TyCon (UnQual (Ident "Bool"))),UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Int")))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "PackMode"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PackNode")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "node")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PackClust")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "clust")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PackGraph")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "graph")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PackArray")) [PVar (Ident "c"),PVar (Ident "u"),PVar (Ident "mi")])] Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "addNum"))) (QVarOp (UnQual (Symbol "."))) (InfixApp (Var (UnQual (Ident "isU"))) (QVarOp (UnQual (Symbol "."))) (InfixApp (Var (UnQual (Ident "isC"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "isUnder")))))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "text"))) (Lit (String "array"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "addNum")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (InfixApp (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "<>")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot")))))) (Var (UnQual (Ident "mi"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "isUnder")) Nothing (UnGuardedRhs (If (InfixApp (Var (UnQual (Ident "c"))) (QVarOp (UnQual (Symbol "||"))) (Var (UnQual (Ident "u")))) (InfixApp (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "<>")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "char"))) (Lit (Char '_')))) (Var (UnQual (Ident "id"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "isC")) Nothing (UnGuardedRhs (If (Var (UnQual (Ident "c"))) (InfixApp (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "<>")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "char"))) (Lit (Char 'c')))) (Var (UnQual (Ident "id"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "isU")) Nothing (UnGuardedRhs (If (Var (UnQual (Ident "u"))) (InfixApp (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "<>")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "char"))) (Lit (Char 'u')))) (Var (UnQual (Ident "id"))))) (BDecls [])])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "PackMode"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PackNode")))) (Lit (String "node")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PackClust")))) (Lit (String "clust")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PackGraph")))) (Lit (String "graph")),Do [Qualifier (App (Var (UnQual (Ident "string"))) (Lit (String "array"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "mcu")) (InfixApp (Var (UnQual (Ident "optional"))) (QVarOp (UnQual (Symbol "$"))) (Do [Qualifier (App (Var (UnQual (Ident "character"))) (Lit (Char '_'))),Qualifier (InfixApp (Var (UnQual (Ident "many1"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "satisfy"))) (Var (UnQual (Ident "isCU")))))])),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "c")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "hasCharacter"))) (Var (UnQual (Ident "mcu")))) (Lit (Char 'c')))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "u")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "hasCharacter"))) (Var (UnQual (Ident "mcu")))) (Lit (Char 'u')))) (BDecls [])]),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "mi")) (App (Var (UnQual (Ident "optional"))) (Var (UnQual (Ident "parseUnqt")))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "PackArray"))) (Var (UnQual (Ident "c")))) (Var (UnQual (Ident "u")))) (Var (UnQual (Ident "mi")))))]]))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "hasCharacter") [PVar (Ident "ms"),PVar (Ident "c")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "maybe"))) (Con (UnQual (Ident "False")))) (Paren (App (Var (UnQual (Ident "elem"))) (Var (UnQual (Ident "c")))))) (Var (UnQual (Ident "ms"))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "isCU")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "elem")))) (List [Lit (Char 'c'),Lit (Char 'u')]))) (BDecls [])]))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Pos") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PointPos") [UnBangedTy (TyCon (UnQual (Ident "Point")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SplinePos") [UnBangedTy (TyList (TyCon (UnQual (Ident "Spline"))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Pos"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PointPos")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "p"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SplinePos")) [PVar (Ident "ss")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "ss"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "PointPos")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "p"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "SplinePos")) [PVar (Ident "ss")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "ss"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Pos"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "splns")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (Case (Var (UnQual (Ident "splns"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PList [PApp (UnQual (Ident "Spline")) [PApp (UnQual (Ident "Nothing")) [],PApp (UnQual (Ident "Nothing")) [],PList [PVar (Ident "p")]]]) (UnGuardedAlt (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "PointPos"))) (Var (UnQual (Ident "p")))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) PWildCard (UnGuardedAlt (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "SplinePos"))) (Var (UnQual (Ident "splns")))))) (BDecls [])])])) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "EdgeType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SplineEdges") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "LineEdges") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoEdges") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PolyLine") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "CompoundEdge") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "EdgeType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SplineEdges")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "LineEdges")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoEdges")) []] Nothing (UnGuardedRhs (Var (UnQual (Ident "empty")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PolyLine")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "polyline")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "CompoundEdge")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "compound")))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PApp (UnQual (Ident "NoEdges")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "doubleQuotes"))) (Var (UnQual (Ident "empty"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "et")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "et"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "EdgeType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "LineEdges")))) (Con (UnQual (Ident "SplineEdges")))))) (Var (UnQual (Ident "parse"))),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SplineEdges")))) (Lit (String "spline")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "LineEdges")))) (Lit (String "line")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PolyLine")))) (Lit (String "polyline")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "CompoundEdge")))) (Lit (String "compound"))]))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoEdges")))) (Lit (String "\"\""))) (QVarOp (UnQual (Ident "onFail"))) (App (Var (UnQual (Ident "optionalQuoted"))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "PageDir") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Bl") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Br") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Tl") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Tr") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rb") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rt") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Lb") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Lt") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "PageDir"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Bl")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "BL")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Br")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "BR")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Tl")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "TL")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Tr")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "TR")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Rb")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "RB")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Rt")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "RT")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Lb")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "LB")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Lt")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "LT")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "PageDir"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Bl")))) (Lit (String "BL")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Br")))) (Lit (String "BR")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Tl")))) (Lit (String "TL")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Tr")))) (Lit (String "TR")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Rb")))) (Lit (String "RB")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Rt")))) (Lit (String "RT")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Lb")))) (Lit (String "LB")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Lt")))) (Lit (String "LT"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Spline") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Spline") [UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Point"))))),UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Point"))))),UnBangedTy (TyList (TyCon (UnQual (Ident "Point"))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Spline"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "Spline")) [PVar (Ident "ms"),PVar (Ident "me"),PVar (Ident "ps")])] Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "addS"))) (QVarOp (UnQual (Symbol "."))) (InfixApp (Var (UnQual (Ident "addE"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "hsep"))))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "unqtDot")))) (Var (UnQual (Ident "ps")))))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "addP") [PVar (Ident "t")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (InfixApp (Var (UnQual (Symbol "<+>"))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "commaDel"))) (Var (UnQual (Ident "t")))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "addS")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "addP"))) (Lit (Char 's'))) (Var (UnQual (Ident "ms"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "addE")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "addP"))) (Lit (Char 'e'))) (Var (UnQual (Ident "me"))))) (BDecls [])])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "toDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "unqtListToDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "hcat"))) (QVarOp (UnQual (Symbol "."))) (InfixApp (App (Var (UnQual (Ident "punctuate"))) (Var (UnQual (Ident "semi")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "unqtDot"))))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "listToDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtListToDot"))))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Spline"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "ms")) (App (Var (UnQual (Ident "parseP"))) (Lit (Char 's'))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "me")) (App (Var (UnQual (Ident "parseP"))) (Lit (Char 'e'))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "ps")) (App (App (Var (UnQual (Ident "sepBy1"))) (Var (UnQual (Ident "parseUnqt")))) (Var (UnQual (Ident "whitespace")))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "Spline"))) (Var (UnQual (Ident "ms")))) (Var (UnQual (Ident "me")))) (Var (UnQual (Ident "ps")))))])) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "parseP") [PVar (Ident "t")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "optional"))) (QVarOp (UnQual (Symbol "$"))) (Do [Qualifier (App (Var (UnQual (Ident "character"))) (Var (UnQual (Ident "t")))),Qualifier (Var (UnQual (Ident "parseComma"))),Qualifier (InfixApp (Var (UnQual (Ident "parseUnqt"))) (QVarOp (UnQual (Ident "discard"))) (Var (UnQual (Ident "whitespace"))))]))) (BDecls [])]])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqtList")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "sepBy1"))) (Var (UnQual (Ident "parseUnqt")))) (Paren (App (Var (UnQual (Ident "character"))) (Lit (Char ';')))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "QuadType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NormalQT") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FastQT") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoQT") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "QuadType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NormalQT")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "normal")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FastQT")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "fast")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoQT")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "none")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "QuadType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NormalQT")))) (Lit (String "normal")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FastQT")))) (Lit (String "fast")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoQT")))) (Lit (String "none")),InfixApp (App (Var (UnQual (Ident "character"))) (Lit (Char '2'))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "return"))) (Con (UnQual (Ident "FastQT")))),App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "NoQT")))) (Con (UnQual (Ident "NormalQT")))))) (Var (UnQual (Ident "parse")))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Root") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "IsCentral") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NotCentral") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NodeName") [UnBangedTy (TyCon (UnQual (Ident "String")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Root"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "IsCentral")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NotCentral")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "NodeName")) [PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "n"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "NodeName")) [PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "n"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "r")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "r"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Root"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "NotCentral")))) (Con (UnQual (Ident "IsCentral")))))) (Var (UnQual (Ident "onlyBool")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NodeName")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "optionalQuoted"))) (Paren (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "bool"))) (Con (UnQual (Ident "NotCentral")))) (Con (UnQual (Ident "IsCentral")))))) (Var (UnQual (Ident "onlyBool")))))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NodeName")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "RankType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SameRank") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MinRank") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SourceRank") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MaxRank") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SinkRank") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "RankType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SameRank")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "same")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "MinRank")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "min")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SourceRank")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "source")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "MaxRank")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "max")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SinkRank")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "sink")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "RankType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SameRank")))) (Lit (String "same")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "MinRank")))) (Lit (String "min")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SourceRank")))) (Lit (String "source")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "MaxRank")))) (Lit (String "max")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SinkRank")))) (Lit (String "sink"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "RankDir") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FromTop") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FromLeft") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FromBottom") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FromRight") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "RankDir"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FromTop")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "TB")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FromLeft")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "LR")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FromBottom")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "BT")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FromRight")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "RL")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "RankDir"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FromTop")))) (Lit (String "TB")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FromLeft")))) (Lit (String "LR")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FromBottom")))) (Lit (String "BT")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FromRight")))) (Lit (String "RL"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Shape") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "BoxShape") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Polygon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Ellipse") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Circle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PointShape") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Egg") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Triangle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PlainText") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DiamondShape") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Trapezium") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Parallelogram") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "House") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Pentagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Hexagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Septagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Octagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DoubleCircle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DoubleOctagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TripleOctagon") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "InvTriangle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "InvTrapezium") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "InvHouse") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MDiamond") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MSquare") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "MCircle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Note") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Tab") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Folder") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Box3D") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Component") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Shape"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "BoxShape")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "box")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Polygon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "polygon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Ellipse")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "ellipse")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Circle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "circle")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PointShape")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "point")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Egg")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "egg")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Triangle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "triangle")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PlainText")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "plaintext")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DiamondShape")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "diamond")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Trapezium")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "trapezium")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Parallelogram")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "parallelogram")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "House")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "house")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Pentagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "pentagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Hexagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "hexagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Septagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "septagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Octagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "octagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DoubleCircle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "doublecircle")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "DoubleOctagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "doubleoctagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "TripleOctagon")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "tripleoctagon")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "InvTriangle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "invtriangle")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "InvTrapezium")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "invtrapezium")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "InvHouse")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "invhouse")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "MDiamond")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "Mdiamond")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "MSquare")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "Msquare")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "MCircle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "Mcircle")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Note")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "note")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Tab")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "tab")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Folder")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "folder")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Box3D")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "box3d")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Component")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "component")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Shape"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Box3D")))) (Lit (String "box3d")),App (App (Var (UnQual (Ident "stringReps"))) (Con (UnQual (Ident "BoxShape")))) (List [Lit (String "box"),Lit (String "rectangle"),Lit (String "rect")]),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Polygon")))) (Lit (String "polygon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Ellipse")))) (Lit (String "ellipse")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Circle")))) (Lit (String "circle")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PointShape")))) (Lit (String "point")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Egg")))) (Lit (String "egg")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Triangle")))) (Lit (String "triangle")),App (App (Var (UnQual (Ident "stringReps"))) (Con (UnQual (Ident "PlainText")))) (List [Lit (String "plaintext"),Lit (String "none")]),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "DiamondShape")))) (Lit (String "diamond")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Trapezium")))) (Lit (String "trapezium")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Parallelogram")))) (Lit (String "parallelogram")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "House")))) (Lit (String "house")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Pentagon")))) (Lit (String "pentagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Hexagon")))) (Lit (String "hexagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Septagon")))) (Lit (String "septagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Octagon")))) (Lit (String "octagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "DoubleCircle")))) (Lit (String "doublecircle")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "DoubleOctagon")))) (Lit (String "doubleoctagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "TripleOctagon")))) (Lit (String "tripleoctagon")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "InvTriangle")))) (Lit (String "invtriangle")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "InvTrapezium")))) (Lit (String "invtrapezium")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "InvHouse")))) (Lit (String "invhouse")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "MDiamond")))) (Lit (String "Mdiamond")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "MSquare")))) (Lit (String "Msquare")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "MCircle")))) (Lit (String "Mcircle")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Note")))) (Lit (String "note")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Tab")))) (Lit (String "tab")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Folder")))) (Lit (String "folder")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Component")))) (Lit (String "component"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "SmoothType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoSmooth") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "AvgDist") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "GraphDist") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PowerDist") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RNG") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Spring") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "TriangleSmooth") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "SmoothType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoSmooth")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "none")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "AvgDist")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "avg_dist")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "GraphDist")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "graph_dist")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "PowerDist")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "power_dist")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "RNG")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "rng")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Spring")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "spring")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "TriangleSmooth")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "triangle")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "SmoothType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoSmooth")))) (Lit (String "none")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "AvgDist")))) (Lit (String "avg_dist")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "GraphDist")))) (Lit (String "graph_dist")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "PowerDist")))) (Lit (String "power_dist")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "RNG")))) (Lit (String "rng")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "Spring")))) (Lit (String "spring")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "TriangleSmooth")))) (Lit (String "triangle"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "StartType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "StartStyle") [UnBangedTy (TyCon (UnQual (Ident "STStyle")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "StartSeed") [UnBangedTy (TyCon (UnQual (Ident "Int")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "StartStyleSeed") [UnBangedTy (TyCon (UnQual (Ident "STStyle"))),UnBangedTy (TyCon (UnQual (Ident "Int")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "StartType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "StartStyle")) [PVar (Ident "ss")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "ss"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "StartSeed")) [PVar (Ident "s")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "StartStyleSeed")) [PVar (Ident "ss"),PVar (Ident "s")])] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "ss")))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "s")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "StartType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "ss")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "s")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "StartStyleSeed"))) (Var (UnQual (Ident "ss")))) (Var (UnQual (Ident "s")))))],App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "StartStyle")))) (Var (UnQual (Ident "parseUnqt"))),App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "StartSeed")))) (Var (UnQual (Ident "parseUnqt")))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "STStyle") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RegularStyle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SelfStyle") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "RandomStyle") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "STStyle"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "RegularStyle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "regular")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SelfStyle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "self")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "RandomStyle")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "random")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "STStyle"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "RegularStyle")))) (Lit (String "regular")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SelfStyle")))) (Lit (String "self")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "RandomStyle")))) (Lit (String "random"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "StyleItem") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SItem") [UnBangedTy (TyCon (UnQual (Ident "StyleName"))),UnBangedTy (TyList (TyCon (UnQual (Ident "String"))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "StyleItem"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "SItem")) [PVar (Ident "nm"),PVar (Ident "args")])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "null"))) (Var (UnQual (Ident "args"))))] (Var (UnQual (Ident "dnm"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (InfixApp (Var (UnQual (Ident "dnm"))) (QVarOp (UnQual (Symbol "<>"))) (App (Var (UnQual (Ident "parens"))) (Var (UnQual (Ident "args'")))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "dnm")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "nm"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "args'")) Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "hcat"))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "punctuate"))) (Var (UnQual (Ident "comma"))))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "unqtDot")))) (Var (UnQual (Ident "args")))))) (BDecls [])])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PAsPat (Ident "si") (PParen (PApp (UnQual (Ident "SItem")) [PVar (Ident "nm"),PVar (Ident "args")]))] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "null"))) (Var (UnQual (Ident "args"))))] (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "nm")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "si")))))]) (BDecls [])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "unqtListToDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "hcat"))) (QVarOp (UnQual (Symbol "."))) (InfixApp (App (Var (UnQual (Ident "punctuate"))) (Var (UnQual (Ident "comma")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "unqtDot"))))))) (BDecls [])),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "listToDot") [PList [PApp (UnQual (Ident "SItem")) [PVar (Ident "nm"),PList []]]] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "nm"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "listToDot") [PVar (Ident "sis")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "unqtListToDot"))) (Var (UnQual (Ident "sis")))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "StyleItem"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "nm")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "args")) (App (Var (UnQual (Ident "tryParseList'"))) (Var (UnQual (Ident "parseArgs")))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "SItem"))) (Var (UnQual (Ident "nm")))) (Var (UnQual (Ident "args")))))])) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Paren (App (App (App (Var (UnQual (Ident "liftM2"))) (Con (UnQual (Ident "SItem")))) (Var (UnQual (Ident "parseUnqt")))) (Var (UnQual (Ident "parseArgs")))))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Paren (App (App (Var (UnQual (Ident "flip"))) (Con (UnQual (Ident "SItem")))) (List [])))) (Var (UnQual (Ident "parse")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqtList")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "sepBy1"))) (Var (UnQual (Ident "parseUnqt")))) (Var (UnQual (Ident "parseComma"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseList")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqtList")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "return")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseArgs"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyList (TyCon (UnQual (Ident "String"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseArgs")) Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "bracketSep"))) (Paren (App (Var (UnQual (Ident "character"))) (Lit (Char '('))))) (Var (UnQual (Ident "parseComma")))) (Paren (App (Var (UnQual (Ident "character"))) (Lit (Char ')'))))) (Var (UnQual (Ident "parseStyleName"))))) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "StyleName") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Dashed") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Dotted") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Solid") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Bold") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Invisible") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Filled") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Diagonals") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "Rounded") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "DD") [UnBangedTy (TyCon (UnQual (Ident "String")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "StyleName"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Dashed")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "dashed")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Dotted")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "dotted")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Solid")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "solid")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Bold")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "bold")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Invisible")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "invis")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Filled")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "filled")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Diagonals")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "diagonals")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "Rounded")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "rounded")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "DD")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "nm"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "DD")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "nm"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PVar (Ident "sn")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "sn"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "StyleName"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "checkDD")))) (Var (UnQual (Ident "parseStyleName"))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "liftM"))) (Var (UnQual (Ident "checkDD")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseStyleName")))) (QVarOp (UnQual (Ident "onFail"))) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "f")) (InfixApp (Var (UnQual (Ident "orQuote"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "noneOf"))) (List [Var (UnQual (Ident "quoteChar")),Lit (Char '('),Lit (Char ')'),Lit (Char ','),Lit (Char ' '),Lit (Char ']')]))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) (App (Var (UnQual (Ident "many"))) (Paren (InfixApp (Var (UnQual (Ident "orQuote"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "noneOf"))) (List [Var (UnQual (Ident "quoteChar")),Lit (Char '('),Lit (Char ')'),Lit (Char ','),Lit (Char ']')]))))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "f"))) (QConOp (Special Cons)) (Var (UnQual (Ident "r")))))])))) (BDecls []))],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "checkDD"] (TyFun (TyCon (UnQual (Ident "String"))) (TyCon (UnQual (Ident "StyleName")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "checkDD") [PVar (Ident "str")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "toLower")))) (Var (UnQual (Ident "str")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "dashed")) (UnGuardedAlt (Con (UnQual (Ident "Dashed")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "dotted")) (UnGuardedAlt (Con (UnQual (Ident "Dotted")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "solid")) (UnGuardedAlt (Con (UnQual (Ident "Solid")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "bold")) (UnGuardedAlt (Con (UnQual (Ident "Bold")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "invis")) (UnGuardedAlt (Con (UnQual (Ident "Invisible")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "filled")) (UnGuardedAlt (Con (UnQual (Ident "Filled")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "diagonals")) (UnGuardedAlt (Con (UnQual (Ident "Diagonals")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (String "rounded")) (UnGuardedAlt (Con (UnQual (Ident "Rounded")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) PWildCard (UnGuardedAlt (App (Con (UnQual (Ident "DD"))) (Var (UnQual (Ident "str"))))) (BDecls [])])) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseStyleName"] (TyApp (TyCon (UnQual (Ident "Parse"))) (TyCon (UnQual (Ident "String")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseStyleName")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "f")) (InfixApp (Var (UnQual (Ident "orQuote"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "noneOf"))) (List [Var (UnQual (Ident "quoteChar")),Lit (Char '('),Lit (Char ')'),Lit (Char ','),Lit (Char ' ')]))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) (App (Var (UnQual (Ident "many"))) (Paren (InfixApp (Var (UnQual (Ident "orQuote"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "noneOf"))) (List [Var (UnQual (Ident "quoteChar")),Lit (Char '('),Lit (Char ')'),Lit (Char ',')]))))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "f"))) (QConOp (Special Cons)) (Var (UnQual (Ident "r")))))])) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) NewType [] (Ident "PortPos") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "PP") [UnBangedTy (TyCon (UnQual (Ident "CompassPoint")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "PortPos"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "PP")) [PVar (Ident "cp")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "cp"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "PP")) [PVar (Ident "cp")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "cp"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "PortPos"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "PP")))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "CompassPoint") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "North") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NorthEast") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "East") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SouthEast") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "South") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "SouthWest") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "West") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NorthWest") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "CenterPoint") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoCP") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "CompassPoint"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NorthEast")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "ne")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NorthWest")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "nw")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "North")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "n")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "East")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "e")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SouthEast")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "se")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "SouthWest")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "sw")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "South")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "s")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "West")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "w")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "CenterPoint")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "c")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoCP")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "_")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "CompassPoint"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NorthEast")))) (Lit (String "ne")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NorthWest")))) (Lit (String "nw")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "North")))) (Lit (String "n")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SouthEast")))) (Lit (String "se")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "SouthWest")))) (Lit (String "sw")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "South")))) (Lit (String "s")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "East")))) (Lit (String "e")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "West")))) (Lit (String "w")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "CenterPoint")))) (Lit (String "c")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoCP")))) (Lit (String "_"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ViewPort") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (RecDecl (Ident "VP") [([Ident "wVal"],UnBangedTy (TyCon (UnQual (Ident "Double")))),([Ident "hVal"],UnBangedTy (TyCon (UnQual (Ident "Double")))),([Ident "zVal"],UnBangedTy (TyCon (UnQual (Ident "Double")))),([Ident "focus"],UnBangedTy (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "FocusType")))))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ViewPort"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PVar (Ident "vp")] Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "vs")))) (Paren (InfixApp (App (Var (UnQual (Symbol "<>"))) (Paren (InfixApp (Var (UnQual (Ident "vs"))) (QVarOp (UnQual (Symbol "<>"))) (Var (UnQual (Ident "comma")))))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot")))))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "focus"))) (Var (UnQual (Ident "vp")))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "vs")) Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "hcat"))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "punctuate"))) (Var (UnQual (Ident "comma"))))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "map"))) (Paren (InfixApp (Var (UnQual (Ident "unqtDot"))) (QVarOp (UnQual (Symbol "."))) (App (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Symbol "$")))) (Var (UnQual (Ident "vp"))))))) (List [Var (UnQual (Ident "wVal")),Var (UnQual (Ident "hVal")),Var (UnQual (Ident "zVal"))])))) (BDecls [])])]),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "toDot")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "doubleQuotes"))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "unqtDot"))))) (BDecls []))],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ViewPort"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "wv")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (Var (UnQual (Ident "parseComma"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "hv")) (Var (UnQual (Ident "parseUnqt"))),Qualifier (Var (UnQual (Ident "parseComma"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "zv")) (Var (UnQual (Ident "parseUnqt"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "mf")) (InfixApp (Var (UnQual (Ident "optional"))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "parseComma"))) (QVarOp (UnQual (Symbol ">>"))) (Var (UnQual (Ident "parseUnqt"))))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "VP"))) (Var (UnQual (Ident "wv")))) (Var (UnQual (Ident "hv")))) (Var (UnQual (Ident "zv")))) (Var (UnQual (Ident "mf")))))])) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "quotedParse"))) (Var (UnQual (Ident "parseUnqt"))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "FocusType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "XY") [UnBangedTy (TyCon (UnQual (Ident "Point")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NodeFocus") [UnBangedTy (TyCon (UnQual (Ident "String")))])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "FocusType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "XY")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "p"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "NodeFocus")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "nm"))))) (BDecls [])]),InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "XY")) [PVar (Ident "p")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "p"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "toDot") [PParen (PApp (UnQual (Ident "NodeFocus")) [PVar (Ident "nm")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "toDot"))) (Var (UnQual (Ident "nm"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "FocusType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "XY")))) (Var (UnQual (Ident "parseUnqt")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NodeFocus")))) (Var (UnQual (Ident "parseUnqt")))))) (BDecls [])),InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parse")) Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "XY")))) (Var (UnQual (Ident "parse")))) (QVarOp (UnQual (Ident "onFail"))) (App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "NodeFocus")))) (Var (UnQual (Ident "parse")))))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "VerticalPlacement") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "VTop") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "VCenter") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "VBottom") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "VerticalPlacement"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "VTop")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 't')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "VCenter")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'c')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "VBottom")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'b')))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "VerticalPlacement"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "VTop")))) (Lit (String "t")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "VCenter")))) (Lit (String "c")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "VBottom")))) (Lit (String "b"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "ScaleType") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "UniformScale") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "NoScale") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FillWidth") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FillHeight") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FillBoth") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "ScaleType"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "UniformScale")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "True"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "NoScale")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Con (UnQual (Ident "False"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FillWidth")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "width")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FillHeight")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "height")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FillBoth")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "both")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "ScaleType"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "UniformScale")))) (Lit (String "true")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "NoScale")))) (Lit (String "false")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FillWidth")))) (Lit (String "width")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FillHeight")))) (Lit (String "height")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FillBoth")))) (Lit (String "both"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Justification") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "JLeft") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "JRight") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "JCenter") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Bounded"),[]),(UnQual (Ident "Enum"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Justification"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "JLeft")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'l')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "JRight")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'r')))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "JCenter")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "char"))) (Lit (Char 'c')))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Justification"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "JLeft")))) (Lit (String "l")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "JRight")))) (Lit (String "r")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "JCenter")))) (Lit (String "c"))]))) (BDecls []))],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Ratios") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "AspectRatio") [UnBangedTy (TyCon (UnQual (Ident "Double")))]),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "FillRatio") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "CompressRatio") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "ExpandRatio") []),QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "AutoRatio") [])] [(UnQual (Ident "Eq"),[]),(UnQual (Ident "Ord"),[]),(UnQual (Ident "Show"),[]),(UnQual (Ident "Read"),[])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "PrintDot")) [TyCon (UnQual (Ident "Ratios"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PParen (PApp (UnQual (Ident "AspectRatio")) [PVar (Ident "r")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unqtDot"))) (Var (UnQual (Ident "r"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "FillRatio")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "fill")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "CompressRatio")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "compress")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "ExpandRatio")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "expand")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unqtDot") [PApp (UnQual (Ident "AutoRatio")) []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "auto")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "ParseDot")) [TyCon (UnQual (Ident "Ratios"))] [InsDecl (PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "parseUnqt")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "oneOf"))) (List [App (App (Var (UnQual (Ident "liftM"))) (Con (UnQual (Ident "AspectRatio")))) (Var (UnQual (Ident "parseUnqt"))),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "FillRatio")))) (Lit (String "fill")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "CompressRatio")))) (Lit (String "compress")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "ExpandRatio")))) (Lit (String "expand")),App (App (Var (UnQual (Ident "stringRep"))) (Con (UnQual (Ident "AutoRatio")))) (Lit (String "auto"))]))) (BDecls []))]]-+Match
tests/examples/Attributes.hs.prettyprinter.golden view
@@ -24,7 +24,7 @@ import Data.Maybe (isJust) import Control.Arrow (first) import Control.Monad (liftM, liftM2)- + data Attribute = Damping Double | K Double | URL URL@@ -169,10 +169,10 @@ | Weight Double | Width Double | Z Double- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ type Attributes = [Attribute]- + instance PrintDot Attribute where unqtDot (Damping v) = printField "Damping" v unqtDot (K v) = printField "K" v@@ -319,7 +319,7 @@ unqtDot (Width v) = printField "width" v unqtDot (Z v) = printField "z" v listToDot = unqtListToDot- + instance ParseDot Attribute where parseUnqt = oneOf@@ -458,7 +458,7 @@ liftM Width $ parseField "width", liftM Z $ parseField "z"] parse = parseUnqt parseList = parseUnqtList- + usedByGraphs :: Attribute -> Bool usedByGraphs Damping{} = True usedByGraphs K{} = True@@ -540,7 +540,7 @@ usedByGraphs ViewPort{} = True usedByGraphs VoroMargin{} = True usedByGraphs _ = False- + usedByClusters :: Attribute -> Bool usedByClusters K{} = True usedByClusters URL{} = True@@ -565,11 +565,11 @@ usedByClusters Target{} = True usedByClusters Tooltip{} = True usedByClusters _ = False- + usedBySubGraphs :: Attribute -> Bool usedBySubGraphs Rank{} = True usedBySubGraphs _ = False- + usedByNodes :: Attribute -> Bool usedByNodes URL{} = True usedByNodes ColorScheme{} = True@@ -613,7 +613,7 @@ usedByNodes Width{} = True usedByNodes Z{} = True usedByNodes _ = False- + usedByEdges :: Attribute -> Bool usedByEdges URL{} = True usedByEdges ArrowHead{} = True@@ -671,15 +671,15 @@ usedByEdges Tooltip{} = True usedByEdges Weight{} = True usedByEdges _ = False- + type EscString = String- + newtype URL = UStr{urlString :: EscString}- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot URL where unqtDot = wrap (char '<') (char '>') . text . urlString- + instance ParseDot URL where parseUnqt = liftM UStr $@@ -688,15 +688,15 @@ where open = '<' close = '>' parse = parseUnqt- + newtype ArrowType = AType [(ArrowModifier, ArrowShape)]- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ box, crow, diamond, dotArrow, inv, noArrow, normal, tee, vee :: ArrowType- + oDot, invDot, invODot, oBox, oDiamond :: ArrowType- + eDiamond, openArr, halfOpen, emptyArr, invEmpty :: ArrowType normal = AType [(noMods, Normal)] inv = AType [(noMods, Inv)]@@ -717,27 +717,27 @@ openArr = vee halfOpen = AType [(ArrMod FilledArrow LeftSide, Vee)] vee = AType [(noMods, Vee)]- + instance PrintDot ArrowType where unqtDot (AType mas) = hcat $ map appMod mas where appMod (m, a) = unqtDot m <> unqtDot a- + instance ParseDot ArrowType where parseUnqt- = (do mas <- many1 $- do m <- parseUnqt- a <- parseUnqt- return (m, a)- return $ AType mas)+ = do mas <- many1 $+ do m <- parseUnqt+ a <- parseUnqt+ return (m, a)+ return $ AType mas `onFail` specialArrowParse- + specialArrowParse :: Parse ArrowType specialArrowParse = oneOf [stringRep eDiamond "ediamond", stringRep openArr "open", stringRep halfOpen "halfopen", stringRep emptyArr "empty", stringRep invEmpty "invempty"]- + data ArrowShape = Box | Crow | Diamond@@ -747,8 +747,8 @@ | Normal | Tee | Vee- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot ArrowShape where unqtDot Box = unqtDot "box" unqtDot Crow = unqtDot "crow"@@ -759,7 +759,7 @@ unqtDot Normal = unqtDot "normal" unqtDot Tee = unqtDot "tee" unqtDot Vee = unqtDot "vee"- + instance ParseDot ArrowShape where parseUnqt = oneOf@@ -768,67 +768,67 @@ stringRep Inv "inv", stringRep NoArrow "none", stringRep Normal "normal", stringRep Tee "tee", stringRep Vee "vee"]- + data ArrowModifier = ArrMod{arrowFill :: ArrowFill, arrowSide :: ArrowSide}- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ noMods :: ArrowModifier noMods = ArrMod FilledArrow BothSides- + openMod :: ArrowModifier openMod = ArrMod OpenArrow BothSides- + instance PrintDot ArrowModifier where unqtDot (ArrMod f s) = unqtDot f <> unqtDot s- + instance ParseDot ArrowModifier where parseUnqt = do f <- parseUnqt s <- parseUnqt return $ ArrMod f s- + data ArrowFill = OpenArrow | FilledArrow- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot ArrowFill where unqtDot OpenArrow = char 'o' unqtDot FilledArrow = empty- + instance ParseDot ArrowFill where parseUnqt = liftM (bool FilledArrow OpenArrow . isJust) $ optional (character 'o') parse = parseUnqt- + data ArrowSide = LeftSide | RightSide | BothSides- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot ArrowSide where unqtDot LeftSide = char 'l' unqtDot RightSide = char 'r' unqtDot BothSides = empty- + instance ParseDot ArrowSide where parseUnqt = liftM getSideType $ optional (oneOf $ map character ['l', 'r']) where getSideType = maybe BothSides (bool RightSide LeftSide . (==) 'l') parse = parseUnqt- + data AspectType = RatioOnly Double | RatioPassCount Double Int- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot AspectType where unqtDot (RatioOnly r) = unqtDot r unqtDot (RatioPassCount r p) = commaDel r p toDot at@RatioOnly{} = unqtDot at toDot at@RatioPassCount{} = doubleQuotes $ unqtDot at- + instance ParseDot AspectType where parseUnqt = liftM (uncurry RatioPassCount) commaSepUnqt `onFail`@@ -836,141 +836,141 @@ parse = quotedParse (liftM (uncurry RatioPassCount) commaSepUnqt) `onFail` liftM RatioOnly parse- + data Rect = Rect Point Point- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot Rect where unqtDot (Rect p1 p2) = commaDel p1 p2 toDot = doubleQuotes . unqtDot- + instance ParseDot Rect where parseUnqt = liftM (uncurry Rect) commaSepUnqt parse = quotedParse parseUnqt- + data ClusterMode = Local | Global | NoCluster- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot ClusterMode where unqtDot Local = unqtDot "local" unqtDot Global = unqtDot "global" unqtDot NoCluster = unqtDot "none"- + instance ParseDot ClusterMode where parseUnqt = oneOf [stringRep Local "local", stringRep Global "global", stringRep NoCluster "none"]- + data DirType = Forward | Back | Both | NoDir- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot DirType where unqtDot Forward = unqtDot "forward" unqtDot Back = unqtDot "back" unqtDot Both = unqtDot "both" unqtDot NoDir = unqtDot "none"- + instance ParseDot DirType where parseUnqt = oneOf [stringRep Forward "forward", stringRep Back "back", stringRep Both "both", stringRep NoDir "none"]- + data DEConstraints = EdgeConstraints | NoConstraints | HierConstraints- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot DEConstraints where unqtDot EdgeConstraints = unqtDot True unqtDot NoConstraints = unqtDot False unqtDot HierConstraints = text "hier"- + instance ParseDot DEConstraints where parseUnqt = liftM (bool NoConstraints EdgeConstraints) parse `onFail` stringRep HierConstraints "hier"- + data DPoint = DVal Double | PVal Point- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot DPoint where unqtDot (DVal d) = unqtDot d unqtDot (PVal p) = unqtDot p toDot (DVal d) = toDot d toDot (PVal p) = toDot p- + instance ParseDot DPoint where parseUnqt = liftM PVal parseUnqt `onFail` liftM DVal parseUnqt parse = liftM PVal parse `onFail` liftM DVal parse- + data ModeType = Major | KK | Hier | IpSep- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot ModeType where unqtDot Major = text "major" unqtDot KK = text "KK" unqtDot Hier = text "hier" unqtDot IpSep = text "ipsep"- + instance ParseDot ModeType where parseUnqt = oneOf [stringRep Major "major", stringRep KK "KK", stringRep Hier "hier", stringRep IpSep "ipsep"]- + data Model = ShortPath | SubSet | Circuit- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot Model where unqtDot ShortPath = text "shortpath" unqtDot SubSet = text "subset" unqtDot Circuit = text "circuit"- + instance ParseDot Model where parseUnqt = oneOf [stringRep ShortPath "shortpath", stringRep SubSet "subset", stringRep Circuit "circuit"]- + data Label = StrLabel EscString | URLLabel URL- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot Label where unqtDot (StrLabel s) = unqtDot s unqtDot (URLLabel u) = unqtDot u toDot (StrLabel s) = toDot s toDot (URLLabel u) = toDot u- + instance ParseDot Label where parseUnqt = liftM StrLabel parseUnqt `onFail` liftM URLLabel parseUnqt parse = liftM StrLabel parse `onFail` liftM URLLabel parse- + data Point = Point Int Int | PointD Double Double- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot Point where unqtDot (Point x y) = commaDel x y unqtDot (PointD x y) = commaDel x y toDot = doubleQuotes . unqtDot unqtListToDot = hsep . map unqtDot listToDot = doubleQuotes . unqtListToDot- + instance ParseDot Point where parseUnqt = intDblPoint `onFail` liftM (uncurry Point) commaSepUnqt `onFail`@@ -978,12 +978,12 @@ where intDblPoint = liftM (uncurry PointD . first fI) $ commaSep' parseUnqt parseStrictFloat- + fI :: Int -> Double fI = fromIntegral parse = quotedParse parseUnqt parseUnqtList = sepBy1 parseUnqt whitespace- + data Overlap = KeepOverlaps | RemoveOverlaps | ScaleOverlaps@@ -992,8 +992,8 @@ | CompressOverlap | VpscOverlap | IpsepOverlap- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot Overlap where unqtDot KeepOverlaps = unqtDot True unqtDot RemoveOverlaps = unqtDot False@@ -1004,7 +1004,7 @@ unqtDot CompressOverlap = text "compress" unqtDot VpscOverlap = text "vpsc" unqtDot IpsepOverlap = text "ipsep"- + instance ParseDot Overlap where parseUnqt = oneOf@@ -1014,23 +1014,23 @@ string "prism" >> liftM PrismOverlap (optional parse), stringRep CompressOverlap "compress", stringRep VpscOverlap "vpsc", stringRep IpsepOverlap "ipsep"]- + data LayerRange = LRID LayerID | LRS LayerID String LayerID- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot LayerRange where unqtDot (LRID lid) = unqtDot lid unqtDot (LRS id1 s id2) = unqtDot id1 <> unqtDot s <> unqtDot id2 toDot (LRID lid) = toDot lid toDot lrs = doubleQuotes $ unqtDot lrs- + instance ParseDot LayerRange where parseUnqt- = (do id1 <- parseUnqt- s <- parseLayerSep- id2 <- parseUnqt- return $ LRS id1 s id2)+ = do id1 <- parseUnqt+ s <- parseLayerSep+ id2 <- parseUnqt+ return $ LRS id1 s id2 `onFail` liftM LRID parseUnqt parse = quotedParse@@ -1039,55 +1039,55 @@ id2 <- parseUnqt return $ LRS id1 s id2) `onFail` liftM LRID parse- + parseLayerSep :: Parse String parseLayerSep = many1 . oneOf $ map character defLayerSep- + defLayerSep :: [Char] defLayerSep = [' ', ':', '\t']- + parseLayerName :: Parse String parseLayerName = many1 . orQuote $ satisfy (liftM2 (&&) notLayerSep ((/=) quoteChar))- + parseLayerName' :: Parse String parseLayerName' = stringBlock `onFail` quotedParse parseLayerName- + notLayerSep :: Char -> Bool notLayerSep = flip notElem defLayerSep- + data LayerID = AllLayers | LRInt Int | LRName String- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot LayerID where unqtDot AllLayers = text "all" unqtDot (LRInt n) = unqtDot n unqtDot (LRName nm) = unqtDot nm toDot (LRName nm) = toDot nm toDot li = unqtDot li- + instance ParseDot LayerID where parseUnqt = liftM checkLayerName parseLayerName parse = oneOf [liftM checkLayerName parseLayerName', liftM LRInt parse]- + checkLayerName :: String -> LayerID checkLayerName str = maybe checkAll LRInt $ stringToInt str where checkAll = if map toLower str == "all" then AllLayers else LRName str- + data LayerList = LL String [(String, String)]- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot LayerList where unqtDot (LL l1 ols) = unqtDot l1 <> hcat (map subLL ols) where subLL (s, l) = unqtDot s <> unqtDot l toDot (LL l1 []) = toDot l1 toDot ll = doubleQuotes $ unqtDot ll- + instance ParseDot LayerList where parseUnqt = do l1 <- parseLayerName@@ -1099,45 +1099,45 @@ parse = quotedParse parseUnqt `onFail` liftM (flip LL []) (parseLayerName' `onFail` numString)- + data OutputMode = BreadthFirst | NodesFirst | EdgesFirst- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot OutputMode where unqtDot BreadthFirst = text "breadthfirst" unqtDot NodesFirst = text "nodesfirst" unqtDot EdgesFirst = text "edgesfirst"- + instance ParseDot OutputMode where parseUnqt = oneOf [stringRep BreadthFirst "breadthfirst", stringRep NodesFirst "nodesfirst", stringRep EdgesFirst "edgesfirst"]- + data Pack = DoPack | DontPack | PackMargin Int- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot Pack where unqtDot DoPack = unqtDot True unqtDot DontPack = unqtDot False unqtDot (PackMargin m) = unqtDot m- + instance ParseDot Pack where parseUnqt = oneOf [liftM PackMargin parseUnqt, liftM (bool DontPack DoPack) onlyBool]- + data PackMode = PackNode | PackClust | PackGraph | PackArray Bool Bool (Maybe Int)- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot PackMode where unqtDot PackNode = text "node" unqtDot PackClust = text "clust"@@ -1148,7 +1148,7 @@ isUnder = if c || u then flip (<>) $ char '_' else id isC = if c then flip (<>) $ char 'c' else id isU = if u then flip (<>) $ char 'u' else id- + instance ParseDot PackMode where parseUnqt = oneOf@@ -1164,17 +1164,17 @@ return $ PackArray c u mi] where hasCharacter ms c = maybe False (elem c) ms isCU = flip elem ['c', 'u']- + data Pos = PointPos Point | SplinePos [Spline]- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot Pos where unqtDot (PointPos p) = unqtDot p unqtDot (SplinePos ss) = unqtDot ss toDot (PointPos p) = toDot p toDot (SplinePos ss) = toDot ss- + instance ParseDot Pos where parseUnqt = do splns <- parseUnqt@@ -1182,14 +1182,14 @@ [Spline Nothing Nothing [p]] -> return $ PointPos p _ -> return $ SplinePos splns parse = quotedParse parseUnqt- + data EdgeType = SplineEdges | LineEdges | NoEdges | PolyLine | CompoundEdge- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot EdgeType where unqtDot SplineEdges = toDot True unqtDot LineEdges = toDot False@@ -1198,7 +1198,7 @@ unqtDot CompoundEdge = text "compound" toDot NoEdges = doubleQuotes empty toDot et = unqtDot et- + instance ParseDot EdgeType where parseUnqt = oneOf@@ -1206,7 +1206,7 @@ stringRep SplineEdges "spline", stringRep LineEdges "line", stringRep PolyLine "polyline", stringRep CompoundEdge "compound"] parse = stringRep NoEdges "\"\"" `onFail` optionalQuoted parseUnqt- + data PageDir = Bl | Br | Tl@@ -1215,8 +1215,8 @@ | Rt | Lb | Lt- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot PageDir where unqtDot Bl = text "BL" unqtDot Br = text "BR"@@ -1226,17 +1226,17 @@ unqtDot Rt = text "RT" unqtDot Lb = text "LB" unqtDot Lt = text "LT"- + instance ParseDot PageDir where parseUnqt = oneOf [stringRep Bl "BL", stringRep Br "BR", stringRep Tl "TL", stringRep Tr "TR", stringRep Rb "RB", stringRep Rt "RT", stringRep Lb "LB", stringRep Lt "LT"]- + data Spline = Spline (Maybe Point) (Maybe Point) [Point]- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot Spline where unqtDot (Spline ms me ps) = addS . addE . hsep $ map unqtDot ps where addP t = maybe id ((<+>) . commaDel t)@@ -1245,7 +1245,7 @@ toDot = doubleQuotes . unqtDot unqtListToDot = hcat . punctuate semi . map unqtDot listToDot = doubleQuotes . unqtListToDot- + instance ParseDot Spline where parseUnqt = do ms <- parseP 's'@@ -1259,36 +1259,36 @@ parseUnqt `discard` whitespace parse = quotedParse parseUnqt parseUnqtList = sepBy1 parseUnqt (character ';')- + data QuadType = NormalQT | FastQT | NoQT- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot QuadType where unqtDot NormalQT = text "normal" unqtDot FastQT = text "fast" unqtDot NoQT = text "none"- + instance ParseDot QuadType where parseUnqt = oneOf [stringRep NormalQT "normal", stringRep FastQT "fast", stringRep NoQT "none", character '2' >> return FastQT, liftM (bool NoQT NormalQT) parse]- + data Root = IsCentral | NotCentral | NodeName String- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot Root where unqtDot IsCentral = unqtDot True unqtDot NotCentral = unqtDot False unqtDot (NodeName n) = unqtDot n toDot (NodeName n) = toDot n toDot r = unqtDot r- + instance ParseDot Root where parseUnqt = liftM (bool NotCentral IsCentral) onlyBool `onFail`@@ -1296,46 +1296,46 @@ parse = optionalQuoted (liftM (bool NotCentral IsCentral) onlyBool) `onFail` liftM NodeName parse- + data RankType = SameRank | MinRank | SourceRank | MaxRank | SinkRank- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot RankType where unqtDot SameRank = text "same" unqtDot MinRank = text "min" unqtDot SourceRank = text "source" unqtDot MaxRank = text "max" unqtDot SinkRank = text "sink"- + instance ParseDot RankType where parseUnqt = oneOf [stringRep SameRank "same", stringRep MinRank "min", stringRep SourceRank "source", stringRep MaxRank "max", stringRep SinkRank "sink"]- + data RankDir = FromTop | FromLeft | FromBottom | FromRight- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot RankDir where unqtDot FromTop = text "TB" unqtDot FromLeft = text "LR" unqtDot FromBottom = text "BT" unqtDot FromRight = text "RL"- + instance ParseDot RankDir where parseUnqt = oneOf [stringRep FromTop "TB", stringRep FromLeft "LR", stringRep FromBottom "BT", stringRep FromRight "RL"]- + data Shape = BoxShape | Polygon | Ellipse@@ -1366,8 +1366,8 @@ | Folder | Box3D | Component- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot Shape where unqtDot BoxShape = text "box" unqtDot Polygon = text "polygon"@@ -1399,7 +1399,7 @@ unqtDot Folder = text "folder" unqtDot Box3D = text "box3d" unqtDot Component = text "component"- + instance ParseDot Shape where parseUnqt = oneOf@@ -1422,7 +1422,7 @@ stringRep MSquare "Msquare", stringRep MCircle "Mcircle", stringRep Note "note", stringRep Tab "tab", stringRep Folder "folder", stringRep Component "component"]- + data SmoothType = NoSmooth | AvgDist | GraphDist@@ -1430,8 +1430,8 @@ | RNG | Spring | TriangleSmooth- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot SmoothType where unqtDot NoSmooth = text "none" unqtDot AvgDist = text "avg_dist"@@ -1440,7 +1440,7 @@ unqtDot RNG = text "rng" unqtDot Spring = text "spring" unqtDot TriangleSmooth = text "triangle"- + instance ParseDot SmoothType where parseUnqt = oneOf@@ -1448,17 +1448,17 @@ stringRep GraphDist "graph_dist", stringRep PowerDist "power_dist", stringRep RNG "rng", stringRep Spring "spring", stringRep TriangleSmooth "triangle"]- + data StartType = StartStyle STStyle | StartSeed Int | StartStyleSeed STStyle Int- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot StartType where unqtDot (StartStyle ss) = unqtDot ss unqtDot (StartSeed s) = unqtDot s unqtDot (StartStyleSeed ss s) = unqtDot ss <> unqtDot s- + instance ParseDot StartType where parseUnqt = oneOf@@ -1466,26 +1466,26 @@ s <- parseUnqt return $ StartStyleSeed ss s, liftM StartStyle parseUnqt, liftM StartSeed parseUnqt]- + data STStyle = RegularStyle | SelfStyle | RandomStyle- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot STStyle where unqtDot RegularStyle = text "regular" unqtDot SelfStyle = text "self" unqtDot RandomStyle = text "random"- + instance ParseDot STStyle where parseUnqt = oneOf [stringRep RegularStyle "regular", stringRep SelfStyle "self", stringRep RandomStyle "random"]- + data StyleItem = SItem StyleName [String]- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot StyleItem where unqtDot (SItem nm args) | null args = dnm@@ -1498,7 +1498,7 @@ unqtListToDot = hcat . punctuate comma . map unqtDot listToDot [SItem nm []] = toDot nm listToDot sis = doubleQuotes $ unqtListToDot sis- + instance ParseDot StyleItem where parseUnqt = do nm <- parseUnqt@@ -1509,12 +1509,12 @@ liftM (flip SItem []) parse parseUnqtList = sepBy1 parseUnqt parseComma parseList = quotedParse parseUnqtList `onFail` liftM return parse- + parseArgs :: Parse [String] parseArgs = bracketSep (character '(') parseComma (character ')') parseStyleName- + data StyleName = Dashed | Dotted | Solid@@ -1524,8 +1524,8 @@ | Diagonals | Rounded | DD String- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot StyleName where unqtDot Dashed = text "dashed" unqtDot Dotted = text "dotted"@@ -1538,7 +1538,7 @@ unqtDot (DD nm) = unqtDot nm toDot (DD nm) = toDot nm toDot sn = unqtDot sn- + instance ParseDot StyleName where parseUnqt = liftM checkDD parseStyleName parse@@ -1547,7 +1547,7 @@ do f <- orQuote $ noneOf [quoteChar, '(', ')', ',', ' ', ']'] r <- many (orQuote $ noneOf [quoteChar, '(', ')', ',', ']']) return $ f : r- + checkDD :: String -> StyleName checkDD str = case map toLower str of@@ -1560,23 +1560,23 @@ "diagonals" -> Diagonals "rounded" -> Rounded _ -> DD str- + parseStyleName :: Parse String parseStyleName = do f <- orQuote $ noneOf [quoteChar, '(', ')', ',', ' '] r <- many (orQuote $ noneOf [quoteChar, '(', ')', ',']) return $ f : r- + newtype PortPos = PP CompassPoint- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot PortPos where unqtDot (PP cp) = unqtDot cp toDot (PP cp) = toDot cp- + instance ParseDot PortPos where parseUnqt = liftM PP parseUnqt- + data CompassPoint = North | NorthEast | East@@ -1587,8 +1587,8 @@ | NorthWest | CenterPoint | NoCP- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot CompassPoint where unqtDot NorthEast = text "ne" unqtDot NorthWest = text "nw"@@ -1600,7 +1600,7 @@ unqtDot West = text "w" unqtDot CenterPoint = text "c" unqtDot NoCP = text "_"- + instance ParseDot CompassPoint where parseUnqt = oneOf@@ -1608,18 +1608,18 @@ stringRep North "n", stringRep SouthEast "se", stringRep SouthWest "sw", stringRep South "s", stringRep East "e", stringRep West "w", stringRep CenterPoint "c", stringRep NoCP "_"]- + data ViewPort = VP{wVal :: Double, hVal :: Double, zVal :: Double, focus :: Maybe FocusType}- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot ViewPort where unqtDot vp = maybe vs ((<>) (vs <> comma) . unqtDot) $ focus vp where vs = hcat . punctuate comma $ map (unqtDot . flip ($) vp) [wVal, hVal, zVal] toDot = doubleQuotes . unqtDot- + instance ParseDot ViewPort where parseUnqt = do wv <- parseUnqt@@ -1630,86 +1630,86 @@ mf <- optional $ parseComma >> parseUnqt return $ VP wv hv zv mf parse = quotedParse parseUnqt- + data FocusType = XY Point | NodeFocus String- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot FocusType where unqtDot (XY p) = unqtDot p unqtDot (NodeFocus nm) = unqtDot nm toDot (XY p) = toDot p toDot (NodeFocus nm) = toDot nm- + instance ParseDot FocusType where parseUnqt = liftM XY parseUnqt `onFail` liftM NodeFocus parseUnqt parse = liftM XY parse `onFail` liftM NodeFocus parse- + data VerticalPlacement = VTop | VCenter | VBottom- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot VerticalPlacement where unqtDot VTop = char 't' unqtDot VCenter = char 'c' unqtDot VBottom = char 'b'- + instance ParseDot VerticalPlacement where parseUnqt = oneOf [stringRep VTop "t", stringRep VCenter "c", stringRep VBottom "b"]- + data ScaleType = UniformScale | NoScale | FillWidth | FillHeight | FillBoth- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot ScaleType where unqtDot UniformScale = unqtDot True unqtDot NoScale = unqtDot False unqtDot FillWidth = text "width" unqtDot FillHeight = text "height" unqtDot FillBoth = text "both"- + instance ParseDot ScaleType where parseUnqt = oneOf [stringRep UniformScale "true", stringRep NoScale "false", stringRep FillWidth "width", stringRep FillHeight "height", stringRep FillBoth "both"]- + data Justification = JLeft | JRight | JCenter- deriving (Eq, Ord, Bounded, Enum, Show, Read)- + deriving (Eq, Ord, Bounded, Enum, Show, Read)+ instance PrintDot Justification where unqtDot JLeft = char 'l' unqtDot JRight = char 'r' unqtDot JCenter = char 'c'- + instance ParseDot Justification where parseUnqt = oneOf [stringRep JLeft "l", stringRep JRight "r", stringRep JCenter "c"]- + data Ratios = AspectRatio Double | FillRatio | CompressRatio | ExpandRatio | AutoRatio- deriving (Eq, Ord, Show, Read)- + deriving (Eq, Ord, Show, Read)+ instance PrintDot Ratios where unqtDot (AspectRatio r) = unqtDot r unqtDot FillRatio = text "fill" unqtDot CompressRatio = text "compress" unqtDot ExpandRatio = text "expand" unqtDot AutoRatio = text "auto"- + instance ParseDot Ratios where parseUnqt = oneOf
tests/examples/BadStringLineBreak.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/BadStringLineBreak.hs", srcLine = 3, srcColumn = 27}) "Improperly terminated string"+ParseFailed (SrcLoc "tests/examples/BadStringLineBreak.hs" 3 27) "Improperly terminated string"
tests/examples/BadStringLineBreak.hs.parser.golden view
@@ -1,1 +1,3 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/BadStringLineBreak.hs", srcLine = 3, srcColumn = 27}) "Improperly terminated string"+ParseFailed+ (SrcLoc "tests/examples/BadStringLineBreak.hs" 3 27)+ "Improperly terminated string"
tests/examples/BadStringLineBreak.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/BadStringLineBreak.hs", srcLine = 3, srcColumn = 27}) "Improperly terminated string"+ParseFailed (SrcLoc "tests/examples/BadStringLineBreak.hs" 3 27) "Improperly terminated string"
tests/examples/BadStringLineBreak.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/BadStringLineBreak.hs", srcLine = 3, srcColumn = 27}) "Improperly terminated string"+ParseFailed (SrcLoc "tests/examples/BadStringLineBreak.hs" 3 27) "Improperly terminated string"
tests/examples/BangPatterns.hs.parser.golden view
@@ -1,1 +1,768 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 26}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 20}, srcInfoPoints = []}) "BangPatterns") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 1, srcSpanStartColumn = 27, srcSpanEndLine = 1, srcSpanEndColumn = 30}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) "BangPatterns"]] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 15, srcSpanEndLine = 4, srcSpanEndColumn = 17}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = []}) "firstnonspace"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 28, srcSpanEndLine = 4, srcSpanEndColumn = 30}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 27}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Ptr"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 22, srcSpanEndLine = 4, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 22, srcSpanEndLine = 4, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 22, srcSpanEndLine = 4, srcSpanEndColumn = 27}, srcInfoPoints = []}) "Word8")))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 31, srcSpanEndLine = 4, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 35, srcSpanEndLine = 4, srcSpanEndColumn = 37}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 31, srcSpanEndLine = 4, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 31, srcSpanEndLine = 4, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 31, srcSpanEndLine = 4, srcSpanEndColumn = 34}, srcInfoPoints = []}) "Int"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 42, srcSpanEndLine = 4, srcSpanEndColumn = 44}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 41}, srcInfoPoints = []}) "Int"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 45, srcSpanEndLine = 4, srcSpanEndColumn = 51}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 45, srcSpanEndLine = 4, srcSpanEndColumn = 47}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 45, srcSpanEndLine = 4, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 45, srcSpanEndLine = 4, srcSpanEndColumn = 47}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 48, srcSpanEndLine = 4, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 48, srcSpanEndLine = 4, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 4, srcSpanStartColumn = 48, srcSpanEndLine = 4, srcSpanEndColumn = 51}, srcInfoPoints = []}) "Int"))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) "firstnonspace") [PBangPat (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 15, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 19}, srcInfoPoints = []}) "ptr")),PBangPat (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 20, srcSpanEndLine = 5, srcSpanEndColumn = 21}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")),PBangPat (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 5, srcSpanEndColumn = 24}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 24, srcSpanEndLine = 5, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 5, srcSpanStartColumn = 24, srcSpanEndLine = 5, srcSpanEndColumn = 25}, srcInfoPoints = []}) "m"))] (GuardedRhss (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 9, srcSpanEndColumn = 0}, srcInfoPoints = []}) [GuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 17, srcSpanEndLine = 6, srcSpanEndColumn = 18}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 8}, srcInfoPoints = []}) "n"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) ">="))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) "m"))))] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 25}, srcInfoPoints = []}) "return"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 26, srcSpanEndLine = 6, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 26, srcSpanEndLine = 6, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 6, srcSpanStartColumn = 26, srcSpanEndLine = 6, srcSpanEndColumn = 27}, srcInfoPoints = []}) "n")))),GuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 5, srcSpanEndLine = 9, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 5, srcSpanEndLine = 7, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 17, srcSpanEndLine = 7, srcSpanEndColumn = 18}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 7, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 7, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 7, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 7, srcSpanEndColumn = 16}, srcInfoPoints = []}) "otherwise")))] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 19, srcSpanEndLine = 9, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 19, srcSpanEndLine = 7, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 22, srcSpanEndLine = 7, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 22, srcSpanEndLine = 8, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 22, srcSpanEndLine = 7, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 24, srcSpanEndLine = 7, srcSpanEndColumn = 26}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 22, srcSpanEndLine = 7, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 22, srcSpanEndLine = 7, srcSpanEndColumn = 23}, srcInfoPoints = []}) "w")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 27, srcSpanEndLine = 7, srcSpanEndColumn = 44}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 27, srcSpanEndLine = 7, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 27, srcSpanEndLine = 7, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 27, srcSpanEndLine = 7, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 27, srcSpanEndLine = 7, srcSpanEndColumn = 38}, srcInfoPoints = []}) "peekElemOff"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 39, srcSpanEndLine = 7, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 39, srcSpanEndLine = 7, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 39, srcSpanEndLine = 7, srcSpanEndColumn = 42}, srcInfoPoints = []}) "ptr")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 43, srcSpanEndLine = 7, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 43, srcSpanEndLine = 7, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 7, srcSpanStartColumn = 43, srcSpanEndLine = 7, srcSpanEndColumn = 44}, srcInfoPoints = []}) "n")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 22, srcSpanEndLine = 8, srcSpanEndColumn = 84}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 22, srcSpanEndLine = 8, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 40, srcSpanEndLine = 8, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 71, srcSpanEndLine = 8, srcSpanEndColumn = 75}]}) (If (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 22, srcSpanEndLine = 8, srcSpanEndColumn = 84}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 22, srcSpanEndLine = 8, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 40, srcSpanEndLine = 8, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 71, srcSpanEndLine = 8, srcSpanEndColumn = 75}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 25, srcSpanEndLine = 8, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 25, srcSpanEndLine = 8, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 25, srcSpanEndLine = 8, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 25, srcSpanEndLine = 8, srcSpanEndColumn = 37}, srcInfoPoints = []}) "isSpaceWord8"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 38, srcSpanEndLine = 8, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 38, srcSpanEndLine = 8, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 38, srcSpanEndLine = 8, srcSpanEndColumn = 39}, srcInfoPoints = []}) "w")))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 45, srcSpanEndLine = 8, srcSpanEndColumn = 70}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 45, srcSpanEndLine = 8, srcSpanEndColumn = 68}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 45, srcSpanEndLine = 8, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 45, srcSpanEndLine = 8, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 45, srcSpanEndLine = 8, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 45, srcSpanEndLine = 8, srcSpanEndColumn = 58}, srcInfoPoints = []}) "firstnonspace"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 59, srcSpanEndLine = 8, srcSpanEndColumn = 62}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 59, srcSpanEndLine = 8, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 59, srcSpanEndLine = 8, srcSpanEndColumn = 62}, srcInfoPoints = []}) "ptr")))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 63, srcSpanEndLine = 8, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 63, srcSpanEndLine = 8, srcSpanEndColumn = 64},SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 67, srcSpanEndLine = 8, srcSpanEndColumn = 68}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 64, srcSpanEndLine = 8, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 64, srcSpanEndLine = 8, srcSpanEndColumn = 65}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 64, srcSpanEndLine = 8, srcSpanEndColumn = 65}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 64, srcSpanEndLine = 8, srcSpanEndColumn = 65}, srcInfoPoints = []}) "n"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 65, srcSpanEndLine = 8, srcSpanEndColumn = 66}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 65, srcSpanEndLine = 8, srcSpanEndColumn = 66}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 65, srcSpanEndLine = 8, srcSpanEndColumn = 66}, srcInfoPoints = []}) "+"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 66, srcSpanEndLine = 8, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 66, srcSpanEndLine = 8, srcSpanEndColumn = 67}, srcInfoPoints = []}) 1 "1"))))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 69, srcSpanEndLine = 8, srcSpanEndColumn = 70}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 69, srcSpanEndLine = 8, srcSpanEndColumn = 70}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 69, srcSpanEndLine = 8, srcSpanEndColumn = 70}, srcInfoPoints = []}) "m")))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 76, srcSpanEndLine = 8, srcSpanEndColumn = 84}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 76, srcSpanEndLine = 8, srcSpanEndColumn = 82}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 76, srcSpanEndLine = 8, srcSpanEndColumn = 82}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 76, srcSpanEndLine = 8, srcSpanEndColumn = 82}, srcInfoPoints = []}) "return"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 83, srcSpanEndLine = 8, srcSpanEndColumn = 84}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 83, srcSpanEndLine = 8, srcSpanEndColumn = 84}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/BangPatterns.hs", srcSpanStartLine = 8, srcSpanStartColumn = 83, srcSpanEndLine = 8, srcSpanEndColumn = 84}, srcInfoPoints = []}) "n")))))])]) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 1 1 1 1+ , SrcSpan "tests/examples/BangPatterns.hs" 2 1 2 1+ , SrcSpan "tests/examples/BangPatterns.hs" 2 1 2 1+ , SrcSpan "tests/examples/BangPatterns.hs" 4 1 4 1+ , SrcSpan "tests/examples/BangPatterns.hs" 5 1 5 1+ , SrcSpan "tests/examples/BangPatterns.hs" 9 1 9 1+ , SrcSpan "tests/examples/BangPatterns.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 2 1 2 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 2 1 2 7+ , SrcSpan "tests/examples/BangPatterns.hs" 2 21 2 26+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 2 8 2 20+ , srcInfoPoints = []+ }+ "BangPatterns")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 1 1 1 13+ , SrcSpan "tests/examples/BangPatterns.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "BangPatterns"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 1 4 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 4 15 4 17 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 1 4 14+ , srcInfoPoints = []+ }+ "firstnonspace"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 18 4 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 4 28 4 30 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 18 4 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 18 4 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 18 4 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 18 4 21+ , srcInfoPoints = []+ }+ "Ptr")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 22 4 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 22 4 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 22 4 27+ , srcInfoPoints = []+ }+ "Word8"))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 31 4 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 4 35 4 37 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 31 4 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 31 4 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 31 4 34+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 38 4 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 4 42 4 44 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 38 4 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 38 4 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 38 4 41+ , srcInfoPoints = []+ }+ "Int")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 45 4 51+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 45 4 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 45 4 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 45 4 47+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 48 4 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 48 4 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 4 48 4 51+ , srcInfoPoints = []+ }+ "Int")))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 1 8 84+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 1 8 84+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 1 5 14+ , srcInfoPoints = []+ }+ "firstnonspace")+ [ PBangPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 15 5 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ "ptr"))+ , PBangPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 20 5 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ "n"))+ , PBangPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 23 5 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 24 5 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 5 24 5 25+ , srcInfoPoints = []+ }+ "m"))+ ]+ (GuardedRhss+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 5 8 84+ , srcInfoPoints = []+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 5 6 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 6 5 6 6+ , SrcSpan "tests/examples/BangPatterns.hs" 6 17 6 18+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 7 6 13+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 7 6 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ ">=")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 12 6 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 6 12 6 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 6 12 6 13+ , srcInfoPoints = []+ }+ "m"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 19 6 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 19 6 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 19 6 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 6 19 6 25+ , srcInfoPoints = []+ }+ "return")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ "n"))))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 7 5 8 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 7 5 7 6+ , SrcSpan "tests/examples/BangPatterns.hs" 7 17 7 18+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 7 7 7 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 7 7 7 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 7 7 7 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 7 7 16+ , srcInfoPoints = []+ }+ "otherwise")))+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 7 19 8 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 7 19 7 21+ , SrcSpan "tests/examples/BangPatterns.hs" 7 22 7 22+ , SrcSpan "tests/examples/BangPatterns.hs" 8 22 8 22+ , SrcSpan "tests/examples/BangPatterns.hs" 9 1 9 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 7 22 7 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 7 24 7 26 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 7 22 7 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 22 7 23+ , srcInfoPoints = []+ }+ "w"))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 7 27 7 44+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 27 7 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 27 7 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 27 7 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 27 7 38+ , srcInfoPoints = []+ }+ "peekElemOff")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 39 7 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 39 7 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 39 7 42+ , srcInfoPoints = []+ }+ "ptr"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 43 7 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 43 7 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 7 43 7 44+ , srcInfoPoints = []+ }+ "n"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 8 22 8 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 8 22 8 24+ , SrcSpan "tests/examples/BangPatterns.hs" 8 40 8 44+ , SrcSpan "tests/examples/BangPatterns.hs" 8 71 8 75+ ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangPatterns.hs" 8 22 8 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 8 22 8 24+ , SrcSpan "tests/examples/BangPatterns.hs" 8 40 8 44+ , SrcSpan "tests/examples/BangPatterns.hs" 8 71 8 75+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 25 8 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 25 8 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 25 8 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 25 8 37+ , srcInfoPoints = []+ }+ "isSpaceWord8")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 38 8 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 38 8 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 38 8 39+ , srcInfoPoints = []+ }+ "w"))))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 45 8 70+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 45 8 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 45 8 62+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 45 8 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs" 8 45 8 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs" 8 45 8 58+ , srcInfoPoints = []+ }+ "firstnonspace")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 59 8 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs" 8 59 8 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs" 8 59 8 62+ , srcInfoPoints = []+ }+ "ptr"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 63 8 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangPatterns.hs" 8 63 8 64+ , SrcSpan "tests/examples/BangPatterns.hs" 8 67 8 68+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 64 8 67+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs" 8 64 8 65+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs" 8 64 8 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs"+ 8+ 64+ 8+ 65+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs" 8 65 8 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs" 8 65 8 66+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs"+ 8+ 65+ 8+ 66+ , srcInfoPoints = []+ }+ "+")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs" 8 66 8 67+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BangPatterns.hs" 8 66 8 67+ , srcInfoPoints = []+ }+ 1+ "1")))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 69 8 70+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 69 8 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 69 8 70+ , srcInfoPoints = []+ }+ "m"))))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 76 8 84+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 76 8 82+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 76 8 82+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 76 8 82+ , srcInfoPoints = []+ }+ "return")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 83 8 84+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 83 8 84+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BangPatterns.hs" 8 83 8 84+ , srcInfoPoints = []+ }+ "n")))))+ ])+ ])+ Nothing+ ]+ ]+ , []+ )
tests/examples/BangPatterns.hs.prettyprinter.golden view
@@ -1,6 +1,6 @@ {-# LANGUAGE BangPatterns #-} module BangPatterns where- + firstnonspace :: Ptr Word8 -> Int -> Int -> IO Int firstnonspace !ptr !n !m | n >= m = return n
+ tests/examples/BangViewPat.hs view
@@ -0,0 +1,2 @@+{-# LANGUAGE BangPatterns, ViewPatterns #-}+someFun (id -> !arg) = undefined
+ tests/examples/BangViewPat.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/BangViewPat.hs.parser.golden view
@@ -0,0 +1,129 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangViewPat.hs" 1 1 1 1+ , SrcSpan "tests/examples/BangViewPat.hs" 2 1 2 1+ , SrcSpan "tests/examples/BangViewPat.hs" 2 1 2 1+ , SrcSpan "tests/examples/BangViewPat.hs" 2 1 2 1+ , SrcSpan "tests/examples/BangViewPat.hs" 3 1 3 1+ , SrcSpan "tests/examples/BangViewPat.hs" 3 1 3 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 1 1 1 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangViewPat.hs" 1 1 1 13+ , SrcSpan "tests/examples/BangViewPat.hs" 1 26 1 27+ , SrcSpan "tests/examples/BangViewPat.hs" 1 41 1 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "BangPatterns"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 1 28 1 40+ , srcInfoPoints = []+ }+ "ViewPatterns"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 1 2 33+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 1 2 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 1 2 8+ , srcInfoPoints = []+ }+ "someFun")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 9 2 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangViewPat.hs" 2 9 2 10+ , SrcSpan "tests/examples/BangViewPat.hs" 2 20 2 21+ ]+ }+ (PViewPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 10 2 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangViewPat.hs" 2 13 2 15 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 10 2 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 10 2 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 10 2 12+ , srcInfoPoints = []+ }+ "id")))+ (PBangPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 16 2 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangViewPat.hs" 2 16 2 17 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 17 2 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 17 2 20+ , srcInfoPoints = []+ }+ "arg"))))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 22 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BangViewPat.hs" 2 22 2 23 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 24 2 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 24 2 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BangViewPat.hs" 2 24 2 33+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/BangViewPat.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/BangViewPat.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE BangPatterns, ViewPatterns #-}+someFun (id -> !arg) = undefined
+ tests/examples/BinaryLiteralsBad.hs view
@@ -0,0 +1,4 @@+-- Missing binary literals extension. Should fail.+f :: Int -> ()+f 0b0 = ()+f _ = ()
+ tests/examples/BinaryLiteralsBad.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/BinaryLiteralsBad.hs" 3 1) "arity mismatch for 'f'"
+ tests/examples/BinaryLiteralsBad.hs.parser.golden view
@@ -0,0 +1,3 @@+ParseFailed+ (SrcLoc "tests/examples/BinaryLiteralsBad.hs" 3 1)+ "arity mismatch for 'f'"
+ tests/examples/BinaryLiteralsBad.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/BinaryLiteralsBad.hs" 3 1) "arity mismatch for 'f'"
+ tests/examples/BinaryLiteralsBad.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/BinaryLiteralsBad.hs" 3 1) "arity mismatch for 'f'"
+ tests/examples/BinaryLiteralsGood.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE BinaryLiterals #-}+{-# LANGUAGE MagicHash #-}++import GHC.Types++main = do+ print [ I# 0b0#, I# -0b0#, I# 0b1#, I# -0b1#+ , I# 0b00000000000000000000000000000000000000000000000000000000000000000000000000001#+ , I# -0b00000000000000000000000000000000000000000000000000000000000000000000000000001#+ , I# -0b11001001#, I# -0b11001001#+ , I# -0b11111111#, I# -0b11111111#+ ]+ print [ W# 0b0##, W# 0b1##, W# 0b11001001##, W# 0b11##, W# 0b11111111##+ , W# 0b00000000000000000000000000000000000000000000000000000000000000000000000000001##+ ]++ print [ 0b0, 0b1, 0b10, 0b11, 0b100, 0b101, 0b110, 0b111 :: Integer+ , -0b0, -0b1, -0b10, -0b11, -0b100, -0b101, -0b110, -0b111+ , 0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111+ , -0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111+ ]++ print [ I8# -0B10000000#, I8# 0B1111111# ]
+ tests/examples/BinaryLiteralsGood.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/BinaryLiteralsGood.hs.parser.golden view
@@ -0,0 +1,1539 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 1 1 24 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 1 1 1 1+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 2 1 2 1+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 4 1 4 1+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 4 1 4 1+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 4 1 4 1+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 6 1 6 1+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 24 1 24 1+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 24 1 24 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 1 1 1 13+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "BinaryLiterals"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 2 1 2 13+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 2 24 2 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 2 14 2 23+ , srcInfoPoints = []+ }+ "MagicHash"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 4 1 4 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 4 1 4 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 4 8 4 17+ , srcInfoPoints = []+ }+ "GHC.Types"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 6 1 23 47+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 6 6 23 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 6 6 6 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 6 8 23 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 6 8 6 10+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 5 7 5+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 5 13 5+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 5 17 5+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 5 23 5+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 24 1 24 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 5 12 12+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 5 12 12+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 5 7 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 5 7 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 5 7 10+ , srcInfoPoints = []+ }+ "print")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 11 12 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 11 7 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 20 7 21+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 30 7 31+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 39 7 40+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 8 11 8 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 9 11 9 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 11 10 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 28 10 29+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 11 11 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 28 11 29+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 12 11 12 12+ ]+ }+ [ App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 13 7 20+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 13 7 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 13 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 7 13 7 15+ , srcInfoPoints = []+ }+ "I#")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 16 7 20+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 16 7 20+ , srcInfoPoints = []+ }+ 0+ "0b0"))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 22 7 30+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 22 7 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 22 7 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 7 22 7 24+ , srcInfoPoints = []+ }+ "I#")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ "-")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 26 7 30+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 26 7 30+ , srcInfoPoints = []+ }+ 0+ "0b0"))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 32 7 39+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 32 7 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 32 7 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 7 32 7 34+ , srcInfoPoints = []+ }+ "I#")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 35 7 39+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 35 7 39+ , srcInfoPoints = []+ }+ 1+ "0b1"))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 41 7 49+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 41 7 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 41 7 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 7 41 7 43+ , srcInfoPoints = []+ }+ "I#")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 44 7 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 44 7 45+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 7 44 7 45+ , srcInfoPoints = []+ }+ "-")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 45 7 49+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 7 45 7 49+ , srcInfoPoints = []+ }+ 1+ "0b1"))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 8 13 8 96+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 8 13 8 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 8 13 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 8 13 8 15+ , srcInfoPoints = []+ }+ "I#")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 8 16 8 96+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 8 16 8 96+ , srcInfoPoints = []+ }+ 1+ "0b00000000000000000000000000000000000000000000000000000000000000000000000000001"))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 9 13 9 97+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 9 13 9 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 9 13 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 9 13 9 15+ , srcInfoPoints = []+ }+ "I#")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ "-")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 9 17 9 97+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 9 17 9 97+ , srcInfoPoints = []+ }+ 1+ "0b00000000000000000000000000000000000000000000000000000000000000000000000000001"))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 13 10 28+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 13 10 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 13 10 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 10 13 10 15+ , srcInfoPoints = []+ }+ "I#")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 16 10 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 16 10 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 10 16 10 17+ , srcInfoPoints = []+ }+ "-")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 17 10 28+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 17 10 28+ , srcInfoPoints = []+ }+ 201+ "0b11001001"))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 30 10 45+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 30 10 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 30 10 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 10 30 10 32+ , srcInfoPoints = []+ }+ "I#")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 33 10 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 33 10 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 10 33 10 34+ , srcInfoPoints = []+ }+ "-")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 34 10 45+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 10 34 10 45+ , srcInfoPoints = []+ }+ 201+ "0b11001001"))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 13 11 28+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 13 11 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 13 11 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 11 13 11 15+ , srcInfoPoints = []+ }+ "I#")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 16 11 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 16 11 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 11 16 11 17+ , srcInfoPoints = []+ }+ "-")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 17 11 28+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 17 11 28+ , srcInfoPoints = []+ }+ 255+ "0b11111111"))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 30 11 45+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 30 11 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 30 11 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 11 30 11 32+ , srcInfoPoints = []+ }+ "I#")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 33 11 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 33 11 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 11 33 11 34+ , srcInfoPoints = []+ }+ "-")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 34 11 45+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 11 34 11 45+ , srcInfoPoints = []+ }+ 255+ "0b11111111"))+ ]))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 5 15 12+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 5 15 12+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 5 13 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 5 13 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 5 13 10+ , srcInfoPoints = []+ }+ "print")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 11 15 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 11 13 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 21 13 22+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 31 13 32+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 48 13 49+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 59 13 60+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 14 11 14 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 15 11 15 12+ ]+ }+ [ App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 13 13 21+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 13 13 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 13 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 13 13 13 15+ , srcInfoPoints = []+ }+ "W#")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 16 13 21+ , srcInfoPoints = []+ }+ (PrimWord+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 16 13 21+ , srcInfoPoints = []+ }+ 0+ "0b0"))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 23 13 31+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 23 13 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 23 13 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 13 23 13 25+ , srcInfoPoints = []+ }+ "W#")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 26 13 31+ , srcInfoPoints = []+ }+ (PrimWord+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 26 13 31+ , srcInfoPoints = []+ }+ 1+ "0b1"))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 33 13 48+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 33 13 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 33 13 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 13 33 13 35+ , srcInfoPoints = []+ }+ "W#")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 36 13 48+ , srcInfoPoints = []+ }+ (PrimWord+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 36 13 48+ , srcInfoPoints = []+ }+ 201+ "0b11001001"))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 50 13 59+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 50 13 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 50 13 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 13 50 13 52+ , srcInfoPoints = []+ }+ "W#")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 53 13 59+ , srcInfoPoints = []+ }+ (PrimWord+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 53 13 59+ , srcInfoPoints = []+ }+ 3+ "0b11"))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 61 13 76+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 61 13 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 61 13 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 13 61 13 63+ , srcInfoPoints = []+ }+ "W#")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 64 13 76+ , srcInfoPoints = []+ }+ (PrimWord+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 13 64 13 76+ , srcInfoPoints = []+ }+ 255+ "0b11111111"))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 14 13 14 97+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 14 13 14 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 14 13 14 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 14 13 14 15+ , srcInfoPoints = []+ }+ "W#")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 14 16 14 97+ , srcInfoPoints = []+ }+ (PrimWord+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 14 16 14 97+ , srcInfoPoints = []+ }+ 1+ "0b00000000000000000000000000000000000000000000000000000000000000000000000000001"))+ ]))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 5 21 12+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 5 21 12+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 5 17 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 5 17 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 5 17 10+ , srcInfoPoints = []+ }+ "print")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 11 21 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 11 17 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 16 17 17+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 21 17 22+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 27 17 28+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 33 17 34+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 40 17 41+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 47 17 48+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 54 17 55+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 11 18 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 17 18 18+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 23 18 24+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 30 18 31+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 37 18 38+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 45 18 46+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 53 18 54+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 61 18 62+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 19 11 19 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 20 11 20 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 21 11 21 12+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 13 17 16+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 13 17 16+ , srcInfoPoints = []+ }+ 0+ "0b0")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 18 17 21+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 18 17 21+ , srcInfoPoints = []+ }+ 1+ "0b1")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ 2+ "0b10")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 29 17 33+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 29 17 33+ , srcInfoPoints = []+ }+ 3+ "0b11")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 35 17 40+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 35 17 40+ , srcInfoPoints = []+ }+ 4+ "0b100")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 42 17 47+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 42 17 47+ , srcInfoPoints = []+ }+ 5+ "0b101")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 49 17 54+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 49 17 54+ , srcInfoPoints = []+ }+ 6+ "0b110")+ , ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 56 17 72+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 62 17 64 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 56 17 61+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 56 17 61+ , srcInfoPoints = []+ }+ 7+ "0b111"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 65 17 72+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 17 65 17 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 17 65 17 72+ , srcInfoPoints = []+ }+ "Integer")))+ , NegApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 13 18 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 13 18 14 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 14 18 17+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 14 18 17+ , srcInfoPoints = []+ }+ 0+ "0b0"))+ , NegApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 19 18 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 19 18 20 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 20 18 23+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 20 18 23+ , srcInfoPoints = []+ }+ 1+ "0b1"))+ , NegApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 25 18 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 25 18 26 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 26 18 30+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 26 18 30+ , srcInfoPoints = []+ }+ 2+ "0b10"))+ , NegApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 32 18 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 32 18 33 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 33 18 37+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 33 18 37+ , srcInfoPoints = []+ }+ 3+ "0b11"))+ , NegApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 39 18 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 39 18 40 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 40 18 45+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 40 18 45+ , srcInfoPoints = []+ }+ 4+ "0b100"))+ , NegApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 47 18 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 47 18 48 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 48 18 53+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 48 18 53+ , srcInfoPoints = []+ }+ 5+ "0b101"))+ , NegApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 55 18 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 55 18 56 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 56 18 61+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 56 18 61+ , srcInfoPoints = []+ }+ 6+ "0b110"))+ , NegApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 63 18 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 63 18 64 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 64 18 69+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 18 64 18 69+ , srcInfoPoints = []+ }+ 7+ "0b111"))+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 19 13 19 143+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 19 13 19 143+ , srcInfoPoints = []+ }+ 340282366920938463463374607431768211455+ "0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111")+ , NegApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 20 13 20 144+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 20 13 20 14 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 20 14 20 144+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 20 14 20 144+ , srcInfoPoints = []+ }+ 340282366920938463463374607431768211455+ "0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"))+ ]))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 5 23 47+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 5 23 47+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 5 23 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 5 23 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 5 23 10+ , srcInfoPoints = []+ }+ "print")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 11 23 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 11 23 12+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 29 23 30+ , SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 46 23 47+ ]+ }+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 13 23 29+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 13 23 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 13 23 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 23 13 23 16+ , srcInfoPoints = []+ }+ "I8#")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 17 23 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 17 23 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 23 17 23 18+ , srcInfoPoints = []+ }+ "-")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 18 23 29+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 18 23 29+ , srcInfoPoints = []+ }+ 128+ "0B10000000"))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 31 23 45+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 31 23 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 31 23 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BinaryLiteralsGood.hs" 23 31 23 34+ , srcInfoPoints = []+ }+ "I8#")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 35 23 45+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BinaryLiteralsGood.hs" 23 35 23 45+ , srcInfoPoints = []+ }+ 127+ "0B1111111"))+ ]))+ ]))+ Nothing+ ]+ , []+ )
+ tests/examples/BinaryLiteralsGood.hs.prettyparser.golden view
@@ -0,0 +1,10 @@+Roundtrip test failed++AST 1:++Module () Nothing [LanguagePragma () [Ident () "BinaryLiterals"],LanguagePragma () [Ident () "MagicHash"]] [ImportDecl {importAnn = (), importModule = ModuleName () "GHC.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [PatBind () (PVar () (Ident () "main")) (UnGuardedRhs () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 0 "0b0")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 0 "0b0")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "0b1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "0b1")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "0b11001001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "0b11001001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "0b11111111")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "0b11111111"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 0 "0b0")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "0b1")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 201 "0b11001001")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 3 "0b11")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 255 "0b11111111")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [Lit () (Int () 0 "0b0"),Lit () (Int () 1 "0b1"),Lit () (Int () 2 "0b10"),Lit () (Int () 3 "0b11"),Lit () (Int () 4 "0b100"),Lit () (Int () 5 "0b101"),Lit () (Int () 6 "0b110"),ExpTypeSig () (Lit () (Int () 7 "0b111")) (TyCon () (UnQual () (Ident () "Integer"))),NegApp () (Lit () (Int () 0 "0b0")),NegApp () (Lit () (Int () 1 "0b1")),NegApp () (Lit () (Int () 2 "0b10")),NegApp () (Lit () (Int () 3 "0b11")),NegApp () (Lit () (Int () 4 "0b100")),NegApp () (Lit () (Int () 5 "0b101")),NegApp () (Lit () (Int () 6 "0b110")),NegApp () (Lit () (Int () 7 "0b111")),Lit () (Int () 340282366920938463463374607431768211455 "0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"),NegApp () (Lit () (Int () 340282366920938463463374607431768211455 "0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [InfixApp () (Con () (UnQual () (Ident () "I8#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 128 "0B10000000")),App () (Con () (UnQual () (Ident () "I8#"))) (Lit () (PrimInt () 127 "0B1111111"))]))])) Nothing]++AST 2:++Module () Nothing [LanguagePragma () [Ident () "BinaryLiterals"],LanguagePragma () [Ident () "MagicHash"]] [ImportDecl {importAnn = (), importModule = ModuleName () "GHC.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [PatBind () (PVar () (Ident () "main")) (UnGuardedRhs () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 0 "0")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 0 "0")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "1")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "201")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "201")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "255")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "255"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 0 "0")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "1")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 201 "201")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 3 "3")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 255 "255")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "1"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [Lit () (Int () 0 "0"),Lit () (Int () 1 "1"),Lit () (Int () 2 "2"),Lit () (Int () 3 "3"),Lit () (Int () 4 "4"),Lit () (Int () 5 "5"),Lit () (Int () 6 "6"),ExpTypeSig () (Lit () (Int () 7 "7")) (TyCon () (UnQual () (Ident () "Integer"))),NegApp () (Lit () (Int () 0 "0")),NegApp () (Lit () (Int () 1 "1")),NegApp () (Lit () (Int () 2 "2")),NegApp () (Lit () (Int () 3 "3")),NegApp () (Lit () (Int () 4 "4")),NegApp () (Lit () (Int () 5 "5")),NegApp () (Lit () (Int () 6 "6")),NegApp () (Lit () (Int () 7 "7")),Lit () (Int () 340282366920938463463374607431768211455 "340282366920938463463374607431768211455"),NegApp () (Lit () (Int () 340282366920938463463374607431768211455 "340282366920938463463374607431768211455"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [InfixApp () (Con () (UnQual () (Ident () "I8#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 128 "128")),App () (Con () (UnQual () (Ident () "I8#"))) (Lit () (PrimInt () 127 "127"))]))])) Nothing]+
+ tests/examples/BinaryLiteralsGood.hs.prettyprinter.golden view
@@ -0,0 +1,13 @@+{-# LANGUAGE BinaryLiterals #-}+{-# LANGUAGE MagicHash #-}+import GHC.Types+main+ = do print+ [I# 0#, I# - 0#, I# 1#, I# - 1#, I# 1#, I# - 1#, I# - 201#,+ I# - 201#, I# - 255#, I# - 255#]+ print [W# 0##, W# 1##, W# 201##, W# 3##, W# 255##, W# 1##]+ print+ [0, 1, 2, 3, 4, 5, 6, 7 :: Integer, -0, -1, -2, -3, -4, -5, -6, -7,+ 340282366920938463463374607431768211455,+ -340282366920938463463374607431768211455]+ print [I8# - 128#, I8# 127#]
+ tests/examples/BlockArguments.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE BlockArguments #-}+module BlockArguments where++foo = when (x > 0) do+ print x+ exitFailure++bar = withForeignPtr fptr \ptr -> c_memcpy buf ptr size++baz arg1 arg2 arg3 arg4 = initialValue+ & someFunction arg1 arg2+ >>= traverse \(x, y) -> do+ a <- f x+ b <- g y+ h a b+ >>= anotherFunction arg3 arg4
+ tests/examples/BlockArguments.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/BlockArguments.hs.parser.golden view
@@ -0,0 +1,1099 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 1 1 17 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 1+ , SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 1+ , SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 1+ , SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 1+ , SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 1+ , SrcSpan "tests/examples/BlockArguments.hs" 10 1 10 1+ , SrcSpan "tests/examples/BlockArguments.hs" 17 1 17 1+ , SrcSpan "tests/examples/BlockArguments.hs" 17 1 17 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 7+ , SrcSpan "tests/examples/BlockArguments.hs" 2 23 2 28+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 2 8 2 22+ , srcInfoPoints = []+ }+ "BlockArguments")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 13+ , SrcSpan "tests/examples/BlockArguments.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "BlockArguments"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 6 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 5 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 4 5 4 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 6 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+ , srcInfoPoints = []+ }+ "when")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 12 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 4 12 4 13+ , SrcSpan "tests/examples/BlockArguments.hs" 4 18 4 19+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 17 4 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 17 4 18+ , srcInfoPoints = []+ }+ 0+ "0")))))+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 20 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 4 20 4 22+ , SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 3+ , SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 3+ , SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 10+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 10+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+ , srcInfoPoints = []+ }+ "print")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ "x"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ "exitFailure")))+ ])))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 56+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ "bar"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 5 8 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 8 5 8 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+ , srcInfoPoints = []+ }+ "withForeignPtr")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+ , srcInfoPoints = []+ }+ "fptr"))))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 27 8 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 8 27 8 28+ , SrcSpan "tests/examples/BlockArguments.hs" 8 32 8 34+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 28 8 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 28 8 31+ , srcInfoPoints = []+ }+ "ptr")+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 51+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 47+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+ , srcInfoPoints = []+ }+ "c_memcpy")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+ , srcInfoPoints = []+ }+ "buf"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+ , srcInfoPoints = []+ }+ "ptr"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+ , srcInfoPoints = []+ }+ "size")))))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 1 16 32+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 1 16 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 1 10 4+ , srcInfoPoints = []+ }+ "baz")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 5 10 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 5 10 9+ , srcInfoPoints = []+ }+ "arg1")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 10 10 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 10 10 14+ , srcInfoPoints = []+ }+ "arg2")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 15 10 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 15 10 19+ , srcInfoPoints = []+ }+ "arg3")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 20 10 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 20 10 24+ , srcInfoPoints = []+ }+ "arg4")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 25 16 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 10 25 10 26 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 16 32+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 11 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+ , srcInfoPoints = []+ }+ "initialValue")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+ , srcInfoPoints = []+ }+ "&")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 29+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+ , srcInfoPoints = []+ }+ "someFunction")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+ , srcInfoPoints = []+ }+ "arg1"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+ , srcInfoPoints = []+ }+ "arg2")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+ , srcInfoPoints = []+ }+ ">>=")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 16 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+ , srcInfoPoints = []+ }+ "traverse")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 16 16 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 12 16 12 17+ , SrcSpan "tests/examples/BlockArguments.hs" 12 24 12 26+ ]+ }+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 17 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 12 17 12 18+ , SrcSpan "tests/examples/BlockArguments.hs" 12 19 12 20+ , SrcSpan "tests/examples/BlockArguments.hs" 12 22 12 23+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 21 12 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 21 12 22+ , srcInfoPoints = []+ }+ "y")+ ]+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 27 16 32+ , srcInfoPoints = []+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 27 15 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 12 27 12 29+ , SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 9+ , SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 9+ , SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 9+ , SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 13 11 13 13 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ "a"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 13 14 13 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 13+ 14+ 13+ 15+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 13+ 16+ 13+ 17+ , srcInfoPoints = []+ }+ "x"))))+ , Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 14 11 14 13 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ "b"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 14 14 14 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 14 14 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 14 14 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 14+ 14+ 14+ 15+ , srcInfoPoints = []+ }+ "g")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 16 14 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 16 14 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 14+ 16+ 14+ 17+ , srcInfoPoints = []+ }+ "y"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 9 15 12+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 9+ 15+ 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 9+ 15+ 10+ , srcInfoPoints = []+ }+ "h")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 11+ 15+ 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 11+ 15+ 12+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 13 15 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 13 15 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 13+ 15+ 14+ , srcInfoPoints = []+ }+ "b"))))+ ])+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+ , srcInfoPoints = []+ }+ ">>=")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 7 16 22+ , srcInfoPoints = []+ }+ "anotherFunction")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 23 16 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 23 16 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 23 16 27+ , srcInfoPoints = []+ }+ "arg3"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 28 16 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 28 16 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 28 16 32+ , srcInfoPoints = []+ }+ "arg4")))))))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/BlockArguments.hs.prettyparser.golden view
@@ -0,0 +1,10 @@+Roundtrip test failed++AST 1:++Module () (Just (ModuleHead () (ModuleName () "BlockArguments") Nothing Nothing)) [LanguagePragma () [Ident () "BlockArguments"]] [] [PatBind () (PVar () (Ident () "foo")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "x"))) (QVarOp () (UnQual () (Symbol () ">"))) (Lit () (Int () 0 "0"))))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (Var () (UnQual () (Ident () "x")))),Qualifier () (Var () (UnQual () (Ident () "exitFailure")))]))) Nothing,PatBind () (PVar () (Ident () "bar")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fptr")))) (Lambda () [PVar () (Ident () "ptr")] (App () (App () (App () (Var () (UnQual () (Ident () "c_memcpy"))) (Var () (UnQual () (Ident () "buf")))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "size"))))))) Nothing,FunBind () [Match () (Ident () "baz") [PVar () (Ident () "arg1"),PVar () (Ident () "arg2"),PVar () (Ident () "arg3"),PVar () (Ident () "arg4")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "initialValue"))) (QVarOp () (UnQual () (Symbol () "&"))) (App () (App () (Var () (UnQual () (Ident () "someFunction"))) (Var () (UnQual () (Ident () "arg1")))) (Var () (UnQual () (Ident () "arg2"))))) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (Var () (UnQual () (Ident () "traverse"))) (Lambda () [PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "y")]] (InfixApp () (Do () [Generator () (PVar () (Ident () "a")) (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "x")))),Generator () (PVar () (Ident () "b")) (App () (Var () (UnQual () (Ident () "g"))) (Var () (UnQual () (Ident () "y")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "h"))) (Var () (UnQual () (Ident () "a")))) (Var () (UnQual () (Ident () "b"))))]) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (App () (Var () (UnQual () (Ident () "anotherFunction"))) (Var () (UnQual () (Ident () "arg3")))) (Var () (UnQual () (Ident () "arg4"))))))))) Nothing]]++AST 2:++Module () (Just (ModuleHead () (ModuleName () "BlockArguments") Nothing Nothing)) [LanguagePragma () [Ident () "BlockArguments"]] [] [PatBind () (PVar () (Ident () "foo")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "x"))) (QVarOp () (UnQual () (Symbol () ">"))) (Lit () (Int () 0 "0"))))) (Paren () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (Var () (UnQual () (Ident () "x")))),Qualifier () (Var () (UnQual () (Ident () "exitFailure")))])))) Nothing,PatBind () (PVar () (Ident () "bar")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fptr")))) (Paren () (Lambda () [PVar () (Ident () "ptr")] (App () (App () (App () (Var () (UnQual () (Ident () "c_memcpy"))) (Var () (UnQual () (Ident () "buf")))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "size")))))))) Nothing,FunBind () [Match () (Ident () "baz") [PVar () (Ident () "arg1"),PVar () (Ident () "arg2"),PVar () (Ident () "arg3"),PVar () (Ident () "arg4")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "initialValue"))) (QVarOp () (UnQual () (Symbol () "&"))) (App () (App () (Var () (UnQual () (Ident () "someFunction"))) (Var () (UnQual () (Ident () "arg1")))) (Var () (UnQual () (Ident () "arg2"))))) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (Var () (UnQual () (Ident () "traverse"))) (Paren () (Lambda () [PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "y")]] (InfixApp () (Do () [Generator () (PVar () (Ident () "a")) (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "x")))),Generator () (PVar () (Ident () "b")) (App () (Var () (UnQual () (Ident () "g"))) (Var () (UnQual () (Ident () "y")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "h"))) (Var () (UnQual () (Ident () "a")))) (Var () (UnQual () (Ident () "b"))))]) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (App () (Var () (UnQual () (Ident () "anotherFunction"))) (Var () (UnQual () (Ident () "arg3")))) (Var () (UnQual () (Ident () "arg4")))))))))) Nothing]]+
+ tests/examples/BlockArguments.hs.prettyprinter.golden view
@@ -0,0 +1,15 @@+{-# LANGUAGE BlockArguments #-}+module BlockArguments where+foo+ = when (x > 0)+ (do print x+ exitFailure)+bar = withForeignPtr fptr (\ ptr -> c_memcpy buf ptr size)+baz arg1 arg2 arg3 arg4+ = initialValue & someFunction arg1 arg2 >>=+ traverse+ (\ (x, y) ->+ do a <- f x+ b <- g y+ h a b+ >>= anotherFunction arg3 arg4)
+ tests/examples/BracketInstanceHead.hs view
@@ -0,0 +1,1 @@+instance (Bounded a => Bounded [a]) where
+ tests/examples/BracketInstanceHead.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/BracketInstanceHead.hs.parser.golden view
@@ -0,0 +1,151 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 2 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 1 1+ , SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 1 1+ , SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 1 1+ , SrcSpan "tests/examples/BracketInstanceHead.hs" 2 1 2 1+ , SrcSpan "tests/examples/BracketInstanceHead.hs" 2 1 2 1+ ]+ }+ Nothing+ []+ []+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 2 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 1 9+ , SrcSpan "tests/examples/BracketInstanceHead.hs" 1 37 1 42+ , SrcSpan "tests/examples/BracketInstanceHead.hs" 2 1 2 1+ , SrcSpan "tests/examples/BracketInstanceHead.hs" 2 1 2 1+ , SrcSpan "tests/examples/BracketInstanceHead.hs" 2 0 2 0+ ]+ }+ Nothing+ (IParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 10 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 10 1 11+ , SrcSpan "tests/examples/BracketInstanceHead.hs" 1 35 1 36+ ]+ }+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 35+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+ , srcInfoPoints = []+ }+ "Bounded")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 24 1 35+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 24 1 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 24 1 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 24 1 31+ , srcInfoPoints = []+ }+ "Bounded")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 32 1 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 32 1 33+ , SrcSpan "tests/examples/BracketInstanceHead.hs" 1 34 1 35+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 33 1 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 33 1 34+ , srcInfoPoints = []+ }+ "a"))))))+ (Just [])+ ]+ , []+ )
+ tests/examples/BracketInstanceHead.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/BracketInstanceHead.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+instance (Bounded a => Bounded [a]) where
tests/examples/Bug.hs.parser.golden view
@@ -1,1 +1,42 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Bug.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Bug.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Bug.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Bug.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Bug.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Bug.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1}]}) Nothing [] [ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Bug.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Bug.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Bug.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = []}) "Test.QuickCheck", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [],[Comment False (SrcSpan {srcSpanFilename = "tests/examples/Bug.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 39}) " prop_susShortest = 2 > 1 ==> 1 /= 2"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bug.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bug.hs" 1 1 1 1+ , SrcSpan "tests/examples/Bug.hs" 1 1 1 1+ , SrcSpan "tests/examples/Bug.hs" 1 1 1 1+ , SrcSpan "tests/examples/Bug.hs" 3 1 3 1+ , SrcSpan "tests/examples/Bug.hs" 3 1 3 1+ ]+ }+ Nothing+ []+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bug.hs" 1 1 1 23+ , srcInfoPoints = [ SrcSpan "tests/examples/Bug.hs" 1 1 1 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bug.hs" 1 8 1 23+ , srcInfoPoints = []+ }+ "Test.QuickCheck"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ []+ , [ Comment+ False+ (SrcSpan "tests/examples/Bug.hs" 2 1 2 39)+ " prop_susShortest = 2 > 1 ==> 1 /= 2"+ ]+ )
tests/examples/Bug.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@-module Main (main) where import Test.QuickCheck
+ tests/examples/Bundles.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE PatternSynonyms #-}+module Bundles(Foo(..), Baz(..,Q), Qux(F,..), Tux(Q,..,F)) where++main = main
+ tests/examples/Bundles.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Bundles.hs.parser.golden view
@@ -0,0 +1,252 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 1 1 1 1+ , SrcSpan "tests/examples/Bundles.hs" 2 1 2 1+ , SrcSpan "tests/examples/Bundles.hs" 2 1 2 1+ , SrcSpan "tests/examples/Bundles.hs" 4 1 4 1+ , SrcSpan "tests/examples/Bundles.hs" 5 1 5 1+ , SrcSpan "tests/examples/Bundles.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 1 2 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 1 2 7+ , SrcSpan "tests/examples/Bundles.hs" 2 60 2 65+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 8 2 15+ , srcInfoPoints = []+ }+ "Bundles")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 15 2 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 15 2 16+ , SrcSpan "tests/examples/Bundles.hs" 2 23 2 24+ , SrcSpan "tests/examples/Bundles.hs" 2 34 2 35+ , SrcSpan "tests/examples/Bundles.hs" 2 45 2 46+ , SrcSpan "tests/examples/Bundles.hs" 2 58 2 59+ ]+ }+ [ EThingWith+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 19 2 20+ , SrcSpan "tests/examples/Bundles.hs" 2 22 2 23+ ]+ }+ (EWildcard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 20 2 22+ , srcInfoPoints = []+ }+ 0)+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 19+ , srcInfoPoints = []+ }+ "Foo"))+ []+ , EThingWith+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 28 2 29+ , SrcSpan "tests/examples/Bundles.hs" 2 31 2 32+ , SrcSpan "tests/examples/Bundles.hs" 2 33 2 34+ ]+ }+ (EWildcard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 29 2 31+ , srcInfoPoints = []+ }+ 0)+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 28+ , srcInfoPoints = []+ }+ "Baz"))+ [ ConName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 32 2 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 32 2 33+ , srcInfoPoints = []+ }+ "Q")+ ]+ , EThingWith+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 39 2 40+ , SrcSpan "tests/examples/Bundles.hs" 2 41 2 42+ , SrcSpan "tests/examples/Bundles.hs" 2 44 2 45+ ]+ }+ (EWildcard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 42 2 44+ , srcInfoPoints = []+ }+ 1)+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 39+ , srcInfoPoints = []+ }+ "Qux"))+ [ ConName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 40 2 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 40 2 41+ , srcInfoPoints = []+ }+ "F")+ ]+ , EThingWith+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 50 2 51+ , SrcSpan "tests/examples/Bundles.hs" 2 52 2 53+ , SrcSpan "tests/examples/Bundles.hs" 2 55 2 56+ , SrcSpan "tests/examples/Bundles.hs" 2 57 2 58+ ]+ }+ (EWildcard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 53 2 55+ , srcInfoPoints = []+ }+ 1)+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 50+ , srcInfoPoints = []+ }+ "Tux"))+ [ ConName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 51 2 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 51 2 52+ , srcInfoPoints = []+ }+ "Q")+ , ConName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 56 2 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 56 2 57+ , srcInfoPoints = []+ }+ "F")+ ]+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 1 1 1 13+ , SrcSpan "tests/examples/Bundles.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 12+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 6 4 12+ , srcInfoPoints = [ SrcSpan "tests/examples/Bundles.hs" 4 6 4 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ "main"))))+ Nothing+ ]+ , []+ )
+ tests/examples/Bundles.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Bundles.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE PatternSynonyms #-}+module Bundles (Foo(..), Baz(.., Q), Qux(F, ..), Tux(Q, .., F))+ where+main = main
tests/examples/ByteStringUtils.hs.parser.golden view
file too large to diff
tests/examples/ByteStringUtils.hs.prettyparser.golden view
@@ -1,1 +1,10 @@-Match+Roundtrip test failed++AST 1:++Module () (Just (ModuleHead () (ModuleName () "ByteStringUtils") Nothing (Just (ExportSpecList () [EVar () (UnQual () (Ident () "unsafeWithInternals")),EVar () (UnQual () (Ident () "unpackPSfromUTF8")),EVar () (UnQual () (Ident () "gzReadFilePS")),EVar () (UnQual () (Ident () "mmapFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePSs")),EVar () (UnQual () (Ident () "ifHeadThenTail")),EVar () (UnQual () (Ident () "dropSpace")),EVar () (UnQual () (Ident () "breakSpace")),EVar () (UnQual () (Ident () "linesPS")),EVar () (UnQual () (Ident () "unlinesPS")),EVar () (UnQual () (Ident () "hashPS")),EVar () (UnQual () (Ident () "breakFirstPS")),EVar () (UnQual () (Ident () "breakLastPS")),EVar () (UnQual () (Ident () "substrPS")),EVar () (UnQual () (Ident () "readIntPS")),EVar () (UnQual () (Ident () "is_funky")),EVar () (UnQual () (Ident () "fromHex2PS")),EVar () (UnQual () (Ident () "fromPS2Hex")),EVar () (UnQual () (Ident () "betweenLinesPS")),EVar () (UnQual () (Ident () "break_after_nth_newline")),EVar () (UnQual () (Ident () "break_before_nth_newline")),EVar () (UnQual () (Ident () "intercalate"))])))) [LanguagePragma () [Ident () "BangPatterns",Ident () "ForeignFunctionInterface",Ident () "CPP"]] [ImportDecl {importAnn = (), importModule = ModuleName () "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () True [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "B"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Char8", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BC"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BI"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "intercalate"),IVar () (Ident () "uncons")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fromForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Exception", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.Unsafe", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "unsafePerformIO")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Storable", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "peekElemOff"),IVar () (Ident () "peek")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Alloc", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "free")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mallocArray"),IVar () (Ident () "peekArray"),IVar () (Ident () "advancePtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CInt")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Bits", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "rotateL")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Char", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "chr"),IVar () (Ident () "ord"),IVar () (Ident () "isSpace")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Word", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Word8")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Int", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Int32")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "when")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "nullPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "ForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "plusPtr"),IAbs () (NoNamespace ()) (Ident () "Ptr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "withForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "addForeignPtrFinalizer")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "FunPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Lazy", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BL"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Codec.Compression.GZip", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "GZ"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.String", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CString"),IVar () (Ident () "withCString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.MMap", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mmapFileByteString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Mem", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "performGC")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Posix.Files", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fileSize"),IVar () (Ident () "getSymbolicLinkStatus")])}] [TypeSig () [Ident () "debugForeignPtr"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "ForeignPtr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "String"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h debug_alloc") (Ident () "debug_alloc") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h & debug_free") (Ident () "debug_free") (TyApp () (TyCon () (UnQual () (Ident () "FunPtr"))) (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),FunBind () [Match () (Ident () "debugForeignPtr") [PVar () (Ident () "fp"),PVar () (Ident () "n")] (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "n")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "cname")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "debug_alloc"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "cname")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "addForeignPtrFinalizer"))) (Var () (UnQual () (Ident () "debug_free")))) (Var () (UnQual () (Ident () "fp"))))])))))) Nothing,Match () (Ident () "debugForeignPtr") [PWildCard (),PWildCard ()] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing],TypeSig () [Ident () "unsafeWithInternals"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a")))))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a"))))),FunBind () [Match () (Ident () "unsafeWithInternals") [PVar () (Ident () "ps"),PVar () (Ident () "f")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))))) Nothing])) Nothing],TypeSig () [Ident () "readIntPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (UnQual () (Ident () "Int")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),PatBind () (PVar () (Ident () "readIntPS")) (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "readInt"))) (QVarOp () (UnQual () (Symbol () "."))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "dropWhile"))) (Var () (UnQual () (Ident () "isSpace")))))) Nothing,TypeSig () [Ident () "unpackPSfromUTF8"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "String")))),FunBind () [Match () (Ident () "unpackPSfromUTF8") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (Lit () (String () "" ""))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "outbuf")) (App () (Var () (UnQual () (Ident () "mallocArray"))) (Var () (UnQual () (Ident () "l")))),Generator () (PVar () (Ident () "lout")) (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (App () (Var () (UnQual () (Ident () "utf8_to_ints"))) (Var () (UnQual () (Ident () "outbuf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "lout"))) (QVarOp () (UnQual () (Symbol () "<"))) (Lit () (Int () 0 "0"))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "error"))) (Lit () (String () "Bad UTF8!" "Bad UTF8!")))),Generator () (PVar () (Ident () "str")) (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "map"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "chr"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "fromIntegral"))))))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "peekArray"))) (Var () (UnQual () (Ident () "lout")))) (Var () (UnQual () (Ident () "outbuf"))))),Qualifier () (App () (Var () (UnQual () (Ident () "free"))) (Var () (UnQual () (Ident () "outbuf")))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "str"))))]))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h utf8_to_ints") (Ident () "utf8_to_ints") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Int")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),InlineSig () True Nothing (UnQual () (Ident () "ifHeadThenTail")),TypeSig () [Ident () "ifHeadThenTail"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))),FunBind () [Match () (Ident () "ifHeadThenTail") [PVar () (Ident () "c"),PVar () (Ident () "s")] (UnGuardedRhs () (Case () (App () (Var () (UnQual () (Ident () "uncons"))) (Var () (UnQual () (Ident () "s")))) [Alt () (PApp () (UnQual () (Ident () "Just")) [PTuple () Boxed [PVar () (Ident () "w"),PVar () (Ident () "t")]]) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "c"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "t"))))]) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "isSpaceWord8"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "isSpaceWord8") [PVar () (Ident () "w")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 32 "0x20"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 9 "0x09"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 10 "0x0A"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 13 "0x0D"))))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "isSpaceWord8")),TypeSig () [Ident () "firstnonspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstnonspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Var () (UnQual () (Ident () "isSpaceWord8"))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "firstspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Paren () (InfixApp () (Var () (UnQual () (Ident () "not"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "isSpaceWord8"))))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "dropSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "dropSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l")))) (Var () (Qual () (ModuleName () "B") (Ident () "empty"))) (App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i"))))))))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "dropSpace")),TypeSig () [Ident () "breakSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])),FunBind () [Match () (Ident () "breakSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (Case () (Con () (Special () (UnitCon ()))) [Alt () (PWildCard ()) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0")))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l")))]),GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l"))))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l"))),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "i"))),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i")))))])]) Nothing]))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakSpace")),InlineSig () True Nothing (UnQual () (Ident () "is_funky")),TypeSig () [Ident () "is_funky"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "is_funky") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (RightSection () (QVarOp () (UnQual () (Symbol () "/="))) (Lit () (Int () 0 "0"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "has_funky_char"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "fpstring.h has_funky_char") (Ident () "has_funky_char") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt")))))),InlineSig () True Nothing (UnQual () (Ident () "hashPS")),TypeSig () [Ident () "hashPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Int32")))),FunBind () [Match () (Ident () "hashPS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "hash"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "hash"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int32")))))),FunBind () [Match () (Ident () "hash") [PVar () (Ident () "ptr"),PVar () (Ident () "len")] (UnGuardedRhs () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (ExpTypeSig () (Lit () (Int () 0 "0")) (TyCon () (UnQual () (Ident () "Int32")))))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "len"))))) (Just (BDecls () [FunBind () [Match () (Ident () "f") [PVar () (Ident () "h"),PWildCard (),PLit () (Signless ()) (Int () 0 "0")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "h"))))) Nothing,Match () (Ident () "f") [PVar () (Ident () "h"),PVar () (Ident () "p"),PVar () (Ident () "n")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (App () (Var () (UnQual () (Ident () "peek"))) (Var () (UnQual () (Ident () "p")))),LetStmt () (BDecls () [PatBind () (PBangPat () (PVar () (Ident () "h'"))) (UnGuardedRhs () (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "x"))))) (QVarOp () (UnQual () (Symbol () "+"))) (Paren () (App () (App () (Var () (UnQual () (Ident () "rotateL"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 8 "8")))))) Nothing]),Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "h'")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "advancePtr"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1")))))])) Nothing]]))],InlineSig () True Nothing (UnQual () (Ident () "substrPS")),TypeSig () [Ident () "substrPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (UnQual () (Ident () "Int")))))),FunBind () [Match () (Ident () "substrPS") [PVar () (Ident () "tok"),PVar () (Ident () "str")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "tok"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Lit () (Int () 0 "0"))),GuardedRhs () [Qualifier () (InfixApp () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "tok")))) (QVarOp () (UnQual () (Symbol () ">"))) (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "str")))))] (Con () (UnQual () (Ident () "Nothing"))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "n")) (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Paren () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "head"))) (Var () (UnQual () (Ident () "tok")))))) (Var () (UnQual () (Ident () "str")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "ttok")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "B") (Ident () "tail"))) (Var () (UnQual () (Ident () "tok"))))) Nothing,PatBind () (PVar () (Ident () "reststr")) (UnGuardedRhs () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "str"))))) Nothing]),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "ttok"))) (QVarOp () (UnQual () (Symbol () "=="))) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Paren () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "ttok")))))) (Var () (UnQual () (Ident () "reststr"))))) (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "n")))) (InfixApp () (LeftSection () (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))) (QVarOp () (UnQual () (Symbol () "+")))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "substrPS"))) (Var () (UnQual () (Ident () "tok")))) (Var () (UnQual () (Ident () "reststr"))))))])]) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakFirstPS")),TypeSig () [Ident () "breakFirstPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakFirstPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakLastPS")),TypeSig () [Ident () "breakLastPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakLastPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndexEnd"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "linesPS")),TypeSig () [Ident () "linesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "linesPS") [PVar () (Ident () "ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "ps"))))] (List () [Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "split"))) (Lit () (Char () '\n' "\\n"))) (Var () (UnQual () (Ident () "ps"))))]) Nothing],TypeSig () [Ident () "unlinesPS"] (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "unlinesPS") [PList () []] (UnGuardedRhs () (Var () (Qual () (ModuleName () "BC") (Ident () "empty")))) Nothing,Match () (Ident () "unlinesPS") [PVar () (Ident () "x")] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "init"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "unlines"))) (Var () (UnQual () (Ident () "x")))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "unlinesPS")),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzopen") (Ident () "c_gzopen") (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyParen () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzclose") (Ident () "c_gzclose") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzread") (Ident () "c_gzread") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzwrite") (Ident () "c_gzwrite") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),TypeSig () [Ident () "gzReadFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "gzReadFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "h")) (App () (App () (Var () (UnQual () (Ident () "openBinaryFile"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "ReadMode")))),Generator () (PVar () (Ident () "header")) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "hGet"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 2 "2"))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "header"))) (QVarOp () (UnQual () (Symbol () "/="))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "pack"))) (Lit () (String () "\US\139" "\\31\\139")))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "mmapFilePS"))) (Var () (UnQual () (Ident () "f"))))]) (Do () [Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "hSeek"))) (Var () (UnQual () (Ident () "h")))) (Con () (UnQual () (Ident () "SeekFromEnd")))) (Paren () (NegApp () (Lit () (Int () 4 "4"))))),Generator () (PVar () (Ident () "len")) (App () (Var () (UnQual () (Ident () "hGetLittleEndInt"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "decompress")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "GZ") (Ident () "decompressWith"))) (RecUpdate () (Var () (Qual () (ModuleName () "GZ") (Ident () "defaultDecompressParams"))) [FieldUpdate () (Qual () (ModuleName () "GZ") (Ident () "decompressBufferSize")) (Var () (UnQual () (Ident () "len")))]))) Nothing]),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "B") (Ident () "concat"))) (QVarOp () (UnQual () (Symbol () "."))) (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "toChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "decompress"))))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (RightSection () (QConOp () (Special () (Cons ()))) (List () []))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "readFile"))) (Var () (UnQual () (Ident () "f")))) (Var () (Qual () (ModuleName () "BL") (Ident () "readFile")))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "rb" "rb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "rb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "rb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem opening file " "problem opening file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Generator () (PVar () (Ident () "fp")) (App () (Var () (Qual () (ModuleName () "BI") (Ident () "mallocByteString"))) (Var () (UnQual () (Ident () "len")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "debugForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "gzReadFilePS " "gzReadFilePS ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))),Generator () (PVar () (Ident () "lread")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzread"))) (Var () (UnQual () (Ident () "gzf")))) (Var () (UnQual () (Ident () "p")))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "len")))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lread")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "len")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzreading file " "problem gzreading file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "len")))))])))))]))])) Nothing],TypeSig () [Ident () "hGetLittleEndInt"] (TyFun () (TyCon () (UnQual () (Ident () "Handle"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))),FunBind () [Match () (Ident () "hGetLittleEndInt") [PVar () (Ident () "h")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "b1")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b2")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b3")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b4")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "b1"))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 256 "256")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b2"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 65536 "65536")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b3"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 16777216 "16777216")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b4"))))))])) Nothing],TypeSig () [Ident () "gzWriteFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePS") [PVar () (Ident () "f"),PVar () (Ident () "ps")] (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "gzWriteFilePSs"))) (Var () (UnQual () (Ident () "f")))) (List () [Var () (UnQual () (Ident () "ps"))]))) Nothing],TypeSig () [Ident () "gzWriteFilePSs"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePSs") [PVar () (Ident () "f"),PVar () (Ident () "pss")] (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "writeFile"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (Qual () (ModuleName () "GZ") (Ident () "compress"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (App () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (Var () (UnQual () (Ident () "pss")))) (Var () (UnQual () (Ident () "withCString")))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "wb" "wb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "wb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "wb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzopening file for write: " "problem gzopening file for write: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mapM_"))) (Paren () (App () (Var () (UnQual () (Ident () "gzWriteToGzf"))) (Var () (UnQual () (Ident () "gzf")))))) (Var () (UnQual () (Ident () "pss")))) (QVarOp () (UnQual () (Ident () "catch"))) (Lambda () [PWildCard ()] (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzwriting file: " "problem gzwriting file: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf"))))])))))))) Nothing],TypeSig () [Ident () "gzWriteToGzf"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteToGzf") [PVar () (Ident () "gzf"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "lw")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzwrite"))) (Var () (UnQual () (Ident () "gzf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lw")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lit () (String () "problem in gzWriteToGzf" "problem in gzWriteToGzf"))))])) Nothing])) Nothing],TypeSig () [Ident () "mmapFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "mmapFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing")))) (QVarOp () (UnQual () (Ident () "catch"))) (Paren () (Lambda () [PWildCard ()] (Do () [Generator () (PVar () (Ident () "size")) (InfixApp () (Var () (UnQual () (Ident () "fileSize"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "getSymbolicLinkStatus"))) (Var () (UnQual () (Ident () "f"))))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "size"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (Qual () (ModuleName () "B") (Ident () "empty")))) (InfixApp () (Var () (UnQual () (Ident () "performGC"))) (QVarOp () (UnQual () (Symbol () ">>"))) (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing"))))))])))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "x"))))])) Nothing],PatBind () (PVar () (Ident () "mmapFilePS")) (UnGuardedRhs () (Var () (Qual () (ModuleName () "B") (Ident () "readFile")))) Nothing,ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_to_hex") (Ident () "conv_to_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromPS2Hex"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromPS2Hex") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Lit () (Int () 2 "2")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (InfixApp () (App () (App () (Var () (UnQual () (Ident () "conv_to_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_from_hex") (Ident () "conv_from_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromHex2PS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromHex2PS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (App () (App () (App () (Var () (UnQual () (Ident () "conv_from_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))))))))) Nothing])) Nothing],TypeSig () [Ident () "betweenLinesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyParen () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))))),FunBind () [Match () (Ident () "betweenLinesPS") [PVar () (Ident () "start"),PVar () (Ident () "end"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "start"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Paren () (App () (Var () (UnQual () (Ident () "linesPS"))) (Var () (UnQual () (Ident () "ps")))))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PWildCard ()) (Special () (Cons ())) (PAsPat () (Ident () "rest") (PParen () (PInfixApp () (PVar () (Ident () "bs1")) (Special () (Cons ())) (PWildCard ()))))]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs1")))) [Alt () (PTuple () Boxed [PVar () (Ident () "ps1"),PVar () (Ident () "s1"),PWildCard ()]) (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "end"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Var () (UnQual () (Ident () "rest")))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PVar () (Ident () "bs2")) (Special () (Cons ())) (PWildCard ())]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs2")))) [Alt () (PTuple () Boxed [PWildCard (),PVar () (Ident () "s2"),PWildCard ()]) (UnGuardedRhs () (InfixApp () (Con () (UnQual () (Ident () "Just"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "ps1")))) (Var () (UnQual () (Ident () "s1")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s2"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "s1")))))))) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "break_after_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "break_after_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "break_after_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])))]) Nothing,Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Con () (UnQual () (Ident () "Nothing"))))]) Nothing,Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (UnGuardedRhs () (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))))) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "break_before_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),FunBind () [Match () (Ident () "break_before_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])]) Nothing,Match () (Ident () "break_before_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing]]++AST 2:++Module () (Just (ModuleHead () (ModuleName () "ByteStringUtils") Nothing (Just (ExportSpecList () [EVar () (UnQual () (Ident () "unsafeWithInternals")),EVar () (UnQual () (Ident () "unpackPSfromUTF8")),EVar () (UnQual () (Ident () "gzReadFilePS")),EVar () (UnQual () (Ident () "mmapFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePSs")),EVar () (UnQual () (Ident () "ifHeadThenTail")),EVar () (UnQual () (Ident () "dropSpace")),EVar () (UnQual () (Ident () "breakSpace")),EVar () (UnQual () (Ident () "linesPS")),EVar () (UnQual () (Ident () "unlinesPS")),EVar () (UnQual () (Ident () "hashPS")),EVar () (UnQual () (Ident () "breakFirstPS")),EVar () (UnQual () (Ident () "breakLastPS")),EVar () (UnQual () (Ident () "substrPS")),EVar () (UnQual () (Ident () "readIntPS")),EVar () (UnQual () (Ident () "is_funky")),EVar () (UnQual () (Ident () "fromHex2PS")),EVar () (UnQual () (Ident () "fromPS2Hex")),EVar () (UnQual () (Ident () "betweenLinesPS")),EVar () (UnQual () (Ident () "break_after_nth_newline")),EVar () (UnQual () (Ident () "break_before_nth_newline")),EVar () (UnQual () (Ident () "intercalate"))])))) [LanguagePragma () [Ident () "BangPatterns",Ident () "ForeignFunctionInterface",Ident () "CPP"]] [ImportDecl {importAnn = (), importModule = ModuleName () "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () True [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "B"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Char8", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BC"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BI"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "intercalate"),IVar () (Ident () "uncons")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fromForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Exception", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.Unsafe", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "unsafePerformIO")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Storable", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "peekElemOff"),IVar () (Ident () "peek")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Alloc", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "free")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mallocArray"),IVar () (Ident () "peekArray"),IVar () (Ident () "advancePtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CInt")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Bits", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "rotateL")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Char", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "chr"),IVar () (Ident () "ord"),IVar () (Ident () "isSpace")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Word", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Word8")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Int", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Int32")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "when")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "nullPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "ForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "plusPtr"),IAbs () (NoNamespace ()) (Ident () "Ptr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "withForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "addForeignPtrFinalizer")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "FunPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Lazy", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BL"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Codec.Compression.GZip", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "GZ"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.String", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CString"),IVar () (Ident () "withCString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.MMap", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mmapFileByteString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Mem", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "performGC")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Posix.Files", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fileSize"),IVar () (Ident () "getSymbolicLinkStatus")])}] [TypeSig () [Ident () "debugForeignPtr"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "ForeignPtr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "String"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h debug_alloc") (Ident () "debug_alloc") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h & debug_free") (Ident () "debug_free") (TyApp () (TyCon () (UnQual () (Ident () "FunPtr"))) (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),FunBind () [Match () (Ident () "debugForeignPtr") [PVar () (Ident () "fp"),PVar () (Ident () "n")] (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "n")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "cname")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "debug_alloc"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "cname")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "addForeignPtrFinalizer"))) (Var () (UnQual () (Ident () "debug_free")))) (Var () (UnQual () (Ident () "fp"))))])))))) Nothing,Match () (Ident () "debugForeignPtr") [PWildCard (),PWildCard ()] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing],TypeSig () [Ident () "unsafeWithInternals"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a")))))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a"))))),FunBind () [Match () (Ident () "unsafeWithInternals") [PVar () (Ident () "ps"),PVar () (Ident () "f")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))))) Nothing])) Nothing],TypeSig () [Ident () "readIntPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (UnQual () (Ident () "Int")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),PatBind () (PVar () (Ident () "readIntPS")) (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "readInt"))) (QVarOp () (UnQual () (Symbol () "."))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "dropWhile"))) (Var () (UnQual () (Ident () "isSpace")))))) Nothing,TypeSig () [Ident () "unpackPSfromUTF8"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "String")))),FunBind () [Match () (Ident () "unpackPSfromUTF8") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (Lit () (String () "" ""))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "outbuf")) (App () (Var () (UnQual () (Ident () "mallocArray"))) (Var () (UnQual () (Ident () "l")))),Generator () (PVar () (Ident () "lout")) (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (App () (Var () (UnQual () (Ident () "utf8_to_ints"))) (Var () (UnQual () (Ident () "outbuf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "lout"))) (QVarOp () (UnQual () (Symbol () "<"))) (Lit () (Int () 0 "0"))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "error"))) (Lit () (String () "Bad UTF8!" "Bad UTF8!")))),Generator () (PVar () (Ident () "str")) (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "map"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "chr"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "fromIntegral"))))))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "peekArray"))) (Var () (UnQual () (Ident () "lout")))) (Var () (UnQual () (Ident () "outbuf"))))),Qualifier () (App () (Var () (UnQual () (Ident () "free"))) (Var () (UnQual () (Ident () "outbuf")))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "str"))))]))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h utf8_to_ints") (Ident () "utf8_to_ints") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Int")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),InlineSig () True Nothing (UnQual () (Ident () "ifHeadThenTail")),TypeSig () [Ident () "ifHeadThenTail"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))),FunBind () [Match () (Ident () "ifHeadThenTail") [PVar () (Ident () "c"),PVar () (Ident () "s")] (UnGuardedRhs () (Case () (App () (Var () (UnQual () (Ident () "uncons"))) (Var () (UnQual () (Ident () "s")))) [Alt () (PApp () (UnQual () (Ident () "Just")) [PTuple () Boxed [PVar () (Ident () "w"),PVar () (Ident () "t")]]) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "c"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "t"))))]) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "isSpaceWord8"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "isSpaceWord8") [PVar () (Ident () "w")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 32 "32"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 9 "9"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 10 "10"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 13 "13"))))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "isSpaceWord8")),TypeSig () [Ident () "firstnonspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstnonspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Var () (UnQual () (Ident () "isSpaceWord8"))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "firstspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Paren () (InfixApp () (Var () (UnQual () (Ident () "not"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "isSpaceWord8"))))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "dropSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "dropSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l")))) (Var () (Qual () (ModuleName () "B") (Ident () "empty"))) (App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i"))))))))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "dropSpace")),TypeSig () [Ident () "breakSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])),FunBind () [Match () (Ident () "breakSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (Case () (Con () (Special () (UnitCon ()))) [Alt () (PWildCard ()) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0")))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l")))]),GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l"))))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l"))),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "i"))),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i")))))])]) Nothing]))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakSpace")),InlineSig () True Nothing (UnQual () (Ident () "is_funky")),TypeSig () [Ident () "is_funky"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "is_funky") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (RightSection () (QVarOp () (UnQual () (Symbol () "/="))) (Lit () (Int () 0 "0"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "has_funky_char"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "fpstring.h has_funky_char") (Ident () "has_funky_char") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt")))))),InlineSig () True Nothing (UnQual () (Ident () "hashPS")),TypeSig () [Ident () "hashPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Int32")))),FunBind () [Match () (Ident () "hashPS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "hash"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "hash"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int32")))))),FunBind () [Match () (Ident () "hash") [PVar () (Ident () "ptr"),PVar () (Ident () "len")] (UnGuardedRhs () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (ExpTypeSig () (Lit () (Int () 0 "0")) (TyCon () (UnQual () (Ident () "Int32")))))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "len"))))) (Just (BDecls () [FunBind () [Match () (Ident () "f") [PVar () (Ident () "h"),PWildCard (),PLit () (Signless ()) (Int () 0 "0")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "h"))))) Nothing,Match () (Ident () "f") [PVar () (Ident () "h"),PVar () (Ident () "p"),PVar () (Ident () "n")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (App () (Var () (UnQual () (Ident () "peek"))) (Var () (UnQual () (Ident () "p")))),LetStmt () (BDecls () [PatBind () (PBangPat () (PVar () (Ident () "h'"))) (UnGuardedRhs () (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "x"))))) (QVarOp () (UnQual () (Symbol () "+"))) (Paren () (App () (App () (Var () (UnQual () (Ident () "rotateL"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 8 "8")))))) Nothing]),Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "h'")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "advancePtr"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1")))))])) Nothing]]))],InlineSig () True Nothing (UnQual () (Ident () "substrPS")),TypeSig () [Ident () "substrPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (UnQual () (Ident () "Int")))))),FunBind () [Match () (Ident () "substrPS") [PVar () (Ident () "tok"),PVar () (Ident () "str")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "tok"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Lit () (Int () 0 "0"))),GuardedRhs () [Qualifier () (InfixApp () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "tok")))) (QVarOp () (UnQual () (Symbol () ">"))) (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "str")))))] (Con () (UnQual () (Ident () "Nothing"))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "n")) (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Paren () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "head"))) (Var () (UnQual () (Ident () "tok")))))) (Var () (UnQual () (Ident () "str")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "ttok")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "B") (Ident () "tail"))) (Var () (UnQual () (Ident () "tok"))))) Nothing,PatBind () (PVar () (Ident () "reststr")) (UnGuardedRhs () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "str"))))) Nothing]),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "ttok"))) (QVarOp () (UnQual () (Symbol () "=="))) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Paren () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "ttok")))))) (Var () (UnQual () (Ident () "reststr"))))) (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "n")))) (InfixApp () (LeftSection () (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))) (QVarOp () (UnQual () (Symbol () "+")))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "substrPS"))) (Var () (UnQual () (Ident () "tok")))) (Var () (UnQual () (Ident () "reststr"))))))])]) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakFirstPS")),TypeSig () [Ident () "breakFirstPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakFirstPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakLastPS")),TypeSig () [Ident () "breakLastPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakLastPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndexEnd"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "linesPS")),TypeSig () [Ident () "linesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "linesPS") [PVar () (Ident () "ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "ps"))))] (List () [Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "split"))) (Lit () (Char () '\n' "\\n"))) (Var () (UnQual () (Ident () "ps"))))]) Nothing],TypeSig () [Ident () "unlinesPS"] (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "unlinesPS") [PList () []] (UnGuardedRhs () (Var () (Qual () (ModuleName () "BC") (Ident () "empty")))) Nothing,Match () (Ident () "unlinesPS") [PVar () (Ident () "x")] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "init"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "unlines"))) (Var () (UnQual () (Ident () "x")))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "unlinesPS")),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzopen") (Ident () "c_gzopen") (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyParen () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzclose") (Ident () "c_gzclose") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzread") (Ident () "c_gzread") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzwrite") (Ident () "c_gzwrite") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),TypeSig () [Ident () "gzReadFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "gzReadFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "h")) (App () (App () (Var () (UnQual () (Ident () "openBinaryFile"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "ReadMode")))),Generator () (PVar () (Ident () "header")) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "hGet"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 2 "2"))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "header"))) (QVarOp () (UnQual () (Symbol () "/="))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "pack"))) (Lit () (String () "\US\139" "\\US\\139")))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "mmapFilePS"))) (Var () (UnQual () (Ident () "f"))))]) (Do () [Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "hSeek"))) (Var () (UnQual () (Ident () "h")))) (Con () (UnQual () (Ident () "SeekFromEnd")))) (Paren () (NegApp () (Lit () (Int () 4 "4"))))),Generator () (PVar () (Ident () "len")) (App () (Var () (UnQual () (Ident () "hGetLittleEndInt"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "decompress")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "GZ") (Ident () "decompressWith"))) (RecUpdate () (Var () (Qual () (ModuleName () "GZ") (Ident () "defaultDecompressParams"))) [FieldUpdate () (Qual () (ModuleName () "GZ") (Ident () "decompressBufferSize")) (Var () (UnQual () (Ident () "len")))]))) Nothing]),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "B") (Ident () "concat"))) (QVarOp () (UnQual () (Symbol () "."))) (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "toChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "decompress"))))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (RightSection () (QConOp () (Special () (Cons ()))) (List () []))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "readFile"))) (Var () (UnQual () (Ident () "f")))) (Var () (Qual () (ModuleName () "BL") (Ident () "readFile")))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "rb" "rb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "rb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "rb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem opening file " "problem opening file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Generator () (PVar () (Ident () "fp")) (App () (Var () (Qual () (ModuleName () "BI") (Ident () "mallocByteString"))) (Var () (UnQual () (Ident () "len")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "debugForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "gzReadFilePS " "gzReadFilePS ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))),Generator () (PVar () (Ident () "lread")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzread"))) (Var () (UnQual () (Ident () "gzf")))) (Var () (UnQual () (Ident () "p")))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "len")))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lread")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "len")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzreading file " "problem gzreading file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "len")))))])))))]))])) Nothing],TypeSig () [Ident () "hGetLittleEndInt"] (TyFun () (TyCon () (UnQual () (Ident () "Handle"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))),FunBind () [Match () (Ident () "hGetLittleEndInt") [PVar () (Ident () "h")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "b1")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b2")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b3")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b4")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "b1"))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 256 "256")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b2"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 65536 "65536")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b3"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 16777216 "16777216")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b4"))))))])) Nothing],TypeSig () [Ident () "gzWriteFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePS") [PVar () (Ident () "f"),PVar () (Ident () "ps")] (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "gzWriteFilePSs"))) (Var () (UnQual () (Ident () "f")))) (List () [Var () (UnQual () (Ident () "ps"))]))) Nothing],TypeSig () [Ident () "gzWriteFilePSs"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePSs") [PVar () (Ident () "f"),PVar () (Ident () "pss")] (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "writeFile"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (Qual () (ModuleName () "GZ") (Ident () "compress"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (App () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (Var () (UnQual () (Ident () "pss")))) (Var () (UnQual () (Ident () "withCString")))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "wb" "wb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "wb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "wb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzopening file for write: " "problem gzopening file for write: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mapM_"))) (Paren () (App () (Var () (UnQual () (Ident () "gzWriteToGzf"))) (Var () (UnQual () (Ident () "gzf")))))) (Var () (UnQual () (Ident () "pss")))) (QVarOp () (UnQual () (Ident () "catch"))) (Lambda () [PWildCard ()] (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzwriting file: " "problem gzwriting file: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf"))))])))))))) Nothing],TypeSig () [Ident () "gzWriteToGzf"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteToGzf") [PVar () (Ident () "gzf"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "lw")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzwrite"))) (Var () (UnQual () (Ident () "gzf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lw")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lit () (String () "problem in gzWriteToGzf" "problem in gzWriteToGzf"))))])) Nothing])) Nothing],TypeSig () [Ident () "mmapFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "mmapFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing")))) (QVarOp () (UnQual () (Ident () "catch"))) (Paren () (Lambda () [PWildCard ()] (Do () [Generator () (PVar () (Ident () "size")) (InfixApp () (Var () (UnQual () (Ident () "fileSize"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "getSymbolicLinkStatus"))) (Var () (UnQual () (Ident () "f"))))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "size"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (Qual () (ModuleName () "B") (Ident () "empty")))) (InfixApp () (Var () (UnQual () (Ident () "performGC"))) (QVarOp () (UnQual () (Symbol () ">>"))) (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing"))))))])))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "x"))))])) Nothing],PatBind () (PVar () (Ident () "mmapFilePS")) (UnGuardedRhs () (Var () (Qual () (ModuleName () "B") (Ident () "readFile")))) Nothing,ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_to_hex") (Ident () "conv_to_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromPS2Hex"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromPS2Hex") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Lit () (Int () 2 "2")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (InfixApp () (App () (App () (Var () (UnQual () (Ident () "conv_to_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_from_hex") (Ident () "conv_from_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromHex2PS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromHex2PS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (App () (App () (App () (Var () (UnQual () (Ident () "conv_from_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))))))))) Nothing])) Nothing],TypeSig () [Ident () "betweenLinesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyParen () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))))),FunBind () [Match () (Ident () "betweenLinesPS") [PVar () (Ident () "start"),PVar () (Ident () "end"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "start"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Paren () (App () (Var () (UnQual () (Ident () "linesPS"))) (Var () (UnQual () (Ident () "ps")))))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PWildCard ()) (Special () (Cons ())) (PAsPat () (Ident () "rest") (PParen () (PInfixApp () (PVar () (Ident () "bs1")) (Special () (Cons ())) (PWildCard ()))))]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs1")))) [Alt () (PTuple () Boxed [PVar () (Ident () "ps1"),PVar () (Ident () "s1"),PWildCard ()]) (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "end"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Var () (UnQual () (Ident () "rest")))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PVar () (Ident () "bs2")) (Special () (Cons ())) (PWildCard ())]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs2")))) [Alt () (PTuple () Boxed [PWildCard (),PVar () (Ident () "s2"),PWildCard ()]) (UnGuardedRhs () (InfixApp () (Con () (UnQual () (Ident () "Just"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "ps1")))) (Var () (UnQual () (Ident () "s1")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s2"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "s1")))))))) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "break_after_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "break_after_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "break_after_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])))]) Nothing,Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Con () (UnQual () (Ident () "Nothing"))))]) Nothing,Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (UnGuardedRhs () (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))))) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "break_before_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),FunBind () [Match () (Ident () "break_before_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])]) Nothing,Match () (Ident () "break_before_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing]]+
tests/examples/ByteStringUtils.hs.prettyprinter.golden view
@@ -37,12 +37,12 @@ import System.IO.MMap (mmapFileByteString) import System.Mem (performGC) import System.Posix.Files (fileSize, getSymbolicLinkStatus)- + debugForeignPtr :: ForeignPtr a -> String -> IO ()- + foreign import ccall unsafe "static fpstring.h debug_alloc" debug_alloc :: Ptr a -> CString -> IO ()- + foreign import ccall unsafe "static fpstring.h & debug_free" debug_free :: FunPtr (Ptr a -> IO ()) debugForeignPtr fp n@@ -53,16 +53,16 @@ do debug_alloc p cname addForeignPtrFinalizer debug_free fp debugForeignPtr _ _ = return ()- + unsafeWithInternals :: B.ByteString -> (Ptr Word8 -> Int -> IO a) -> IO a unsafeWithInternals ps f = case BI.toForeignPtr ps of (fp, s, l) -> withForeignPtr fp $ \ p -> f (p `plusPtr` s) l- + readIntPS :: B.ByteString -> Maybe (Int, B.ByteString) readIntPS = BC.readInt . BC.dropWhile isSpace- + unpackPSfromUTF8 :: B.ByteString -> String unpackPSfromUTF8 ps = case BI.toForeignPtr ps of@@ -77,30 +77,30 @@ str <- (map (chr . fromIntegral)) `fmap` peekArray lout outbuf free outbuf return str- + foreign import ccall unsafe "static fpstring.h utf8_to_ints" utf8_to_ints :: Ptr Int -> Ptr Word8 -> CInt -> IO CInt- + {-# INLINE ifHeadThenTail #-}- + ifHeadThenTail :: Word8 -> B.ByteString -> Maybe B.ByteString ifHeadThenTail c s = case uncons s of Just (w, t) | w == c -> Just t _ -> Nothing- + isSpaceWord8 :: Word8 -> Bool isSpaceWord8 w = w == 32 || w == 9 || w == 10 || w == 13- + {-# INLINE isSpaceWord8 #-}- + firstnonspace :: Ptr Word8 -> Int -> Int -> IO Int firstnonspace !ptr !n !m | n >= m = return n | otherwise = do w <- peekElemOff ptr n if isSpaceWord8 w then firstnonspace ptr (n + 1) m else return n- + firstspace :: Ptr Word8 -> Int -> Int -> IO Int firstspace !ptr !n !m | n >= m = return n@@ -108,7 +108,7 @@ do w <- peekElemOff ptr n if (not . isSpaceWord8) w then firstspace ptr (n + 1) m else return n- + dropSpace :: B.ByteString -> B.ByteString dropSpace (BI.PS x s l) = BI.inlinePerformIO $@@ -116,9 +116,9 @@ \ p -> do i <- firstnonspace (p `plusPtr` s) 0 l return $! if i == l then B.empty else BI.PS x (s + i) (l - i)- + {-# INLINE dropSpace #-}- + breakSpace :: B.ByteString -> (B.ByteString, B.ByteString) breakSpace (BI.PS x s l) = BI.inlinePerformIO $@@ -130,11 +130,11 @@ _ | i == 0 -> (B.empty, BI.PS x s l) | i == l -> (BI.PS x s l, B.empty) | otherwise -> (BI.PS x s i, BI.PS x (s + i) (l - i))- + {-# INLINE breakSpace #-}- + {-# INLINE is_funky #-}- + is_funky :: B.ByteString -> Bool is_funky ps = case BI.toForeignPtr ps of@@ -142,18 +142,18 @@ withForeignPtr x $ \ p -> (/= 0) `fmap` has_funky_char (p `plusPtr` s) (fromIntegral l)- + foreign import ccall unsafe "fpstring.h has_funky_char" has_funky_char :: Ptr Word8 -> CInt -> IO CInt- + {-# INLINE hashPS #-}- + hashPS :: B.ByteString -> Int32 hashPS ps = case BI.toForeignPtr ps of (x, s, l) -> unsafePerformIO $ withForeignPtr x $ \ p -> do hash (p `plusPtr` s) l- + hash :: Ptr Word8 -> Int -> IO Int32 hash ptr len = f (0 :: Int32) ptr len where f h _ 0 = return h@@ -161,9 +161,9 @@ = do x <- peek p let !h' = (fromIntegral x) + (rotateL h 8) f h' (p `advancePtr` 1) (n - 1)- + {-# INLINE substrPS #-}- + substrPS :: B.ByteString -> B.ByteString -> Maybe Int substrPS tok str | B.null tok = Just 0@@ -174,50 +174,50 @@ reststr = B.drop (n + 1) str if ttok == B.take (B.length ttok) reststr then Just n else ((n + 1) +) `fmap` substrPS tok reststr- + {-# INLINE breakFirstPS #-}- + breakFirstPS :: Char -> B.ByteString -> Maybe (B.ByteString, B.ByteString) breakFirstPS c p = case BC.elemIndex c p of Nothing -> Nothing Just n -> Just (B.take n p, B.drop (n + 1) p)- + {-# INLINE breakLastPS #-}- + breakLastPS :: Char -> B.ByteString -> Maybe (B.ByteString, B.ByteString) breakLastPS c p = case BC.elemIndexEnd c p of Nothing -> Nothing Just n -> Just (B.take n p, B.drop (n + 1) p)- + {-# INLINE linesPS #-}- + linesPS :: B.ByteString -> [B.ByteString] linesPS ps | B.null ps = [B.empty] | otherwise = BC.split '\n' ps- + unlinesPS :: [B.ByteString] -> B.ByteString unlinesPS [] = BC.empty unlinesPS x = BC.init $ BC.unlines x- + {-# INLINE unlinesPS #-}- + foreign import ccall unsafe "static zlib.h gzopen" c_gzopen :: CString -> CString -> IO (Ptr ())- + foreign import ccall unsafe "static zlib.h gzclose" c_gzclose :: Ptr () -> IO ()- + foreign import ccall unsafe "static zlib.h gzread" c_gzread :: Ptr () -> Ptr Word8 -> CInt -> IO CInt- + foreign import ccall unsafe "static zlib.h gzwrite" c_gzwrite :: Ptr () -> Ptr Word8 -> CInt -> IO CInt- + gzReadFilePS :: FilePath -> IO B.ByteString gzReadFilePS f = do h <- openBinaryFile f ReadMode@@ -248,7 +248,7 @@ when (fromIntegral lread /= len) $ fail $ "problem gzreading file " ++ f return $ fromForeignPtr fp 0 len- + hGetLittleEndInt :: Handle -> IO Int hGetLittleEndInt h = do b1 <- ord `fmap` hGetChar h@@ -256,10 +256,10 @@ b3 <- ord `fmap` hGetChar h b4 <- ord `fmap` hGetChar h return $ b1 + 256 * b2 + 65536 * b3 + 16777216 * b4- + gzWriteFilePS :: FilePath -> B.ByteString -> IO () gzWriteFilePS f ps = gzWriteFilePSs f [ps]- + gzWriteFilePSs :: FilePath -> [B.ByteString] -> IO () gzWriteFilePSs f pss = BL.writeFile f $@@ -274,7 +274,7 @@ mapM_ (gzWriteToGzf gzf) pss `catch` \ _ -> fail $ "problem gzwriting file: " ++ f c_gzclose gzf- + gzWriteToGzf :: Ptr () -> B.ByteString -> IO () gzWriteToGzf gzf ps = case BI.toForeignPtr ps of@@ -282,7 +282,7 @@ (x, s, l) -> do lw <- withForeignPtr x $ \ p -> c_gzwrite gzf (p `plusPtr` s) (fromIntegral l) when (fromIntegral lw /= l) $ fail $ "problem in gzWriteToGzf"- + mmapFilePS :: FilePath -> IO B.ByteString mmapFilePS f = do x <- mmapFileByteString f Nothing `catch`@@ -292,10 +292,10 @@ performGC >> mmapFileByteString f Nothing) return x mmapFilePS = B.readFile- + foreign import ccall unsafe "static fpstring.h conv_to_hex" conv_to_hex :: Ptr Word8 -> Ptr Word8 -> CInt -> IO ()- + fromPS2Hex :: B.ByteString -> B.ByteString fromPS2Hex ps = case BI.toForeignPtr ps of@@ -303,10 +303,10 @@ \ p -> withForeignPtr x $ \ f -> conv_to_hex p (f `plusPtr` s) $ fromIntegral l- + foreign import ccall unsafe "static fpstring.h conv_from_hex" conv_from_hex :: Ptr Word8 -> Ptr Word8 -> CInt -> IO ()- + fromHex2PS :: B.ByteString -> B.ByteString fromHex2PS ps = case BI.toForeignPtr ps of@@ -314,7 +314,7 @@ \ p -> withForeignPtr x $ \ f -> conv_from_hex p (f `plusPtr` s) (fromIntegral $ l `div` 2)- + betweenLinesPS :: B.ByteString -> B.ByteString -> B.ByteString -> Maybe (B.ByteString)@@ -333,7 +333,7 @@ s1) _ -> Nothing _ -> Nothing- + break_after_nth_newline :: Int -> B.ByteString -> Maybe (B.ByteString, B.ByteString) break_after_nth_newline 0 the_ps@@ -358,7 +358,7 @@ nl = BI.c2w '\n' end = the_s + l findit n the_s- + break_before_nth_newline :: Int -> B.ByteString -> (B.ByteString, B.ByteString) break_before_nth_newline 0 the_ps
+ tests/examples/CApiFFI.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE CApiFFI #-}+foo = capi+
+ tests/examples/CApiFFI.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/CApiFFI.hs.parser.golden view
@@ -0,0 +1,72 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CApiFFI.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/CApiFFI.hs" 1 1 1 1+ , SrcSpan "tests/examples/CApiFFI.hs" 2 1 2 1+ , SrcSpan "tests/examples/CApiFFI.hs" 2 1 2 1+ , SrcSpan "tests/examples/CApiFFI.hs" 2 1 2 1+ , SrcSpan "tests/examples/CApiFFI.hs" 4 1 4 1+ , SrcSpan "tests/examples/CApiFFI.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CApiFFI.hs" 1 1 1 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/CApiFFI.hs" 1 1 1 13+ , SrcSpan "tests/examples/CApiFFI.hs" 1 22 1 25+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CApiFFI.hs" 1 14 1 21+ , srcInfoPoints = []+ }+ "CApiFFI"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CApiFFI.hs" 2 1 2 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CApiFFI.hs" 2 1 2 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CApiFFI.hs" 2 1 2 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CApiFFI.hs" 2 5 2 11+ , srcInfoPoints = [ SrcSpan "tests/examples/CApiFFI.hs" 2 5 2 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CApiFFI.hs" 2 7 2 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CApiFFI.hs" 2 7 2 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CApiFFI.hs" 2 7 2 11+ , srcInfoPoints = []+ }+ "capi"))))+ Nothing+ ]+ , []+ )
+ tests/examples/CApiFFI.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/CApiFFI.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE CApiFFI #-}+foo = capi
− tests/examples/CParser.hs
@@ -1,6323 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# LANGUAGE MagicHash #-}-module Language.C.Parser.Parser (- -- * Parse a C translation unit- parseC,- -- * Exposed Parsers- translUnitP, extDeclP, statementP, expressionP-) where---- Relevant C99 sections:------ 6.5 Expressions .1 - .17 and 6.6 (almost literally)--- Supported GNU extensions:--- - Allow a compound statement as an expression--- - Various __builtin_* forms that take type parameters--- - `alignof' expression or type--- - `__extension__' to suppress warnings about extensions--- - Allow taking address of a label with: && label--- - Omitting the `then' part of conditional expressions--- - complex numbers------ 6.7 C Declarations .1 -.8--- Supported GNU extensions:--- - '__thread' thread local storage (6.7.1)------ 6.8 Statements .1 - .8--- Supported GNU extensions:--- - case ranges (C99 6.8.1)--- - '__label__ ident;' declarations (C99 6.8.2)--- - computed gotos (C99 6.8.6)------ 6.9 Translation unit--- Supported GNU extensions:--- - allow empty translation_unit--- - allow redundant ';'--- - allow extension keyword before external declaration--- - asm definitions------ Since some of the grammar productions are quite difficult to read,--- (especially those involved with the decleration syntax) we document them--- with an extended syntax that allows a more consise representation:------ Ordinary rules------ foo named terminal or non-terminal------ 'c' terminal, literal character token------ A B concatenation------ A | B alternation------ (A) grouping------ Extended rules------ A? optional, short hand for (A|) or [A]{ 0==A || 1==A }------ ... stands for some part of the grammar omitted for clarity------ {A} represents sequences, 0 or more.------ <permute> modifier which states that any permutation of the immediate subterms is valid---------- TODO ---------------------------------------------------------------------------- !* We ignore the C99 static keyword (see C99 6.7.5.3)--- !* We do not distinguish in the AST between incomplete array types and--- complete variable length arrays ([ '*' ] means the latter). (see C99 6.7.5.2)--- !* The AST doesn't allow recording __attribute__ of unnamed struct field--- (see , struct_default_declaring_list, struct_identifier_declarator)--- !* see `We're being far to liberal here' (... struct definition within structs)--- * Documentation isn't complete and consistent yet.--import Prelude hiding (reverse)-import qualified Data.List as List-import Control.Monad (mplus)-import Language.C.Parser.Builtin (builtinTypeNames)-import Language.C.Parser.Lexer (lexC, parseError)-import Language.C.Parser.Tokens (CToken(..), GnuCTok(..), posLenOfTok)-import Language.C.Parser.ParserMonad (P, failP, execParser, getNewName, addTypedef, shadowTypedef, getCurrentPosition,- enterScope, leaveScope, getLastToken, getSavedToken, ParseError(..))--import Language.C.Data.RList-import Language.C.Data.InputStream-import Language.C.Data.Ident-import Language.C.Data.Name-import Language.C.Data.Node-import Language.C.Data.Position-import Language.C.Syntax--- #if __GLASGOW_HASKELL__ >= 503-import Data.Array--- #else-import Array--- #endif--- #if __GLASGOW_HASKELL__ >= 503-import GHC.Exts--- #else-import GlaExts--- #endif---- parser produced by Happy Version 1.16--newtype HappyAbsSyn = HappyAbsSyn (() -> ())-happyIn7 :: (CTranslUnit) -> (HappyAbsSyn )-happyIn7 x = unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn ) -> (CTranslUnit)-happyOut7 x = unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Reversed [CExtDecl]) -> (HappyAbsSyn )-happyIn8 x = unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn ) -> (Reversed [CExtDecl])-happyOut8 x = unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (CExtDecl) -> (HappyAbsSyn )-happyIn9 x = unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn ) -> (CExtDecl)-happyOut9 x = unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (CFunDef) -> (HappyAbsSyn )-happyIn10 x = unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn ) -> (CFunDef)-happyOut10 x = unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (CDeclr) -> (HappyAbsSyn )-happyIn11 x = unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn ) -> (CDeclr)-happyOut11 x = unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: (CStat) -> (HappyAbsSyn )-happyIn12 x = unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn ) -> (CStat)-happyOut12 x = unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (CStat) -> (HappyAbsSyn )-happyIn13 x = unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn ) -> (CStat)-happyOut13 x = unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: (CStat) -> (HappyAbsSyn )-happyIn14 x = unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> (CStat)-happyOut14 x = unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: (()) -> (HappyAbsSyn )-happyIn15 x = unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> (())-happyOut15 x = unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (()) -> (HappyAbsSyn )-happyIn16 x = unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (())-happyOut16 x = unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (Reversed [CBlockItem]) -> (HappyAbsSyn )-happyIn17 x = unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (Reversed [CBlockItem])-happyOut17 x = unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (CBlockItem) -> (HappyAbsSyn )-happyIn18 x = unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> (CBlockItem)-happyOut18 x = unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (CBlockItem) -> (HappyAbsSyn )-happyIn19 x = unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (CBlockItem)-happyOut19 x = unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (CFunDef) -> (HappyAbsSyn )-happyIn20 x = unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (CFunDef)-happyOut20 x = unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (Reversed [Ident]) -> (HappyAbsSyn )-happyIn21 x = unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> (Reversed [Ident])-happyOut21 x = unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (CStat) -> (HappyAbsSyn )-happyIn22 x = unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> (CStat)-happyOut22 x = unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (CStat) -> (HappyAbsSyn )-happyIn23 x = unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (CStat)-happyOut23 x = unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (CStat) -> (HappyAbsSyn )-happyIn24 x = unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (CStat)-happyOut24 x = unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (CStat) -> (HappyAbsSyn )-happyIn25 x = unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> (CStat)-happyOut25 x = unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (CAsmStmt) -> (HappyAbsSyn )-happyIn26 x = unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (CAsmStmt)-happyOut26 x = unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (Maybe CTypeQual) -> (HappyAbsSyn )-happyIn27 x = unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> (Maybe CTypeQual)-happyOut27 x = unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([CAsmOperand]) -> (HappyAbsSyn )-happyIn28 x = unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> ([CAsmOperand])-happyOut28 x = unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Reversed [CAsmOperand]) -> (HappyAbsSyn )-happyIn29 x = unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Reversed [CAsmOperand])-happyOut29 x = unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (CAsmOperand) -> (HappyAbsSyn )-happyIn30 x = unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (CAsmOperand)-happyOut30 x = unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (Reversed [CStrLit]) -> (HappyAbsSyn )-happyIn31 x = unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> (Reversed [CStrLit])-happyOut31 x = unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (CDecl) -> (HappyAbsSyn )-happyIn32 x = unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> (CDecl)-happyOut32 x = unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (Reversed [CDecl]) -> (HappyAbsSyn )-happyIn33 x = unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (Reversed [CDecl])-happyOut33 x = unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: (CDecl) -> (HappyAbsSyn )-happyIn34 x = unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> (CDecl)-happyOut34 x = unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ((Maybe CStrLit, [CAttr])) -> (HappyAbsSyn )-happyIn35 x = unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> ((Maybe CStrLit, [CAttr]))-happyOut35 x = unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (CDecl) -> (HappyAbsSyn )-happyIn36 x = unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (CDecl)-happyOut36 x = unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ([CDeclSpec]) -> (HappyAbsSyn )-happyIn37 x = unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> ([CDeclSpec])-happyOut37 x = unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn38 x = unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut38 x = unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: (CDeclSpec) -> (HappyAbsSyn )-happyIn39 x = unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> (CDeclSpec)-happyOut39 x = unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: (CStorageSpec) -> (HappyAbsSyn )-happyIn40 x = unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> (CStorageSpec)-happyOut40 x = unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ([CDeclSpec]) -> (HappyAbsSyn )-happyIn41 x = unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> ([CDeclSpec])-happyOut41 x = unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (CTypeSpec) -> (HappyAbsSyn )-happyIn42 x = unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> (CTypeSpec)-happyOut42 x = unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn43 x = unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut43 x = unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn44 x = unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut44 x = unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn45 x = unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut45 x = unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn46 x = unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut46 x = unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn47 x = unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut47 x = unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn48 x = unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut48 x = unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (CTypeSpec) -> (HappyAbsSyn )-happyIn49 x = unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (CTypeSpec)-happyOut49 x = unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (CStructUnion) -> (HappyAbsSyn )-happyIn50 x = unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> (CStructUnion)-happyOut50 x = unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (Located CStructTag) -> (HappyAbsSyn )-happyIn51 x = unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (Located CStructTag)-happyOut51 x = unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (Reversed [CDecl]) -> (HappyAbsSyn )-happyIn52 x = unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (Reversed [CDecl])-happyOut52 x = unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (CDecl) -> (HappyAbsSyn )-happyIn53 x = unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (CDecl)-happyOut53 x = unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (CDecl) -> (HappyAbsSyn )-happyIn54 x = unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (CDecl)-happyOut54 x = unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: (CDecl) -> (HappyAbsSyn )-happyIn55 x = unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> (CDecl)-happyOut55 x = unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn )-happyIn56 x = unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> ((Maybe CDeclr, Maybe CExpr))-happyOut56 x = unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn )-happyIn57 x = unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> ((Maybe CDeclr, Maybe CExpr))-happyOut57 x = unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (CEnum) -> (HappyAbsSyn )-happyIn58 x = unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> (CEnum)-happyOut58 x = unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (Reversed [(Ident, Maybe CExpr)]) -> (HappyAbsSyn )-happyIn59 x = unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> (Reversed [(Ident, Maybe CExpr)])-happyOut59 x = unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ((Ident, Maybe CExpr)) -> (HappyAbsSyn )-happyIn60 x = unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> ((Ident, Maybe CExpr))-happyOut60 x = unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: (CTypeQual) -> (HappyAbsSyn )-happyIn61 x = unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> (CTypeQual)-happyOut61 x = unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: (Reversed [CTypeQual]) -> (HappyAbsSyn )-happyIn62 x = unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> (Reversed [CTypeQual])-happyOut62 x = unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: (CDeclrR) -> (HappyAbsSyn )-happyIn63 x = unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut63 x = unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: (Maybe CStrLit) -> (HappyAbsSyn )-happyIn64 x = unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> (Maybe CStrLit)-happyOut64 x = unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: (CDeclrR) -> (HappyAbsSyn )-happyIn65 x = unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut65 x = unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (CDeclrR) -> (HappyAbsSyn )-happyIn66 x = unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut66 x = unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: (CDeclrR) -> (HappyAbsSyn )-happyIn67 x = unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut67 x = unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (CDeclrR) -> (HappyAbsSyn )-happyIn68 x = unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut68 x = unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (CDeclrR) -> (HappyAbsSyn )-happyIn69 x = unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut69 x = unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: (CDeclrR) -> (HappyAbsSyn )-happyIn70 x = unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut70 x = unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (CDeclrR) -> (HappyAbsSyn )-happyIn71 x = unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut71 x = unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (CDeclrR) -> (HappyAbsSyn )-happyIn72 x = unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut72 x = unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (CDeclrR) -> (HappyAbsSyn )-happyIn73 x = unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut73 x = unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (CDeclrR) -> (HappyAbsSyn )-happyIn74 x = unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut74 x = unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (CDeclrR) -> (HappyAbsSyn )-happyIn75 x = unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut75 x = unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (CDeclr) -> (HappyAbsSyn )-happyIn76 x = unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (CDeclr)-happyOut76 x = unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (CDeclrR) -> (HappyAbsSyn )-happyIn77 x = unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut77 x = unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (CDeclrR) -> (HappyAbsSyn )-happyIn78 x = unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut78 x = unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: (([CDecl], Bool)) -> (HappyAbsSyn )-happyIn79 x = unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> (([CDecl], Bool))-happyOut79 x = unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (Reversed [CDecl]) -> (HappyAbsSyn )-happyIn80 x = unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (Reversed [CDecl])-happyOut80 x = unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: (CDecl) -> (HappyAbsSyn )-happyIn81 x = unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> (CDecl)-happyOut81 x = unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (Reversed [Ident]) -> (HappyAbsSyn )-happyIn82 x = unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (Reversed [Ident])-happyOut82 x = unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: (CDecl) -> (HappyAbsSyn )-happyIn83 x = unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> (CDecl)-happyOut83 x = unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: (CDeclrR) -> (HappyAbsSyn )-happyIn84 x = unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut84 x = unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )-happyIn85 x = unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)-happyOut85 x = unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )-happyIn86 x = unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)-happyOut86 x = unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )-happyIn87 x = unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)-happyOut87 x = unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: (CDeclrR) -> (HappyAbsSyn )-happyIn88 x = unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut88 x = unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (CDeclrR) -> (HappyAbsSyn )-happyIn89 x = unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut89 x = unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (CInit) -> (HappyAbsSyn )-happyIn90 x = unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (CInit)-happyOut90 x = unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: (Maybe CInit) -> (HappyAbsSyn )-happyIn91 x = unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> (Maybe CInit)-happyOut91 x = unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (Reversed CInitList) -> (HappyAbsSyn )-happyIn92 x = unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (Reversed CInitList)-happyOut92 x = unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: ([CDesignator]) -> (HappyAbsSyn )-happyIn93 x = unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> ([CDesignator])-happyOut93 x = unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (Reversed [CDesignator]) -> (HappyAbsSyn )-happyIn94 x = unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (Reversed [CDesignator])-happyOut94 x = unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (CDesignator) -> (HappyAbsSyn )-happyIn95 x = unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (CDesignator)-happyOut95 x = unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: (CDesignator) -> (HappyAbsSyn )-happyIn96 x = unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> (CDesignator)-happyOut96 x = unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (CExpr) -> (HappyAbsSyn )-happyIn97 x = unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (CExpr)-happyOut97 x = unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (Reversed [CDesignator]) -> (HappyAbsSyn )-happyIn98 x = unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (Reversed [CDesignator])-happyOut98 x = unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (CExpr) -> (HappyAbsSyn )-happyIn99 x = unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (CExpr)-happyOut99 x = unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: (Reversed [CExpr]) -> (HappyAbsSyn )-happyIn100 x = unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> (Reversed [CExpr])-happyOut100 x = unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (CExpr) -> (HappyAbsSyn )-happyIn101 x = unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (CExpr)-happyOut101 x = unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: (Located CUnaryOp) -> (HappyAbsSyn )-happyIn102 x = unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> (Located CUnaryOp)-happyOut102 x = unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: (CExpr) -> (HappyAbsSyn )-happyIn103 x = unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> (CExpr)-happyOut103 x = unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (CExpr) -> (HappyAbsSyn )-happyIn104 x = unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (CExpr)-happyOut104 x = unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: (CExpr) -> (HappyAbsSyn )-happyIn105 x = unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> (CExpr)-happyOut105 x = unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (CExpr) -> (HappyAbsSyn )-happyIn106 x = unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (CExpr)-happyOut106 x = unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (CExpr) -> (HappyAbsSyn )-happyIn107 x = unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (CExpr)-happyOut107 x = unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (CExpr) -> (HappyAbsSyn )-happyIn108 x = unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (CExpr)-happyOut108 x = unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: (CExpr) -> (HappyAbsSyn )-happyIn109 x = unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> (CExpr)-happyOut109 x = unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (CExpr) -> (HappyAbsSyn )-happyIn110 x = unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (CExpr)-happyOut110 x = unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: (CExpr) -> (HappyAbsSyn )-happyIn111 x = unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> (CExpr)-happyOut111 x = unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyIn112 :: (CExpr) -> (HappyAbsSyn )-happyIn112 x = unsafeCoerce# x-{-# INLINE happyIn112 #-}-happyOut112 :: (HappyAbsSyn ) -> (CExpr)-happyOut112 x = unsafeCoerce# x-{-# INLINE happyOut112 #-}-happyIn113 :: (CExpr) -> (HappyAbsSyn )-happyIn113 x = unsafeCoerce# x-{-# INLINE happyIn113 #-}-happyOut113 :: (HappyAbsSyn ) -> (CExpr)-happyOut113 x = unsafeCoerce# x-{-# INLINE happyOut113 #-}-happyIn114 :: (CExpr) -> (HappyAbsSyn )-happyIn114 x = unsafeCoerce# x-{-# INLINE happyIn114 #-}-happyOut114 :: (HappyAbsSyn ) -> (CExpr)-happyOut114 x = unsafeCoerce# x-{-# INLINE happyOut114 #-}-happyIn115 :: (CExpr) -> (HappyAbsSyn )-happyIn115 x = unsafeCoerce# x-{-# INLINE happyIn115 #-}-happyOut115 :: (HappyAbsSyn ) -> (CExpr)-happyOut115 x = unsafeCoerce# x-{-# INLINE happyOut115 #-}-happyIn116 :: (Located CAssignOp) -> (HappyAbsSyn )-happyIn116 x = unsafeCoerce# x-{-# INLINE happyIn116 #-}-happyOut116 :: (HappyAbsSyn ) -> (Located CAssignOp)-happyOut116 x = unsafeCoerce# x-{-# INLINE happyOut116 #-}-happyIn117 :: (CExpr) -> (HappyAbsSyn )-happyIn117 x = unsafeCoerce# x-{-# INLINE happyIn117 #-}-happyOut117 :: (HappyAbsSyn ) -> (CExpr)-happyOut117 x = unsafeCoerce# x-{-# INLINE happyOut117 #-}-happyIn118 :: (Reversed [CExpr]) -> (HappyAbsSyn )-happyIn118 x = unsafeCoerce# x-{-# INLINE happyIn118 #-}-happyOut118 :: (HappyAbsSyn ) -> (Reversed [CExpr])-happyOut118 x = unsafeCoerce# x-{-# INLINE happyOut118 #-}-happyIn119 :: (Maybe CExpr) -> (HappyAbsSyn )-happyIn119 x = unsafeCoerce# x-{-# INLINE happyIn119 #-}-happyOut119 :: (HappyAbsSyn ) -> (Maybe CExpr)-happyOut119 x = unsafeCoerce# x-{-# INLINE happyOut119 #-}-happyIn120 :: (Maybe CExpr) -> (HappyAbsSyn )-happyIn120 x = unsafeCoerce# x-{-# INLINE happyIn120 #-}-happyOut120 :: (HappyAbsSyn ) -> (Maybe CExpr)-happyOut120 x = unsafeCoerce# x-{-# INLINE happyOut120 #-}-happyIn121 :: (CExpr) -> (HappyAbsSyn )-happyIn121 x = unsafeCoerce# x-{-# INLINE happyIn121 #-}-happyOut121 :: (HappyAbsSyn ) -> (CExpr)-happyOut121 x = unsafeCoerce# x-{-# INLINE happyOut121 #-}-happyIn122 :: (CConst) -> (HappyAbsSyn )-happyIn122 x = unsafeCoerce# x-{-# INLINE happyIn122 #-}-happyOut122 :: (HappyAbsSyn ) -> (CConst)-happyOut122 x = unsafeCoerce# x-{-# INLINE happyOut122 #-}-happyIn123 :: (CStrLit) -> (HappyAbsSyn )-happyIn123 x = unsafeCoerce# x-{-# INLINE happyIn123 #-}-happyOut123 :: (HappyAbsSyn ) -> (CStrLit)-happyOut123 x = unsafeCoerce# x-{-# INLINE happyOut123 #-}-happyIn124 :: (Reversed [CString]) -> (HappyAbsSyn )-happyIn124 x = unsafeCoerce# x-{-# INLINE happyIn124 #-}-happyOut124 :: (HappyAbsSyn ) -> (Reversed [CString])-happyOut124 x = unsafeCoerce# x-{-# INLINE happyOut124 #-}-happyIn125 :: (Ident) -> (HappyAbsSyn )-happyIn125 x = unsafeCoerce# x-{-# INLINE happyIn125 #-}-happyOut125 :: (HappyAbsSyn ) -> (Ident)-happyOut125 x = unsafeCoerce# x-{-# INLINE happyOut125 #-}-happyIn126 :: ([CAttr]) -> (HappyAbsSyn )-happyIn126 x = unsafeCoerce# x-{-# INLINE happyIn126 #-}-happyOut126 :: (HappyAbsSyn ) -> ([CAttr])-happyOut126 x = unsafeCoerce# x-{-# INLINE happyOut126 #-}-happyIn127 :: ([CAttr]) -> (HappyAbsSyn )-happyIn127 x = unsafeCoerce# x-{-# INLINE happyIn127 #-}-happyOut127 :: (HappyAbsSyn ) -> ([CAttr])-happyOut127 x = unsafeCoerce# x-{-# INLINE happyOut127 #-}-happyIn128 :: ([CAttr]) -> (HappyAbsSyn )-happyIn128 x = unsafeCoerce# x-{-# INLINE happyIn128 #-}-happyOut128 :: (HappyAbsSyn ) -> ([CAttr])-happyOut128 x = unsafeCoerce# x-{-# INLINE happyOut128 #-}-happyIn129 :: (Reversed [CAttr]) -> (HappyAbsSyn )-happyIn129 x = unsafeCoerce# x-{-# INLINE happyIn129 #-}-happyOut129 :: (HappyAbsSyn ) -> (Reversed [CAttr])-happyOut129 x = unsafeCoerce# x-{-# INLINE happyOut129 #-}-happyIn130 :: (Maybe CAttr) -> (HappyAbsSyn )-happyIn130 x = unsafeCoerce# x-{-# INLINE happyIn130 #-}-happyOut130 :: (HappyAbsSyn ) -> (Maybe CAttr)-happyOut130 x = unsafeCoerce# x-{-# INLINE happyOut130 #-}-happyIn131 :: (Reversed [CExpr]) -> (HappyAbsSyn )-happyIn131 x = unsafeCoerce# x-{-# INLINE happyIn131 #-}-happyOut131 :: (HappyAbsSyn ) -> (Reversed [CExpr])-happyOut131 x = unsafeCoerce# x-{-# INLINE happyOut131 #-}-happyInTok :: CToken -> (HappyAbsSyn )-happyInTok x = unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> CToken-happyOutTok x = unsafeCoerce# x-{-# INLINE happyOutTok #-}--happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x00\x00\x1d\x0f\xd3\x09\x31\x0f\x00\x00\x80\x07\x00\x00\x7f\x09\x77\x0f\x31\x0f\x00\x00\xc8\x09\x1f\x05\x05\x05\x7f\x03\xf0\x04\x65\x08\x54\x08\x49\x08\x3e\x08\xc6\x04\x00\x00\x2b\x08\xef\x07\x00\x00\x00\x00\x0b\x09\x00\x00\x00\x00\xcd\x0e\xcd\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x82\x04\xaf\x0e\x96\x0e\x00\x00\x00\x00\x00\x00\xf6\x07\x00\x00\x32\x0e\x14\x0e\x14\x0e\x48\x08\x47\x08\x24\x08\xb6\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x07\xe6\x07\x00\x00\x00\x00\x4a\x05\xd2\x07\xfb\x0d\xd0\x07\xd6\x07\xd3\x09\xf5\x07\x24\x00\xed\x07\xfb\x0d\xec\x07\xd5\x07\xc6\x07\x00\x00\x76\x07\x00\x00\xae\x07\x00\x00\x95\x04\x8e\x04\x01\x01\xd5\x11\x00\x00\x01\x01\x00\x00\x9a\x19\x9a\x19\x11\x18\x01\x18\x21\x08\x21\x08\x00\x00\x00\x00\x71\x07\x00\x00\xa6\x11\x00\x00\x00\x00\x00\x00\xd9\x01\x00\x00\x00\x00\x00\x00\x4a\x05\x89\x12\x00\x00\x3d\x01\x3d\x01\xcb\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x07\x1d\x0f\x55\x07\x00\x00\xb8\x07\x6f\x09\x7a\x01\x59\x07\x5b\x07\xb3\x12\x00\x00\x00\x00\x4b\x00\xb2\x07\xb4\x09\xaa\x07\x4b\x00\x86\x07\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x00\x00\xa7\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x18\x00\x00\x9d\x07\x00\x00\x94\x18\xff\x0a\x72\x07\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x77\x11\x97\x07\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x07\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x07\x00\x00\x6e\x02\x48\x02\x0f\x00\x52\x07\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x00\x00\x7b\x07\x00\x00\x4f\x07\x53\x07\x00\x00\x1b\x07\x00\x00\x1b\x07\x00\x00\x00\x00\xfb\x0d\xfb\x0d\x00\x00\x4d\x07\xfb\x0d\x41\x07\xfb\x0d\x00\x00\x43\x08\x14\x07\xd3\x09\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x65\x07\x00\x00\x2e\x07\xf4\x06\x00\x00\xc3\x1a\xc3\x1a\xfb\x0d\x00\x00\x0b\x09\x00\x00\x00\x00\xf0\x06\x00\x00\x00\x00\x0b\x09\x00\x00\x0b\x09\x00\x00\x00\x00\x00\x00\x4e\x07\x97\x03\xe7\x1a\xab\x04\xab\x04\x7a\x0a\x4c\x07\x4b\x07\x9f\x1a\xfb\x0d\xfb\x0d\x97\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xfb\x0d\x36\x04\x36\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x07\x6e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x09\xa3\x09\x8a\x04\x8a\x04\x4f\x04\x4f\x04\x4f\x04\x4f\x04\x7f\x03\x7f\x03\x1d\x04\x35\x07\x2b\x07\x16\x07\x0c\x07\xfb\x0d\x25\x07\x00\x00\xfb\x06\x00\x00\x61\x0d\x00\x00\x00\x00\x00\x00\xb7\x06\x57\x1a\x33\x1a\x48\x11\x00\x0f\x00\x00\x00\x00\x0f\x07\x0e\x07\x00\x00\xf3\x06\xdd\x06\xdb\x06\xc7\x06\xd3\x09\xdf\x07\xad\x06\x94\x06\x7c\x06\xd3\x09\xfb\x0d\x00\x00\xcb\x06\x6c\x19\xab\x06\xa7\x06\x00\x00\xc4\x06\x00\x00\xc3\x06\xc1\x06\xea\x00\xd8\x00\x38\x18\xa1\x06\x5d\x06\xaa\x06\x00\x00\x6f\x09\x38\x18\x86\x06\x00\x00\x00\x00\x1e\x19\x5b\x0b\x00\x00\x00\x00\xb1\x01\x93\x01\x8e\x06\x88\x06\x0f\x00\x47\x00\x93\x01\x00\x00\x38\x18\x66\x06\x00\x00\x49\x06\x00\x00\x6f\x09\x3e\x06\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x62\x06\x00\x00\x38\x18\x3d\x06\x00\x00\x9b\x0a\x00\x00\x29\x06\xe0\x0b\x09\x00\xce\x05\x74\x02\xff\x0f\x74\x02\x21\x08\x21\x08\xd0\x0f\x24\x06\xfb\x05\x00\x00\x1b\x01\x45\x19\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x19\x11\xd8\x00\xea\x10\x5a\x12\x6f\x09\x38\x18\x04\x06\x00\x00\x19\x06\x9e\x09\x12\x00\x12\x00\x0f\x00\x00\x00\x0f\x00\x00\x00\x0f\x00\x00\x00\x00\x00\xdc\x0c\x09\x06\xf4\x05\xcc\x03\x03\x06\xfe\x05\x77\x00\xca\x00\x00\x00\x00\x00\xef\x05\x00\x00\x00\x00\xcd\x02\x00\x00\xcb\x05\xcc\x03\xaa\x05\x00\x00\x00\x00\x00\x00\xdc\x0c\x4b\x09\x00\x00\x0f\x00\x00\x00\xfd\x0c\x00\x00\xc8\x05\xc1\x05\x8c\x05\x8c\x05\xbb\x10\x00\x00\xf1\x00\xc9\x00\x8c\x05\x00\x00\x56\x05\x66\x18\x00\x00\x53\x05\x00\x00\xf0\x18\xc2\x18\xa1\x0f\xde\x12\x53\x05\x53\x05\x00\x00\x72\x0f\x49\x07\x53\x05\x00\x00\x53\x05\x53\x05\x00\x00\xab\x04\x62\x0c\x9d\x05\x9b\x05\x09\x00\x00\x00\x90\x05\x46\x05\x37\x0a\x09\x00\x00\x00\x00\x00\x6f\x09\x38\x18\x6d\x05\x00\x00\x8f\x05\x8d\x05\xdc\x17\x00\x00\x00\x00\x00\x00\x2f\x09\x84\x05\x0e\x00\xbe\x00\x83\x05\x0f\x00\x0f\x00\x2c\x09\x00\x00\x00\x00\x00\x00\xe3\x0a\x65\x00\x00\x00\x00\x00\x81\x05\x79\x05\x10\x05\x00\x00\x00\x00\x00\x00\x35\x05\x35\x05\xd3\x09\xd3\x09\xd3\x09\x00\x00\xfb\x0d\xfb\x0d\xfb\x0d\x42\x05\x00\x00\xaa\x01\xc9\x03\xdf\x07\xf2\x04\x00\x00\x23\x05\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x8c\x10\xd8\x00\x5d\x10\x2d\x05\xa7\x08\x00\x00\x7b\x1a\x9a\x03\x7b\x1a\x1c\x05\x1c\x05\x1c\x05\x30\x0c\x00\x00\xa2\x09\x31\x05\x2f\x05\x2d\x00\x33\x12\x00\x00\x00\x00\xfe\x0b\xfb\x0d\x00\x00\xfb\x0d\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x02\xfd\x0c\xdc\x02\x00\x00\x99\x01\x00\x00\xd4\x04\xfb\x0d\x9a\x03\xfe\x0b\x21\x05\x0d\x05\x13\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x04\x09\x05\xed\x02\x00\x00\xf9\x04\x00\x00\xc0\x04\x2e\x10\xc0\x04\xc0\x04\xc0\x04\x00\x00\xa3\x03\x89\x04\x00\x00\xa2\x04\x2a\x00\xd3\x09\xc7\x04\x9c\x04\x97\x04\x7f\x04\x00\x00\x00\x00\x88\x04\x88\x04\xa1\x04\x00\x00\x00\x00\x22\x09\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0a\x0f\x00\x00\x00\xaf\x17\xd4\x02\x00\x00\xa0\x03\x98\x03\x0f\x1a\xc2\x12\x00\x00\x00\x00\xbe\x19\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x04\x9a\x04\x8b\x04\x86\x04\x09\x00\x0a\x04\x00\x00\x7a\x04\x00\x00\x00\x00\x68\x04\xfb\x0d\x00\x00\x00\x00\x00\x00\xb4\x04\x9f\x00\x04\x12\x00\x00\x00\x00\xdc\x0a\x3e\x09\x24\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x01\x2b\x00\x2b\x00\x16\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x02\xfb\x0d\xf4\x00\x00\x00\xe4\x0c\x64\x04\x77\x00\x00\x00\x00\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\x2b\x00\x5f\x01\xcd\x00\x3e\x04\x00\x00\x00\x00\xfb\x0d\x3c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x03\x1b\x04\xfb\x0d\x9e\x00\xeb\x19\xc8\x03\x00\x00\xc8\x03\x00\x00\xc8\x03\x06\x04\xfb\x0d\x00\x00\x00\x00\xcd\x00\x1f\x09\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x09\xfb\x0d\xfb\x0d\xf5\x03\x00\x00\x0a\x01\xef\x03\x00\x00\x1a\x04\x49\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x40\x03\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x97\x01\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x00\x00\x00\x00\x80\x0c\x00\x00\x00\x00\xfb\x0d\x63\x0b\x00\x00\x00\x00\x00\x00\x03\x04\x00\x00\x01\x04\xe1\x03\xfb\x0d\x2a\x00\xb6\x03\x2a\x00\x00\x00\xd8\x03\xd3\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x00\x00\x9e\x00\xd4\x02\x6a\x03\x00\x00\xfb\x0d\x00\x00\x00\x00\xb9\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x4a\x03\x4a\x03\x00\x00\xd3\x09\xd3\x09\xd5\x00\x00\x00\x00\x00\xa8\x03\x3b\x03\x3b\x03\x00\x00\x00\x00\x7a\x03\x00\x00\x00\x00\x74\x03\x72\x03\x00\x00\x46\x03\x0b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\xfb\x0d\xfb\x0d\x6c\x03\x5b\x03\x17\x03\xe9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x36\x03\x71\x00\xd3\x06\xc6\x1d\x3c\x03\x38\x00\x00\x00\x00\x00\xc5\x02\x35\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x71\x0d\xa4\x0b\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x02\xd5\x0a\xb9\x0a\x00\x00\x00\x00\x00\x00\xa7\x02\x00\x00\x20\x0c\xbe\x03\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x03\x1a\x00\x00\x00\x76\x1f\x00\x00\x00\x00\xb8\x06\x00\x00\x95\x02\x00\x00\x4c\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x00\x00\x00\x00\x00\x00\x2a\x06\xc3\x00\x00\x00\x8a\x05\x00\x00\x14\x00\x16\x01\x6c\x02\x7d\x01\xa2\x01\xcb\x00\x00\x00\x00\x00\x96\x08\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x99\x08\xe2\x02\x00\x00\x00\x00\xbb\x02\x15\x01\x00\x00\xa8\x0a\xd7\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\xca\x15\x71\x02\x5d\x02\x6a\x02\x77\x08\x00\x00\x00\x00\x70\x02\x00\x00\x5b\x08\x00\x00\x40\x00\xc6\x02\x00\x00\x00\x00\x00\x00\x52\x02\x9e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\x04\x00\x00\x66\x02\x00\x00\xa8\x13\x16\x17\xa9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x51\x02\x90\x02\xec\x00\x00\x00\x00\x00\x1a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x02\x4f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x02\x9a\x13\xe8\x16\x35\x08\x75\x02\x00\x00\x00\x00\x00\x00\x4a\x02\x5c\x02\x00\x00\x00\x00\x00\x00\x62\x02\x31\x02\x56\x02\xf3\x07\x00\x00\xee\x07\x00\x00\x00\x00\xab\x1d\x90\x1d\x00\x00\x00\x00\x75\x1d\x00\x00\x5a\x1d\x00\x00\x98\x06\x00\x00\x4e\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x01\xe9\x07\x00\x00\x7b\x16\x53\x16\x5b\x1f\x00\x00\xe7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x02\x00\x00\x5b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x69\x05\x9b\x00\x78\x00\x50\x00\x89\x16\x00\x00\x00\x00\xac\x03\x3f\x1d\xc7\x1f\x24\x1d\xe2\x1f\x08\x15\x84\x15\xfd\x1f\xf1\x0b\x6f\x0b\xf0\x0c\xbb\x0c\x40\x0c\x3a\x0b\x9b\x0c\x1a\x0b\xfc\x07\x26\x07\xc1\x0b\x2c\x0a\x9d\x09\x00\x00\x40\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x1d\xee\x1c\xdb\x01\xcd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x99\x07\x00\x00\x00\x00\x00\x00\xc6\x01\x61\x04\x00\x00\x73\x13\xda\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x06\x35\x02\x33\x02\xea\x01\x7e\x01\x18\x06\x25\x1f\x00\x00\x00\x00\xa6\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x03\x91\x20\x87\x04\xdd\x01\xce\x07\x00\x00\x00\x00\xa6\x15\x4c\x04\xb7\x01\x00\x00\x00\x00\xda\x13\x26\x03\x00\x00\x00\x00\x6c\x05\x30\x13\x00\x00\x00\x00\xa2\x07\x36\x02\xb6\x0b\x00\x00\x26\x04\xa0\x01\x00\x00\x00\x00\xa7\x01\x4e\x15\xc7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x02\xb0\x01\x00\x00\x00\x00\xeb\x03\x60\x01\x00\x00\xa9\x16\x00\x00\x00\x00\xc4\x1b\x6a\x07\x14\x01\x40\x20\x18\x14\x28\x20\x9f\x01\x18\x00\x2c\x14\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\x00\x00\x00\x00\x00\x00\x84\x20\x47\x07\x77\x20\x68\x14\xaf\x14\x2a\x15\xc5\x03\x4d\x01\x00\x00\x00\x00\x73\x07\xd3\x01\xeb\x04\x27\x07\x00\x00\x20\x07\x00\x00\x15\x07\x00\x00\x00\x00\xbf\x03\x00\x00\x00\x00\xb9\x01\x00\x00\x00\x00\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x04\x15\x07\x00\x00\xd9\x06\x00\x00\xa9\x1b\x00\x00\x00\x00\x00\x00\x16\x02\xf7\x01\xa9\x14\x00\x00\x6f\x13\x0d\x0e\xf4\x01\x00\x00\x00\x00\x0a\x14\x00\x00\x96\x06\x00\x00\x00\x04\x00\x00\x3e\x13\x60\x17\x76\x06\x68\x06\x00\x00\x06\x13\x59\x17\x2b\x06\x00\x00\x10\x06\xe2\x05\x00\x00\xdb\x00\x62\x17\x00\x00\x00\x00\xdf\x05\x00\x00\x00\x00\x00\x00\xe0\x16\xd9\x05\x00\x00\x00\x00\xd2\x14\x64\x03\x42\x01\x00\x00\x00\x00\x00\x00\x31\x16\x5c\x01\x00\x00\x00\x00\xff\x05\x00\x00\xf9\x08\x60\x07\x00\x00\xf1\x05\xe4\x05\xe1\x05\x00\x00\x00\x00\x00\x00\x92\x0c\x18\x04\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00\x5e\x01\x57\x01\xae\x05\x93\x05\x78\x05\x00\x00\x31\x1c\x16\x1c\xd3\x1c\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x01\x33\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x09\x43\x01\xc4\x07\x3e\x01\x00\x00\x36\x07\x00\x00\x40\x16\xd5\xff\xe1\x14\x00\x00\x00\x00\x00\x00\xc7\x02\x00\x00\x8a\x02\x00\x00\x00\x00\xf9\x00\x96\x14\x00\x00\x00\x00\x13\x1b\x0a\x1f\x00\x00\x91\x1f\x00\x00\xef\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x1b\x9d\x02\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x1e\xd3\x00\xf1\x1a\x00\x00\x00\x00\x7f\x00\x00\x00\xb4\x05\x00\x00\x00\x00\x00\x00\x00\x00\xce\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x01\x67\x01\x36\x01\x1d\x01\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\xff\x0e\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x80\x00\x00\x00\x00\x00\x00\x00\x99\x05\x00\x00\x00\x00\x6b\x0e\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x09\x5c\x05\x00\x00\x31\x16\x6a\x20\x00\x00\x00\x00\x00\x00\x04\x04\xb9\x16\x00\x00\x00\x00\x22\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x04\xb0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x1e\x00\x00\x00\x00\x00\x00\x1a\x17\xfa\x05\x64\x14\x00\x00\x00\x00\x80\x16\x9a\x06\xca\x04\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x02\xaa\x0d\x36\x0d\xfa\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x1e\xd9\xff\x00\x00\x50\x1b\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x91\x06\xbf\x03\x5a\x05\x00\x00\x00\x00\x00\x00\x83\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x68\x1e\x57\x04\x61\x04\x78\x04\x00\x00\x09\x04\x00\x00\x86\x03\x00\x00\x4d\x1e\x00\x00\x00\x00\x5a\x05\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x04\xfb\x1b\xe0\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\x00\x00\xb8\x1c\x44\x00\x00\x00\x00\x00\x00\x00\x2c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x1b\x00\x00\x00\x00\x73\x1b\x00\x00\x00\x00\x32\x1e\x35\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x1c\xf5\xff\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x1e\x00\x00\x5f\x03\x5b\x20\xd0\xff\x00\x00\xfc\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x1d\x00\x00\x00\x00\x00\x00\xec\x01\xd0\xff\x00\x00\xd6\x04\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\xa5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xff\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x1c\x67\x1c\x00\x00\x00\x00\x00\x00\x91\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\xfa\xff\x3d\xfe\x00\x00\x00\x00\x00\x00\x3d\xfe\x9b\xfe\x8f\xfe\x7d\xfe\x00\x00\x7b\xfe\x77\xfe\x74\xfe\x71\xfe\x6c\xfe\x69\xfe\x67\xfe\x65\xfe\x63\xfe\x61\xfe\x5f\xfe\x5c\xfe\x4f\xfe\x00\x00\xa5\xfe\xa4\xfe\x3d\xfe\x7e\xfe\x7f\xfe\x00\x00\x00\x00\x81\xfe\x80\xfe\x82\xfe\x83\xfe\x00\x00\x00\x00\x00\x00\x45\xfe\x46\xfe\x44\xfe\x43\xfe\xa6\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\xe3\xff\xe2\xff\xe1\xff\xe0\xff\xdf\xff\xde\xff\x00\x00\x00\x00\xc7\xff\xd7\xff\xb5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\xfe\x00\x00\x00\x00\xa6\xfe\x3e\xfe\x00\x00\xf7\xff\x00\x00\xf6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x98\xff\x00\x00\x77\xff\x9b\xff\x8a\xff\x9a\xff\x89\xff\x99\xff\x88\xff\x6c\xff\x52\xff\x3d\xfe\x51\xff\x00\x00\xe5\xff\x0a\xff\x08\xff\x09\xff\xa6\xff\xfb\xfe\xfa\xfe\x00\x00\x3c\xfe\x3b\xfe\x00\x00\x3d\xfe\x00\x00\x8d\xff\x7e\xff\x86\xff\x7d\xff\x81\xff\x3d\xfe\x8f\xff\x82\xff\x84\xff\x83\xff\x8c\xff\x85\xff\x80\xff\x8e\xff\x4d\xff\x90\xff\x00\x00\x8b\xff\x4c\xff\x7f\xff\x87\xff\xfe\xfe\x60\xff\x00\x00\x3d\xfe\x00\x00\xf5\xff\x00\x00\x3d\xfe\x00\x00\x3c\xfe\x00\x00\x00\x00\x07\xff\xf9\xfe\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\xff\x76\xff\x6b\xff\x26\xff\xa6\xff\x3a\xfe\x00\x00\x5a\xff\x2b\xff\x2f\xff\x2c\xff\x2d\xff\x2e\xff\x3d\xfe\x03\xff\xd7\xfe\xd5\xfe\xf4\xfe\x49\xfe\x00\x00\x96\xff\x75\xff\x6a\xff\x2a\xff\x26\xff\xa6\xff\x00\x00\x00\x00\x5d\xff\x00\x00\x66\xff\x54\xff\x53\xff\x62\xff\x92\xff\x91\xff\x61\xff\x6f\xff\x68\xff\x67\xff\xa9\xff\x6e\xff\x6d\xff\xaa\xff\x7b\xff\x72\xff\x73\xff\x71\xff\x7a\xff\x79\xff\x78\xff\x00\x00\x26\xff\x27\xff\x23\xff\x20\xff\x1f\xff\x24\xff\x16\xff\x28\xff\xa6\xff\x00\x00\x3d\xfe\x22\xff\x00\x00\x94\xff\x7c\xff\x70\xff\x26\xff\xa6\xff\x93\xff\x00\x00\x65\xff\x00\x00\x26\xff\xa6\xff\x3d\xfe\xa8\xff\x3d\xfe\xa7\xff\xf3\xff\x00\x00\x00\x00\x4a\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x4b\xfe\x00\x00\x00\x00\xbc\xff\x7d\xfe\x47\xfe\x00\x00\xbb\xff\x00\x00\xb4\xff\xd5\xff\x3d\xfe\xc6\xff\x3d\xfe\x3d\xfe\x00\x00\x85\xfe\x3d\xfe\x86\xfe\x8c\xfe\x42\xfe\x41\xfe\x8a\xfe\x3d\xfe\x88\xfe\x3d\xfe\x84\xfe\x8d\xfe\x8e\xfe\x00\x00\xde\xfe\x8a\xff\x89\xff\x88\xff\x00\x00\x00\x00\x00\x00\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\xfe\x00\x00\x5a\xfe\x56\xfe\x55\xfe\x59\xfe\x58\xfe\x57\xfe\x52\xfe\x51\xfe\x50\xfe\x54\xfe\x53\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x95\xfe\x94\xfe\xf8\xff\xf9\xff\x97\xfe\x96\xfe\x00\x00\x00\x00\x91\xfe\x99\xfe\x5b\xfe\x78\xfe\x79\xfe\x7a\xfe\x75\xfe\x76\xfe\x72\xfe\x73\xfe\x6d\xfe\x6f\xfe\x6e\xfe\x70\xfe\x6a\xfe\x6b\xfe\x68\xfe\x66\xfe\x64\xfe\x62\xfe\x00\x00\x00\x00\x60\xfe\x4d\xfe\x4e\xfe\xa3\xfe\x00\x00\xdb\xfe\xd8\xfe\xda\xfe\xd9\xfe\x00\x00\xdc\xfe\xf4\xfe\xc8\xfe\xdd\xfe\xa2\xfe\x00\x00\x00\x00\x40\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\xff\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x3d\xfe\x00\x00\x00\x00\xbe\xff\x00\x00\xba\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\xb6\xfe\x3d\xfe\x00\x00\xf1\xff\x3d\xfe\x3d\xfe\xb6\xfe\xef\xff\x21\xff\xf4\xfe\x00\x00\x1e\xff\x12\xff\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\xff\x3d\xfe\xb6\xfe\xf0\xff\x4e\xff\x4b\xff\x3d\xfe\x00\x00\x95\xff\x74\xff\x69\xff\x29\xff\x26\xff\xa6\xff\x00\x00\x57\xff\x3d\xfe\xb6\xfe\xee\xff\x49\xfe\x48\xfe\x00\x00\x49\xfe\x82\xfe\x3d\xfe\xef\xfe\xeb\xfe\xe8\xfe\x9a\xff\x89\xff\xe4\xfe\x00\x00\xf3\xfe\xf1\xfe\x00\x00\x3c\xfe\xe0\xfe\xd4\xfe\xec\xff\xa5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x3d\xfe\x3d\xfe\xb6\xfe\xf2\xff\x00\x00\x00\x00\x00\x00\x3d\xfe\xf6\xfe\xfd\xfe\x02\xff\x06\xff\x09\xff\x05\xff\xf8\xfe\x00\x00\x00\x00\x34\xff\x00\x00\x00\x00\x00\x00\x36\xfe\x00\x00\x38\xfe\x34\xfe\x35\xfe\x5f\xff\x5e\xff\x00\x00\x33\xff\x31\xff\x00\x00\x00\x00\x04\xff\x01\xff\xf5\xfe\x00\x00\x00\x00\xfc\xfe\x00\xff\xa1\xff\x00\x00\xeb\xff\x00\x00\x00\x00\x26\xff\x26\xff\x00\x00\x28\xff\x00\x00\x3d\xfe\x26\xff\xf7\xfe\x00\x00\x3d\xfe\xd6\xfe\x3d\xfe\xe2\xfe\x00\x00\xe3\xfe\xf4\xfe\xc8\xfe\x3d\xfe\x3d\xfe\xe7\xfe\xf4\xfe\xc8\xfe\x3d\xfe\xea\xfe\x3d\xfe\x3d\xfe\xee\xfe\x3d\xfe\x00\x00\x00\x00\x00\x00\x82\xfe\xd3\xfe\x00\x00\x00\x00\x49\xfe\x82\xfe\xa3\xff\xe7\xff\x3d\xfe\x3d\xfe\xb6\xfe\xed\xff\x00\x00\x00\x00\x3d\xfe\x4b\xff\x9d\xff\xe9\xff\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x0f\xff\x1a\xff\x00\x00\x1d\xff\x1c\xff\x11\xff\x00\x00\x00\x00\xa4\xff\xe8\xff\x00\x00\x00\x00\x00\x00\x9f\xff\x9e\xff\xea\xff\x26\xff\x26\xff\x00\x00\x00\x00\x00\x00\xbd\xff\x4b\xfe\x4b\xfe\x00\x00\x00\x00\xdc\xff\x00\x00\x00\x00\xd6\xff\x00\x00\xd3\xff\x00\x00\xd4\xff\xd2\xff\xd0\xff\xd1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x60\xff\x3d\xfe\xdd\xff\x3d\xfe\x00\x00\x3d\xfe\x00\x00\x89\xfe\x87\xfe\x3d\xfe\xc6\xfe\xc4\xfe\x00\x00\x00\x00\x00\x00\x3c\xfe\xba\xfe\x7c\xfe\xb4\xfe\x00\x00\x5d\xfe\x00\x00\x98\xfe\x00\x00\x9a\xfe\x90\xfe\x5e\xfe\x4c\xfe\xb3\xfe\x00\x00\x00\x00\x00\x00\xac\xfe\xad\xfe\xb9\xfe\x00\x00\x00\x00\x00\x00\xb4\xfe\x00\x00\x00\x00\x00\x00\xc1\xfe\xc2\xfe\xc0\xfe\xc3\xfe\xc5\xfe\xc7\xfe\x3c\xfe\x00\x00\x00\x00\x9e\xfe\x00\x00\xcf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x00\x00\xc9\xff\x00\x00\xb3\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xff\xc3\xff\xc2\xff\xb6\xfe\xb6\xfe\x00\x00\x64\xff\x63\xff\x00\x00\x1b\xff\x10\xff\x00\x00\x15\xff\x19\xff\x0d\xff\x0e\xff\x00\x00\x18\xff\x0b\xff\x3d\xfe\x40\xff\x49\xff\x00\x00\x00\x00\x3d\xfe\x3c\xfe\x4a\xff\x4f\xff\x3d\xfe\x5c\xff\x5b\xff\xa2\xff\xe6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x82\xfe\x3d\xfe\xd1\xfe\x00\x00\xd2\xfe\xcc\xfe\x00\x00\x00\x00\xed\xfe\xec\xfe\xe9\xfe\x3d\xfe\xc4\xfe\x3c\xfe\xe6\xfe\xe5\xfe\x3d\xfe\xc4\xfe\x3c\xfe\xe1\xfe\xf0\xfe\xf2\xfe\xdf\xfe\x00\x00\x00\x00\x00\x00\x26\xff\x59\xff\x58\xff\xb5\xfe\xff\xfe\xf4\xff\x00\x00\x00\x00\x00\x00\x38\xff\x00\x00\x00\x00\x36\xfe\x37\xfe\x39\xfe\x31\xfe\x00\x00\x32\xfe\x32\xff\x37\xff\x30\xff\x00\x00\x36\xff\x00\x00\x3c\xfe\x3c\xfe\x00\x00\xcf\xfe\xcb\xfe\x00\x00\x00\x00\xd0\xfe\xca\xfe\x56\xff\x55\xff\x46\xff\x44\xff\x3c\xff\x00\x00\x00\x00\x3c\xfe\x3d\xfe\x48\xff\x3d\xfe\x47\xff\x3d\xfe\x3f\xff\x00\x00\x50\xff\x17\xff\x00\x00\x00\x00\x14\xff\x25\xff\x9c\xff\xa0\xff\x00\x00\x4b\xfe\x4b\xfe\x00\x00\xda\xff\x00\x00\xb2\xff\xb1\xff\x00\x00\x00\x00\xb9\xff\xd8\xff\xc8\xff\xce\xff\xcc\xff\xcd\xff\x00\x00\xcb\xff\x9f\xfe\xa0\xfe\x00\x00\x00\x00\xa1\xfe\xbf\xfe\xbd\xfe\xbe\xfe\xbc\xfe\x00\x00\xa9\xfe\x00\x00\xae\xfe\xab\xfe\xa8\xfe\xaf\xfe\xb2\xfe\x00\x00\x93\xfe\xb1\xfe\x00\x00\x92\xfe\xaa\xfe\x00\x00\x00\x00\xb8\xfe\xbb\xfe\x9d\xfe\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\xff\xc1\xff\x00\x00\x00\x00\xc4\xff\x13\xff\x3e\xff\x00\x00\x42\xff\x00\x00\x00\x00\x45\xff\x3b\xff\x00\x00\x39\xff\xc9\xfe\x00\x00\xce\xfe\x35\xff\x33\xfe\x00\x00\x30\xfe\xcd\xfe\x3a\xff\x3d\xfe\x43\xff\x3d\xff\x00\x00\x00\x00\x00\x00\xb8\xff\xb0\xff\x00\x00\x00\x00\x00\x00\x9c\xfe\xb7\xfe\x00\x00\xb0\xfe\xa7\xfe\x00\x00\x00\x00\xaf\xff\x00\x00\x00\x00\xd6\xff\xc0\xff\x41\xff\xbf\xff\x00\x00\xac\xff\xb7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\xff\xb6\xff\xad\xff\xae\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x02\x00\x03\x00\x04\x00\x36\x00\x74\x00\x15\x00\x16\x00\x17\x00\x15\x00\x16\x00\x17\x00\x17\x00\x04\x00\x35\x00\x01\x00\x01\x00\x18\x00\x03\x00\x01\x00\x04\x00\x02\x00\x1c\x00\x02\x00\x19\x00\x74\x00\x1b\x00\x0d\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x01\x00\x03\x00\x14\x00\x02\x00\x5b\x00\x0d\x00\x33\x00\x39\x00\x20\x00\x21\x00\x37\x00\x23\x00\x0d\x00\x21\x00\x02\x00\x03\x00\x04\x00\x1e\x00\x2e\x00\x2a\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x79\x00\x01\x00\x79\x00\x36\x00\x76\x00\x01\x00\x2e\x00\x36\x00\x76\x00\x36\x00\x19\x00\x09\x00\x1b\x00\x0d\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x74\x00\x01\x00\x5e\x00\x74\x00\x74\x00\x5c\x00\x33\x00\x5e\x00\x74\x00\x5c\x00\x37\x00\x5e\x00\x5e\x00\x0d\x00\x02\x00\x03\x00\x04\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x42\x00\x43\x00\x44\x00\x5b\x00\x36\x00\x5c\x00\x5d\x00\x5e\x00\x19\x00\x5e\x00\x1b\x00\x79\x00\x1d\x00\x1e\x00\x1f\x00\x79\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x01\x00\x01\x00\x79\x00\x03\x00\x5c\x00\x33\x00\x5e\x00\x74\x00\x5c\x00\x37\x00\x5e\x00\x02\x00\x0d\x00\x0d\x00\x36\x00\x36\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x79\x00\x76\x00\x21\x00\x1e\x00\x23\x00\x23\x00\x01\x00\x07\x00\x5c\x00\x5d\x00\x5e\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x7b\x00\x79\x00\x01\x00\x0d\x00\x02\x00\x33\x00\x01\x00\x2c\x00\x36\x00\x36\x00\x2a\x00\x5c\x00\x54\x00\x36\x00\x0d\x00\x02\x00\x54\x00\x01\x00\x0d\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x43\x00\x20\x00\x21\x00\x0d\x00\x23\x00\x48\x00\x77\x00\x78\x00\x79\x00\x01\x00\x21\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x79\x00\x01\x00\x1e\x00\x2a\x00\x56\x00\x33\x00\x0d\x00\x79\x00\x36\x00\x5c\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x00\x5c\x00\x5d\x00\x36\x00\x01\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x2d\x00\x02\x00\x21\x00\x0d\x00\x23\x00\x43\x00\x36\x00\x78\x00\x79\x00\x79\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x5c\x00\x5d\x00\x5e\x00\x02\x00\x07\x00\x33\x00\x01\x00\x2d\x00\x36\x00\x56\x00\x07\x00\x5c\x00\x5d\x00\x5e\x00\x1e\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x21\x00\x21\x00\x23\x00\x23\x00\x5c\x00\x5d\x00\x79\x00\x07\x00\x01\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x07\x00\x79\x00\x2a\x00\x5c\x00\x04\x00\x33\x00\x76\x00\x0d\x00\x37\x00\x36\x00\x5c\x00\x5d\x00\x5e\x00\x5c\x00\x5d\x00\x77\x00\x78\x00\x79\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x21\x00\x01\x00\x23\x00\x43\x00\x20\x00\x21\x00\x79\x00\x23\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x0d\x00\x2a\x00\x2b\x00\x2c\x00\x02\x00\x33\x00\x79\x00\x1c\x00\x36\x00\x56\x00\x33\x00\x7a\x00\x7b\x00\x36\x00\x1c\x00\x5c\x00\x5d\x00\x5e\x00\x4b\x00\x41\x00\x42\x00\x43\x00\x44\x00\x74\x00\x41\x00\x42\x00\x43\x00\x44\x00\x21\x00\x2d\x00\x23\x00\x77\x00\x78\x00\x79\x00\x79\x00\x79\x00\x39\x00\x2a\x00\x2b\x00\x2c\x00\x01\x00\x36\x00\x54\x00\x39\x00\x2a\x00\x5c\x00\x33\x00\x5e\x00\x03\x00\x36\x00\x21\x00\x06\x00\x0d\x00\x54\x00\x43\x00\x05\x00\x06\x00\x07\x00\x2c\x00\x48\x00\x41\x00\x42\x00\x43\x00\x44\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x36\x00\x54\x00\x56\x00\x78\x00\x79\x00\x1f\x00\x34\x00\x35\x00\x5c\x00\x79\x00\x5e\x00\x0d\x00\x20\x00\x21\x00\x2a\x00\x20\x00\x21\x00\x2d\x00\x05\x00\x06\x00\x07\x00\x1e\x00\x09\x00\x1a\x00\x0b\x00\x0c\x00\x0d\x00\x07\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x2d\x00\x36\x00\x5c\x00\x5d\x00\x36\x00\x19\x00\x01\x00\x1b\x00\x03\x00\x1d\x00\x1e\x00\x1f\x00\x79\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x34\x00\x35\x00\x5c\x00\x5d\x00\x5e\x00\x74\x00\x33\x00\x54\x00\x0a\x00\x79\x00\x37\x00\x5a\x00\x0e\x00\x5c\x00\x76\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x54\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x1c\x00\x73\x00\x74\x00\x1c\x00\x76\x00\x42\x00\x43\x00\x44\x00\x79\x00\x2c\x00\x5a\x00\x79\x00\x5c\x00\x30\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x39\x00\x6e\x00\x76\x00\x39\x00\x54\x00\x1c\x00\x73\x00\x74\x00\x4b\x00\x76\x00\x77\x00\x78\x00\x79\x00\x05\x00\x06\x00\x07\x00\x0a\x00\x09\x00\x79\x00\x0b\x00\x0c\x00\x0d\x00\x76\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x1c\x00\x78\x00\x79\x00\x1c\x00\x19\x00\x39\x00\x1b\x00\x76\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x77\x00\x78\x00\x79\x00\x1c\x00\x39\x00\x33\x00\x07\x00\x39\x00\x1c\x00\x37\x00\x1c\x00\x1c\x00\x01\x00\x1a\x00\x2a\x00\x3c\x00\x3d\x00\x2d\x00\x01\x00\x1a\x00\x03\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x07\x00\x22\x00\x23\x00\x1a\x00\x25\x00\x0d\x00\x27\x00\x39\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x39\x00\x07\x00\x39\x00\x39\x00\x20\x00\x21\x00\x33\x00\x5a\x00\x76\x00\x5c\x00\x37\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x36\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x4c\x00\x73\x00\x74\x00\x1a\x00\x76\x00\x77\x00\x78\x00\x79\x00\x79\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5a\x00\x50\x00\x5c\x00\x1a\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x07\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x07\x00\x73\x00\x74\x00\x5c\x00\x5d\x00\x77\x00\x78\x00\x79\x00\x01\x00\x79\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x2a\x00\x74\x00\x03\x00\x2d\x00\x0d\x00\x06\x00\x22\x00\x23\x00\x79\x00\x25\x00\x76\x00\x27\x00\x79\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x02\x00\x03\x00\x36\x00\x1e\x00\x06\x00\x33\x00\x58\x00\x59\x00\x2a\x00\x37\x00\x36\x00\x2d\x00\x1f\x00\x1a\x00\x36\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x07\x00\x22\x00\x23\x00\x76\x00\x25\x00\x4c\x00\x27\x00\x08\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x33\x00\x5a\x00\x75\x00\x5c\x00\x37\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x76\x00\x6e\x00\x5c\x00\x5d\x00\x6d\x00\x4c\x00\x73\x00\x74\x00\x00\x00\x01\x00\x77\x00\x78\x00\x79\x00\x78\x00\x79\x00\x01\x00\x77\x00\x78\x00\x79\x00\x5a\x00\x2b\x00\x5c\x00\x5b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x07\x00\x6e\x00\x41\x00\x42\x00\x43\x00\x44\x00\x73\x00\x74\x00\x36\x00\x02\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x5b\x00\x41\x00\x42\x00\x43\x00\x44\x00\x07\x00\x46\x00\x47\x00\x02\x00\x22\x00\x23\x00\x2b\x00\x25\x00\x01\x00\x27\x00\x01\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4e\x00\x4f\x00\x50\x00\x19\x00\x04\x00\x1b\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x37\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x32\x00\x13\x00\x14\x00\x15\x00\x16\x00\x5b\x00\x33\x00\x01\x00\x4c\x00\x03\x00\x37\x00\x5c\x00\x5d\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x5c\x00\x5d\x00\x5a\x00\x5e\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x5a\x00\x6e\x00\x5c\x00\x04\x00\x5e\x00\x5f\x00\x73\x00\x74\x00\x2a\x00\x2b\x00\x77\x00\x78\x00\x79\x00\x21\x00\x5e\x00\x23\x00\x2a\x00\x2b\x00\x07\x00\x2a\x00\x2b\x00\x23\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x02\x00\x2a\x00\x2b\x00\x2c\x00\x33\x00\x02\x00\x77\x00\x78\x00\x79\x00\x19\x00\x33\x00\x1b\x00\x2b\x00\x1d\x00\x1e\x00\x1f\x00\x04\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x2a\x00\x2b\x00\x36\x00\x5c\x00\x5d\x00\x33\x00\x4e\x00\x4f\x00\x50\x00\x37\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x19\x00\x04\x00\x1b\x00\x04\x00\x1d\x00\x1e\x00\x1f\x00\x2c\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x5a\x00\x2a\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x33\x00\x79\x00\x2b\x00\x21\x00\x37\x00\x23\x00\x1e\x00\x79\x00\x5e\x00\x23\x00\x5c\x00\x5d\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x33\x00\x17\x00\x18\x00\x36\x00\x33\x00\x79\x00\x1e\x00\x36\x00\x5e\x00\x77\x00\x78\x00\x79\x00\x19\x00\x04\x00\x1b\x00\x04\x00\x1d\x00\x1e\x00\x1f\x00\x30\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\x11\x00\x12\x00\x77\x00\x78\x00\x79\x00\x19\x00\x02\x00\x1b\x00\x5e\x00\x1d\x00\x1e\x00\x1f\x00\x04\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x79\x00\x36\x00\x77\x00\x78\x00\x79\x00\x04\x00\x33\x00\x77\x00\x78\x00\x79\x00\x37\x00\x23\x00\x41\x00\x42\x00\x43\x00\x44\x00\x32\x00\x04\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x04\x00\x78\x00\x79\x00\x5c\x00\x5d\x00\x33\x00\x0b\x00\x0c\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x02\x00\x77\x00\x78\x00\x79\x00\x19\x00\x02\x00\x1b\x00\x02\x00\x1d\x00\x1e\x00\x1f\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x01\x00\x2d\x00\x03\x00\x2a\x00\x2b\x00\x33\x00\x3c\x00\x78\x00\x79\x00\x37\x00\x2a\x00\x2b\x00\x0d\x00\x2b\x00\x77\x00\x78\x00\x79\x00\x19\x00\x2b\x00\x1b\x00\x02\x00\x1d\x00\x1e\x00\x1f\x00\x2b\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x79\x00\x05\x00\x06\x00\x07\x00\x5c\x00\x5d\x00\x33\x00\x36\x00\x1c\x00\x1d\x00\x37\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x36\x00\x21\x00\x2c\x00\x23\x00\x43\x00\x77\x00\x78\x00\x79\x00\x1e\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x43\x00\x05\x00\x06\x00\x07\x00\x02\x00\x48\x00\x33\x00\x77\x00\x78\x00\x79\x00\x56\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x17\x00\x18\x00\x5e\x00\x56\x00\x02\x00\x42\x00\x43\x00\x44\x00\x02\x00\x5c\x00\x5d\x00\x5e\x00\x05\x00\x06\x00\x07\x00\x11\x00\x12\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x37\x00\x02\x00\x77\x00\x78\x00\x79\x00\x77\x00\x78\x00\x79\x00\x0b\x00\x0c\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5a\x00\x02\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x79\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x2c\x00\x73\x00\x74\x00\x1e\x00\x76\x00\x5a\x00\x5c\x00\x5c\x00\x2d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x1e\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x30\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x5b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x02\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x36\x00\x73\x00\x74\x00\x02\x00\x76\x00\x02\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x1f\x00\x43\x00\x04\x00\x02\x00\x36\x00\x02\x00\x48\x00\x4d\x00\x04\x00\x3b\x00\x3c\x00\x3d\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x04\x00\x56\x00\x04\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x3b\x00\x3c\x00\x3d\x00\x4e\x00\x4f\x00\x50\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5e\x00\x5c\x00\x05\x00\x06\x00\x07\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x30\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x38\x00\x02\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x02\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5a\x00\x79\x00\x5c\x00\x2b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x79\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x1f\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x02\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x02\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x02\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x2c\x00\x73\x00\x74\x00\x1f\x00\x76\x00\x2a\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x5e\x00\x04\x00\x04\x00\x4e\x00\x4f\x00\x50\x00\x4e\x00\x4f\x00\x50\x00\x3b\x00\x3c\x00\x3d\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x4e\x00\x4f\x00\x50\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x4e\x00\x4f\x00\x50\x00\x77\x00\x78\x00\x79\x00\x05\x00\x06\x00\x07\x00\x77\x00\x78\x00\x79\x00\x77\x00\x78\x00\x79\x00\x1f\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x38\x00\x01\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2c\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5a\x00\x79\x00\x5c\x00\x2c\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x1f\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x02\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x08\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x1f\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x5e\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x1f\x00\x73\x00\x74\x00\x02\x00\x76\x00\x02\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x2b\x00\x42\x00\x43\x00\x44\x00\x2b\x00\x5b\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x77\x00\x78\x00\x79\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x77\x00\x78\x00\x79\x00\x5c\x00\x2a\x00\x5a\x00\x46\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x2a\x00\x6e\x00\x2a\x00\x70\x00\x78\x00\x79\x00\x73\x00\x74\x00\x77\x00\x78\x00\x79\x00\x02\x00\x02\x00\x5a\x00\x79\x00\x5c\x00\x5e\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x2a\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x1e\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x1a\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x1b\x00\x6e\x00\x0c\x00\x0d\x00\x19\x00\x10\x00\x73\x00\x74\x00\x04\x00\x76\x00\x01\x00\x5b\x00\x03\x00\x02\x00\x02\x00\x19\x00\x02\x00\x1b\x00\x5e\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x20\x00\x21\x00\x33\x00\x23\x00\x57\x00\x2b\x00\x37\x00\x4e\x00\x4f\x00\x50\x00\x2a\x00\x2b\x00\x2c\x00\x46\x00\x4e\x00\x4f\x00\x50\x00\x2b\x00\x5e\x00\x33\x00\x2c\x00\x01\x00\x36\x00\x2c\x00\x36\x00\x5a\x00\x01\x00\x5c\x00\x30\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x41\x00\x42\x00\x43\x00\x44\x00\x43\x00\x0d\x00\x2c\x00\x30\x00\x5a\x00\x48\x00\x5c\x00\x2c\x00\x5e\x00\x5f\x00\x60\x00\x37\x00\x01\x00\x73\x00\x74\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x56\x00\x03\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5c\x00\x5d\x00\x5e\x00\x01\x00\x73\x00\x74\x00\x2b\x00\x02\x00\x77\x00\x78\x00\x79\x00\x30\x00\x31\x00\x2c\x00\x33\x00\x02\x00\x35\x00\x5b\x00\x5e\x00\x38\x00\x01\x00\x65\x00\x3b\x00\x01\x00\x3d\x00\x3e\x00\x3f\x00\x79\x00\x4e\x00\x4f\x00\x50\x00\x44\x00\x45\x00\x01\x00\x47\x00\x04\x00\x5e\x00\x4a\x00\x4b\x00\x01\x00\x4d\x00\x4e\x00\x5e\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x77\x00\x78\x00\x79\x00\x2c\x00\x65\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x01\x00\x77\x00\x78\x00\x79\x00\x1e\x00\x65\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x01\x00\x01\x00\x10\x00\x4e\x00\x4f\x00\x50\x00\x5a\x00\x1e\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x1b\x00\x2b\x00\x38\x00\x2b\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x1e\x00\x41\x00\x42\x00\x43\x00\x44\x00\x2b\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x65\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x01\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x77\x00\x78\x00\x79\x00\x01\x00\x01\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5b\x00\x31\x00\x10\x00\x65\x00\x2a\x00\x5a\x00\x36\x00\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x1b\x00\x3e\x00\x77\x00\x78\x00\x79\x00\x1a\x00\x43\x00\x77\x00\x78\x00\x79\x00\x47\x00\x48\x00\x77\x00\x78\x00\x79\x00\x19\x00\x4d\x00\x73\x00\x74\x00\x50\x00\x2f\x00\x52\x00\x31\x00\x10\x00\x33\x00\x56\x00\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x5e\x00\x3d\x00\x3e\x00\x3f\x00\x4e\x00\x4f\x00\x50\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x36\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\x47\x00\x19\x00\xff\xff\x1b\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x77\x00\x78\x00\x79\x00\x2f\x00\xff\xff\x31\x00\x33\x00\x33\x00\xff\xff\x35\x00\x37\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x78\x00\x79\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x77\x00\x78\x00\x79\x00\xff\xff\x37\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x77\x00\x78\x00\x79\x00\x01\x00\x02\x00\x03\x00\x01\x00\x02\x00\x03\x00\x1b\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x01\x00\x02\x00\x03\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x2c\x00\xff\xff\xff\xff\x2f\x00\x42\x00\x43\x00\x44\x00\x33\x00\x01\x00\x35\x00\x03\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\x0d\x00\x01\x00\x02\x00\x03\x00\x44\x00\x45\x00\x77\x00\x78\x00\x79\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x04\x00\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x78\x00\x79\x00\xff\xff\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x01\x00\x43\x00\x03\x00\xff\xff\x05\x00\x06\x00\x48\x00\xff\xff\x09\x00\x0a\x00\x1b\x00\xff\xff\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x56\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x2f\x00\x01\x00\x02\x00\x03\x00\x33\x00\x01\x00\x35\x00\x03\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\x0d\x00\x0d\x00\x0e\x00\x0f\x00\x44\x00\x45\x00\x01\x00\x02\x00\x03\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x0d\x00\x0e\x00\x0f\x00\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x43\x00\x36\x00\xff\xff\xff\xff\xff\xff\x48\x00\x3b\x00\x3c\x00\x3d\x00\x1b\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x5a\x00\x56\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x2b\x00\x2c\x00\x5e\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\x37\x00\xff\xff\x39\x00\x3a\x00\x37\x00\xff\xff\x73\x00\x74\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x49\x00\x46\x00\x47\x00\x4c\x00\xff\xff\xff\xff\x4f\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x78\x00\x79\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x0d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\x1b\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\x36\x00\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x43\x00\x01\x00\xff\xff\x03\x00\xff\xff\x48\x00\x5c\x00\x5d\x00\x5e\x00\x4c\x00\x4d\x00\xff\xff\x5a\x00\x0d\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x1b\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\x2f\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x43\x00\x03\x00\xff\xff\x01\x00\xff\xff\x48\x00\x01\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x0d\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x46\x00\x47\x00\x0d\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x36\x00\x5a\x00\xff\xff\x5c\x00\x36\x00\x5e\x00\x5f\x00\x36\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x78\x00\x79\x00\xff\xff\x43\x00\x48\x00\xff\xff\x43\x00\xff\xff\x48\x00\xff\xff\xff\xff\x48\x00\x73\x00\x74\x00\x2f\x00\x5a\x00\xff\xff\x5c\x00\x56\x00\x5e\x00\x5f\x00\x36\x00\x56\x00\xff\xff\x5c\x00\x56\x00\x5e\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5c\x00\x5d\x00\x5e\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\x73\x00\x74\x00\xff\xff\x4c\x00\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\x03\x00\xff\xff\x0d\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x01\x00\x1b\x00\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x73\x00\x74\x00\x2c\x00\x2d\x00\x36\x00\x2f\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\x2f\x00\xff\xff\x73\x00\x74\x00\x4c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x1b\x00\x46\x00\x47\x00\x5a\x00\x01\x00\x5c\x00\x03\x00\x5e\x00\x5f\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\x73\x00\x74\x00\x1b\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x2c\x00\xff\xff\x4c\x00\x2f\x00\x78\x00\x79\x00\xff\xff\x01\x00\xff\xff\x03\x00\x73\x00\x74\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x0d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\x36\x00\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5e\x00\xff\xff\x10\x00\x2f\x00\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x5a\x00\x1b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x2c\x00\xff\xff\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\x4c\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x01\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x02\x00\xff\xff\xff\xff\x0d\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x79\x00\xff\xff\x10\x00\x73\x00\x74\x00\xff\xff\xff\xff\x36\x00\x2f\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x73\x00\x74\x00\x4c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x1b\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2c\x00\xff\xff\x5a\x00\x2f\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\xff\xff\x1b\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x73\x00\x74\x00\xff\xff\x2f\x00\xff\xff\x4c\x00\x78\x00\x79\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x2f\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\x4c\x00\x73\x00\x74\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x78\x00\x79\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\x37\x00\xff\xff\xff\xff\x4c\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x1b\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x4c\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x0d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x0d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x30\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x56\x00\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\x5e\x00\xff\xff\x2f\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x4c\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xff\xff\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x31\x00\xff\xff\x33\x00\x0d\x00\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\x0d\x00\x38\x00\xff\xff\x01\x00\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\x0d\x00\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x1e\x00\x03\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x36\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x43\x00\x35\x00\xff\xff\xff\xff\x38\x00\x48\x00\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x56\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x5c\x00\x4e\x00\x5e\x00\xff\xff\x51\x00\x36\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x43\x00\xff\xff\xff\xff\x1e\x00\x1f\x00\x48\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x5c\x00\xff\xff\x5e\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x78\x00\x79\x00\x37\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x20\x00\x21\x00\xff\xff\x23\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x21\x00\x36\x00\x23\x00\xff\xff\x77\x00\x78\x00\x79\x00\x4a\x00\xff\xff\x2a\x00\x2b\x00\x2c\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x79\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\x78\x00\x79\x00\x42\x00\x43\x00\x44\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x33\x00\x79\x00\xff\xff\x36\x00\x78\x00\x79\x00\x33\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x5a\x00\x4c\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\x4c\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x5a\x00\x37\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\x4c\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x5a\x00\x37\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x22\x00\x23\x00\x37\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\x22\x00\x23\x00\x4c\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\x77\x00\x78\x00\x79\x00\xff\xff\x23\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x2a\x00\x2b\x00\x2c\x00\x36\x00\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x23\x00\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x36\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\x37\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x37\x00\xff\xff\xff\xff\x36\x00\x71\x00\xff\xff\x73\x00\x74\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x79\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x37\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x37\x00\x36\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x73\x00\x74\x00\x77\x00\x78\x00\x79\x00\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x5d\x00\x5e\x00\x5f\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\x2b\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x5d\x00\x5e\x00\x5f\x00\x2b\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\x31\x00\xff\xff\x43\x00\xff\xff\xff\xff\x36\x00\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x3e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x43\x00\xff\xff\xff\xff\x56\x00\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x5e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x2c\x00\xff\xff\xff\xff\x56\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\xff\xff\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\xff\xff\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x5f\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\xff\xff\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x5e\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x53\x00\x76\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x53\x00\x76\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x79\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x31\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x88\x00\x4c\x00\x4d\x00\xa2\x01\x7b\x03\x5e\x03\x12\x03\x13\x03\x11\x03\x12\x03\x13\x03\x60\x03\x3d\xfe\xe6\x02\x25\x02\x8d\x01\x72\x03\xaa\x00\xcb\x01\x35\x03\x25\x03\x1a\x02\x7a\x03\x4e\x00\x69\x03\x4f\x00\x26\x02\x50\x00\x51\x00\x52\x00\xcc\x01\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xd4\x02\x16\x03\xf8\x00\x7b\x02\x82\x02\xef\x00\x5f\x00\x84\x01\xc7\x00\xb9\x00\x60\x00\xc8\x00\xf7\x01\xbc\x00\x3d\x01\x4c\x00\x4d\x00\x75\x01\x36\x03\x7b\x03\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9c\x00\x25\x02\x4f\x03\xba\x00\x83\x02\xcb\x01\x76\x01\xbd\x00\xe2\x01\xf9\x00\x4e\x00\x71\x03\x4f\x00\x26\x02\x50\x00\x51\x00\x52\x00\xcc\x01\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x14\x03\x97\x01\x86\x00\x14\x03\x14\x03\x84\x00\x5f\x00\x86\x00\x73\x03\x84\x00\x60\x00\x86\x00\x86\x00\xd6\x00\x4b\x00\x4c\x00\x4d\x00\x68\x00\x69\x00\x6a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xf0\x00\x4b\x00\xc8\x01\x63\x00\xc9\x01\x2a\x00\xb6\x00\x84\x00\x98\x01\x86\x00\x4e\x00\x86\x00\x4f\x00\xc9\x00\x50\x00\x51\x00\x52\x00\xbe\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xaa\x00\xcb\x01\x06\x02\x4f\x03\xaa\x00\x84\x00\x5f\x00\x86\x00\x6a\x03\x84\x00\x60\x00\x86\x00\x55\x03\xcc\x01\x07\x02\xdd\x01\xbd\x00\x68\x00\x69\x00\x6a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9c\x00\x39\x03\xab\x00\xfb\x02\xac\x00\xc4\x00\x25\x02\x3b\x03\x84\x00\x98\x01\x86\x00\xad\x00\x5d\x00\x5e\x00\xd7\x00\xe1\x02\xb7\x00\xd3\x02\x26\x02\xe0\x02\x5f\x00\x25\x02\x9d\x01\xae\x00\xc5\x00\x56\x03\xde\x01\x0a\x03\x3c\xfe\xf7\x01\x6d\x03\x0b\x03\xf6\x01\x26\x02\xaf\x00\x62\x00\x63\x00\x64\x00\xb0\x00\x66\x00\x67\x00\x3c\xfe\xd8\x00\xb9\x00\xf7\x01\xd9\x00\x3c\xfe\x68\x00\x69\x00\x6a\x00\xcb\x01\xb5\x00\xda\x00\x5d\x00\x5e\x00\x9e\x01\xbe\x00\xd4\x02\x6e\x03\xe1\x02\x3c\xfe\x5f\x00\xcc\x01\x60\x02\xba\x00\x84\x00\x84\x00\xd7\x00\x86\x00\xf7\x01\xf0\x00\x4b\x00\xb6\x00\xd5\x00\xa1\x00\xdb\x00\x62\x00\x63\x00\x64\x00\xdc\x00\x66\x00\x67\x00\x54\x03\x41\x03\x9f\x01\xd6\x00\xa0\x01\xa2\x00\xae\x00\xb1\x00\x6a\x00\xc6\x00\xa3\x00\xa1\x01\x5d\x00\x5e\x00\x96\x00\x84\x00\xd7\x00\x86\x00\xf9\x01\x19\x03\x5f\x00\xec\x02\xe8\x02\xa2\x01\xa4\x00\x1a\x03\x84\x00\xd7\x00\x86\x00\x42\x03\x84\x00\xd7\x00\x86\x00\xf7\x01\xa3\x01\x62\x00\x63\x00\x64\x00\xa4\x01\x66\x00\x67\x00\x84\x00\xd7\x00\x97\x00\xc3\x00\x98\x00\xc4\x00\xf0\x00\x4b\x00\xdd\x00\x1b\x03\x6c\x00\x99\x00\x5d\x00\x5e\x00\x86\x02\x1d\x03\xb7\x00\xfa\x01\x84\x00\x89\x02\x5f\x00\x28\x03\x6d\x00\x0c\x02\xc5\x00\x84\x00\x98\x01\x86\x00\xf0\x00\x4b\x00\xc1\x02\x80\x02\x6a\x00\xa1\x00\x9a\x00\x62\x00\x63\x00\x64\x00\x9b\x00\x66\x00\x67\x00\x84\x00\xd7\x00\xab\x00\xcb\x01\xac\x00\xa2\x00\xd8\x00\xb9\x00\x9c\x00\xd9\x00\xa3\x00\xad\x00\x5d\x00\x5e\x00\x1c\x03\xcc\x01\xda\x00\x5d\x00\x5e\x00\x67\x02\x5f\x00\x60\x02\x98\x02\xae\x00\xa4\x00\x5f\x00\xda\x01\xdb\x01\xba\x00\x99\x02\x84\x00\xd7\x00\x86\x00\x8c\x02\xaf\x00\x62\x00\x63\x00\xd0\x01\x9a\x02\xdb\x00\x62\x00\x63\x00\xd0\x01\x9f\x01\xa8\x02\xa0\x01\x0d\x02\x8c\x00\x6a\x00\x9c\x00\xc6\x00\x84\x01\xa1\x01\x5d\x00\x5e\x00\x97\x01\xa1\x00\xb4\x02\x84\x01\x68\x02\x84\x00\x5f\x00\x86\x00\xa8\xfe\xa2\x01\xbc\x00\xa8\xfe\xd6\x00\xec\x01\xa2\x00\x6e\x03\x32\x00\x33\x00\xd7\x01\xa3\x00\xa3\x01\x62\x00\x63\x00\xd0\x01\x90\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x25\x02\xbd\x00\x16\x02\xa4\x00\x87\x02\x6a\x00\xa8\xfe\xda\x02\xe1\x01\x84\x00\xdd\x00\x86\x00\x26\x02\xc0\x00\xb9\x00\x37\x03\xb8\x00\xb9\x00\x38\x03\x46\x02\x32\x00\x33\x00\x91\x02\x8d\x02\x19\x02\x48\x02\x49\x02\x4a\x02\x1b\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x1e\x02\xba\x00\xf0\x00\x4b\x00\xba\x00\x4b\x02\xa9\x00\x4f\x00\xaa\x00\x50\x00\x4c\x02\x4d\x02\x9c\x00\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xe0\x01\xe1\x01\x84\x00\x98\x01\x86\x00\x42\x02\x5f\x00\x20\x02\x70\x01\xbe\x00\x4f\x02\x06\x00\x71\x01\x07\x00\xe2\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x2f\x02\x39\x00\x84\x00\xd7\x00\x86\x00\x89\x01\x18\x00\x19\x00\xa8\x01\x3a\x00\x92\x00\x63\x00\xe9\x01\xc1\x00\xe5\xff\x06\x00\xbb\x00\x07\x00\x86\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x84\x01\x39\x00\xe2\x01\x84\x01\x35\x02\xc6\x01\x18\x00\x19\x00\x43\x02\x3a\x00\x68\x00\xc3\x01\x6a\x00\x46\x02\x32\x00\x33\x00\x44\x02\x47\x02\x60\x02\x48\x02\x49\x02\x4a\x02\x3f\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x92\x01\x1a\x02\x95\x00\x6a\x00\x83\x01\x4b\x02\x84\x01\x4f\x00\x40\x01\x50\x00\x4c\x02\x4d\x02\xd6\x00\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x01\x70\x03\x8c\x00\x6a\x00\x89\x01\x84\x01\x5f\x00\x86\x01\x84\x01\x99\x01\x4f\x02\xa8\x01\xc6\x01\x97\x01\x82\x01\xea\x02\x23\x02\xcf\x00\xeb\x02\x06\x02\x88\x01\xaa\x00\xc8\x01\x63\x00\xc9\x01\xd6\x00\x8a\x01\x0e\x01\x55\x00\x98\x01\x0f\x01\x07\x02\x10\x01\x84\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x84\x01\x9a\x01\x84\x01\x84\x01\xc0\x00\xb9\x00\x5f\x00\x06\x00\x9b\x01\x07\x00\x12\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xba\x00\x39\x00\x84\x00\xd7\x00\x86\x00\x68\x01\x18\x00\x19\x00\xa7\x01\x3a\x00\x68\x00\xc3\x01\x6a\x00\x9c\x00\xa9\x01\xcf\x01\x62\x00\x63\x00\xd0\x01\x06\x00\xbc\x01\x07\x00\xc5\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0d\x01\x14\x01\x84\x00\x98\x01\x86\x00\xc7\x01\x18\x00\x19\x00\x84\x00\xd7\x00\x68\x00\x15\x01\x6a\x00\xf6\x01\x9c\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x30\x03\xd4\x01\x75\x02\x31\x03\xf7\x01\x76\x02\x0e\x01\x55\x00\xc1\x00\x0f\x01\xd5\x01\x10\x01\x9c\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x0d\x01\x20\x03\x21\x03\x9f\x00\x04\x03\x22\x03\x5f\x00\x2b\x03\x2c\x03\xdd\x02\x12\x01\xae\x00\xde\x02\x2e\x03\xa4\x00\xae\x00\x2b\x02\xce\x00\xcf\x00\x2c\x02\xd1\x00\x9c\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\xe7\x00\x0e\x01\x55\x00\xed\x00\x0f\x01\x69\x01\x10\x01\xfa\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x5f\x00\x06\x00\x04\x01\x07\x00\x12\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0a\x01\x14\x01\x84\x00\xd7\x00\x2b\x01\x6b\x01\x18\x00\x19\x00\x87\x00\x05\x00\x68\x00\x15\x01\x6a\x00\x2d\x02\x6a\x00\x05\x00\x7f\x02\x80\x02\x6a\x00\x06\x00\x7d\x03\x07\x00\x2a\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0d\x01\x14\x01\x38\x02\x62\x00\x63\x00\xd0\x01\x18\x00\x19\x00\xae\x00\x7e\x03\x68\x00\x15\x01\x6a\x00\x2b\x02\xce\x00\xcf\x00\x2c\x02\xd1\x00\x2a\x00\xd1\x01\x62\x00\x63\x00\x64\x00\xb5\x02\xd2\x01\x67\x00\x7f\x03\x0e\x01\x55\x00\x75\x03\x0f\x01\x76\x03\x10\x01\x77\x03\x11\x01\x5c\x00\x5d\x00\x5e\x00\x38\x03\xa6\x00\xa7\x00\xbe\x01\x69\x03\x4f\x00\x5f\x00\x50\x00\xbf\x01\xc0\x01\x12\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5a\x03\x20\x01\x21\x01\x22\x01\x23\x01\x2a\x00\x5f\x00\x65\x01\x13\x01\xaa\x00\xc2\x01\xf0\x00\x4b\x00\x2d\x02\x6a\x00\xf9\x02\x62\x00\x63\x00\xd0\x01\x66\x01\x3d\x03\x3e\x03\x06\x00\x86\x00\x07\x00\x6c\x03\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x06\x00\x14\x01\x07\x00\x58\x03\x00\x01\x09\x00\x18\x00\x19\x00\xfe\x02\xff\x02\x68\x00\x15\x01\x6a\x00\x97\x00\x86\x00\x98\x00\x00\x03\x01\x03\xee\x01\xfa\x01\x19\x03\x98\x00\x99\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x5d\x03\x99\x00\x5d\x00\x5e\x00\x5f\x00\x5e\x03\x68\x00\xc3\x01\x6a\x00\xbe\x01\x5f\x00\x4f\x00\x60\x03\x50\x00\xbf\x01\xc0\x01\x63\x03\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x17\x02\xfa\x01\x8f\x02\xa2\x01\xf0\x00\x4b\x00\x5f\x00\x26\x02\xa6\x00\xa7\x00\xc2\x01\x49\x03\x8c\x00\x6a\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\xbe\x01\x64\x03\x4f\x00\x65\x03\x50\x00\xbf\x01\xc0\x01\x3d\x00\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x06\x00\x40\x03\x07\x00\x3f\x03\x02\x01\x09\x00\x5f\x00\x9c\x00\x43\x03\x9f\x01\xc2\x01\xa0\x01\x49\x03\x9c\x00\x86\x00\xac\x00\xf0\x00\x4b\x00\xa1\x01\x5d\x00\x5e\x00\x21\x02\xad\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x5f\x00\x1e\x01\x1f\x01\xa2\x01\x5f\x00\x9c\x00\x4f\x03\xae\x00\x86\x00\x68\x00\xc3\x01\x6a\x00\xbe\x01\x51\x03\x4f\x00\x53\x03\x50\x00\xbf\x01\xc0\x01\x86\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x30\x02\x92\x01\xcf\x00\x93\x01\xd1\x00\x9d\x02\x5f\x00\x92\x00\x63\x00\x93\x00\xc2\x01\x94\x00\x67\x00\x24\x01\x25\x01\x68\x00\xc3\x01\x6a\x00\xbe\x01\xe3\x02\x4f\x00\x86\x00\x50\x00\xbf\x01\xc0\x01\xf0\x02\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x9c\x00\xae\x00\xfb\x02\xfc\x02\x6a\x00\xf1\x02\x5f\x00\x4a\x03\x8c\x00\x6a\x00\xc2\x01\xa0\x01\xd1\x01\x62\x00\x63\x00\xd0\x01\x4c\x03\xf4\x02\xa1\x01\x5d\x00\x5e\x00\x36\x02\xf5\x02\x95\x01\x6a\x00\xf0\x00\x4b\x00\x5f\x00\x26\x01\x27\x01\xa2\x01\xf9\x02\x62\x00\x63\x00\xd0\x01\xf6\x02\x68\x00\xc3\x01\x6a\x00\xbe\x01\xf7\x02\x4f\x00\x0a\x03\x50\x00\xbf\x01\xc0\x01\xee\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xbd\x01\x06\x02\x18\x03\xaa\x00\xe4\x00\xe5\x00\x5f\x00\x0d\x03\xd3\x01\x6a\x00\xc2\x01\xe6\x00\xe7\x00\x07\x02\x0e\x03\x68\x00\xc3\x01\x6a\x00\xbe\x01\x0f\x03\x4f\x00\x10\x03\x50\x00\xbf\x01\xc0\x01\x17\x03\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x9c\x00\x6f\x03\x32\x00\x33\x00\xf0\x00\x4b\x00\x5f\x00\xa1\x00\x18\x01\x19\x01\xc2\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xa1\x00\x97\x00\x3d\x00\x98\x00\xa2\x00\x4b\x03\x8c\x00\x6a\x00\x2b\x03\xa3\x00\x99\x00\x5d\x00\x5e\x00\xa2\x00\x45\x03\x32\x00\x33\x00\x1f\x03\xa3\x00\x5f\x00\x68\x00\xc3\x01\x6a\x00\xa4\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x1e\x01\x1f\x01\x86\x00\xa4\x00\x23\x03\xc8\x01\x63\x00\xc9\x01\x26\x03\x84\x00\xd7\x00\x86\x00\x10\x03\x32\x00\x33\x00\x24\x01\x25\x01\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xe8\x01\x27\x03\x68\x00\xc3\x01\x6a\x00\xf1\x02\x8c\x00\x6a\x00\x26\x01\x27\x01\x8f\x00\x62\x00\x63\x00\xd0\x01\x06\x00\x7c\x02\x07\x00\x7d\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x9c\x00\x39\x00\xf2\x02\x8c\x00\x6a\x00\x63\x02\x18\x00\x19\x00\x3e\xfe\x3a\x00\x06\x00\xbc\x01\x07\x00\x8c\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x92\x02\x39\x00\x68\x00\x91\x00\x6a\x00\x86\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x2a\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x9c\x02\x39\x00\x95\x02\x32\x00\x33\x00\xa1\x00\x18\x00\x19\x00\x9d\x02\x3a\x00\xa5\x02\xa7\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xee\x01\xa2\x00\xca\x00\xb3\x02\xa2\x01\xb4\x02\xa3\x00\xbc\x02\xbd\x02\x9e\x02\xce\x00\xcf\x00\x96\x02\x32\x00\x33\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\xbf\x02\xa4\x00\xc0\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x2a\x02\xce\x00\xcf\x00\x05\x03\xa6\x00\xa7\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\x86\x00\xd1\x02\x97\x02\x32\x00\x33\x00\x66\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x86\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xcb\x00\xd6\x02\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd7\x02\xd2\x00\x62\x00\x63\x00\x64\x00\xd3\x00\x66\x00\x67\x00\x06\x00\x9c\x00\x07\x00\xda\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x9c\x00\x39\x00\x26\x02\xa6\x00\xa7\x00\xdc\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\xdf\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xdf\x01\x39\x00\x23\x03\xa6\x00\xa7\x00\xe0\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\xe5\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xec\x01\x39\x00\x41\x02\x32\x00\x33\x00\xe4\x01\x18\x00\x19\x00\xee\x01\x3a\x00\xfb\x01\xfc\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x86\x00\x12\x02\xe0\x00\x26\x02\xa6\x00\xa7\x00\xa2\x02\xa6\x00\xa7\x00\x2a\x02\xce\x00\xcf\x00\x52\x02\x32\x00\x33\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\xa3\x02\xa6\x00\xa7\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x26\x02\xa6\x00\xa7\x00\xb8\x02\x8c\x00\x6a\x00\x76\x01\x32\x00\x33\x00\xbd\x02\x8c\x00\x6a\x00\xc2\x02\x8c\x00\x6a\x00\xee\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xe1\x00\x19\x02\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x3d\x00\xd2\x00\x62\x00\x63\x00\x64\x00\xe2\x00\x66\x00\x67\x00\x06\x00\x9c\x00\x07\x00\x20\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xee\x01\x39\x00\xc3\x02\x8c\x00\x6a\x00\x28\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x29\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x78\x01\x39\x00\xc4\x02\x8c\x00\x6a\x00\xee\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x34\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x86\x00\x39\x00\xf1\x00\x32\x00\x33\x00\xee\x01\x18\x00\x19\x00\x3a\x02\x3a\x00\x3b\x02\x3c\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x40\x02\x92\x01\xcf\x00\x93\x01\xd1\x00\x9d\x02\x3d\x02\x92\x00\x63\x00\xe9\x01\x3e\x02\x2a\x00\x31\x00\x32\x00\x33\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\xc8\x02\x8c\x00\x6a\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\xc9\x02\x8c\x00\x6a\x00\xbc\x01\x54\x02\x06\x00\x46\x02\x07\x00\x57\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x55\x02\xea\x00\x56\x02\x79\x01\x95\x01\x6a\x00\x18\x00\x19\x00\xcd\x02\x8c\x00\x6a\x00\x58\x02\x59\x02\x06\x00\x9c\x00\x07\x00\x86\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x64\x02\x39\x00\xd8\x02\xa6\x00\xa7\x00\x66\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x1b\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x1a\x01\x39\x00\x85\x02\x4a\x02\x1c\x01\x1d\x01\x18\x00\x19\x00\x69\x02\x3a\x00\x06\x02\x6b\x01\xaa\x00\x5d\x01\x5e\x01\x4b\x02\x68\x01\x4f\x00\x86\x00\x50\x00\x4c\x02\x4d\x02\x07\x02\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xa5\x00\xa6\x00\xa7\x00\x74\x01\xd8\x00\xb9\x00\x5f\x00\xd9\x00\x78\x01\x7c\x01\x4f\x02\xe6\x01\xa6\x00\xa7\x00\xda\x00\x5d\x00\x5e\x00\x73\x01\xe7\x01\xa6\x00\xa7\x00\x7e\x01\x86\x00\x5f\x00\x3d\x00\x88\x01\xba\x00\x3d\x00\x3d\xfe\x06\x00\x6c\x00\x07\x00\x86\x01\xf4\x00\x09\x00\x0a\x00\x49\x01\xf7\x01\x62\x00\x63\x00\xd0\x01\x3d\xfe\x6d\x00\xe5\xff\x86\x01\x06\x00\x3d\xfe\x07\x00\x3d\x00\xf4\x00\x09\x00\x03\x01\xa5\x02\x9e\x01\x18\x00\x19\x00\x8e\x01\xce\x00\xcf\x00\x3d\x00\x3d\xfe\xaa\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x84\x00\xd7\x00\x86\x00\xc5\x01\x18\x00\x19\x00\x3f\x01\xcd\x01\x68\x00\xc3\x01\x6a\x00\x6e\x00\x6f\x00\x3d\x00\x70\x00\xcf\x01\x71\x00\x2a\x00\x86\x00\x72\x00\xda\x01\xff\xff\x73\x00\x8a\x00\x74\x00\x75\x00\x76\x00\xdd\x00\xa5\x00\xa6\x00\xa7\x00\x77\x00\x78\x00\x8b\x00\x79\x00\x88\x02\x86\x00\x7a\x00\x7b\x00\x8e\x00\x7c\x00\x7d\x00\x86\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xe9\x00\x68\x00\x90\x01\x6a\x00\x3d\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x1b\x00\x0e\x02\x8c\x00\x6a\x00\x3f\xfe\xfb\xff\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xea\x00\xed\x00\x23\x00\x26\x02\xa6\x00\xa7\x00\x06\x00\xf3\x00\x07\x00\xf1\x00\xf4\x00\x09\x00\x61\x02\x24\x00\xf4\x00\xcb\x00\xf8\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xfc\x00\xd2\x00\x62\x00\x63\x00\xd0\x01\xfd\x00\x3c\x00\x3d\x00\x18\x00\x19\x00\x25\x00\x3e\x00\x6f\x00\x3f\x00\x70\x00\x40\x00\x71\x00\x3d\xfe\x41\x00\x72\x00\x42\x00\x43\x00\x73\x00\xff\xff\x74\x00\x75\x00\x76\x00\x44\x00\x45\x00\x46\x00\x3d\xfe\x77\x00\x78\x00\xfe\x00\x79\x00\x3d\xfe\x47\x00\x7a\x00\x7b\x00\x26\x00\x7c\x00\x7d\x00\x48\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x49\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x51\x02\x86\x00\x52\x02\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x34\x02\x8c\x00\x6a\x00\xff\x00\x00\x01\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x06\x01\x6f\x00\x23\x00\xff\xff\x17\x01\x06\x00\xa1\x00\x07\x00\x1a\x01\xf4\x00\x09\x00\x0a\x00\x4a\x01\x24\x00\x75\x00\x6f\x01\x8c\x00\x6a\x00\x1b\x01\xa2\x00\x80\x01\x8c\x00\x6a\x00\x79\x00\xa3\x00\x81\x01\x8c\x00\x6a\x00\x1c\x01\x7c\x00\x18\x00\x19\x00\x7e\x00\x25\x00\x80\x00\xd7\xff\x1d\x01\xd7\xff\xa4\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\x00\x00\x00\x00\xd7\xff\x86\x00\xd7\xff\xd7\xff\xd7\xff\x8b\x01\xa6\x00\xa7\x00\xd7\xff\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\x26\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\xd7\xff\xd7\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xa5\x00\xa6\x00\xa7\x00\x00\x00\xae\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\xd1\x01\x62\x00\x63\x00\x64\x00\x00\x00\xd2\x01\x67\x00\x3e\x02\x00\x00\x4f\x00\x24\x00\x50\x00\xbf\x01\xc0\x01\x00\x00\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x8b\x00\x8c\x00\x6a\x00\x25\x00\x00\x00\x6f\x00\x5f\x00\x70\x00\x00\x00\x71\x00\xc2\x01\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\xa5\x00\xa6\x00\xa7\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\xd3\x01\x6a\x00\x7a\x00\x7b\x00\x26\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x52\x02\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xb4\x00\x8c\x00\x6a\x00\x00\x00\x59\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x68\x00\xc3\x01\x6a\x00\x8d\x01\x47\x03\xaa\x00\x8d\x01\x09\x03\xaa\x00\x24\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x8d\x01\xa2\x02\xaa\x00\x8d\x01\xa8\x02\xaa\x00\x00\x00\x00\x00\x92\x01\xcf\x00\x3d\x00\x00\x00\x00\x00\x25\x00\x92\x00\x63\x00\xe9\x01\x70\x00\x01\x02\x71\x00\xaa\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x02\x02\x8d\x01\xce\x01\xaa\x00\x77\x00\x78\x00\x68\x00\x5b\x02\x6a\x00\x00\x00\x7a\x00\x7b\x00\x26\x00\x8a\x02\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x95\x01\x6a\x00\x00\x00\x3c\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x38\x01\x3c\xfe\x39\x01\x00\x00\x3a\x01\x3b\x01\x3c\xfe\x00\x00\x3c\x01\x3d\x01\x24\x00\x00\x00\xe1\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x3c\xfe\xd2\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x84\x00\x00\x00\x86\x00\x00\x00\x25\x00\x8d\x01\xeb\x01\xaa\x00\x70\x00\x65\x01\x71\x00\xaa\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x66\x01\x28\x01\x29\x01\x2a\x01\x77\x00\x78\x00\xa9\x00\xce\x01\xaa\x00\x00\x00\x7a\x00\x7b\x00\x26\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x28\x01\x29\x01\x2a\x01\x3c\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x3c\xfe\xae\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x2b\x02\xce\x00\xcf\x00\x24\x00\x00\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x06\x00\x3c\xfe\x07\x00\x00\x00\xf4\x00\x09\x00\x46\x01\x3c\x00\x3d\x00\x86\x00\x00\x00\x25\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x00\x00\x42\x00\x43\x00\x8e\x00\x00\x00\x18\x00\x19\x00\x00\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x8f\x00\x62\x00\x63\x00\x64\x00\x47\x00\x90\x00\x67\x00\x26\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x01\x02\x00\x00\xaa\x00\x06\x03\x6a\x00\x49\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x02\x02\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xbb\x02\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x91\x00\x6a\x00\x00\x00\x24\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x25\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\xa1\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa2\x00\x65\x01\x00\x00\xaa\x00\x00\x00\xa3\x00\x84\x00\x9f\x00\x86\x00\x26\x00\x3c\xfe\x00\x00\x06\x00\x66\x01\x07\x00\x00\x00\xf4\x00\x09\x00\x47\x01\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x16\x02\x00\x00\x00\x00\x23\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x24\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x25\x00\xb3\x00\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\xa2\x00\xaa\x00\x00\x00\x25\x02\x00\x00\xa3\x00\xa1\x02\x00\x00\x00\x00\x26\x00\x3d\xfe\x02\x02\x92\x00\x63\x00\x93\x00\x26\x02\x94\x00\x67\x00\xf7\x01\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xaf\x01\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\xa1\x00\x06\x00\x00\x00\x07\x00\xa1\x00\x06\x01\x09\x00\xa1\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x95\x00\x6a\x00\x00\x00\xa2\x00\xa3\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\xa3\x00\x18\x00\x19\x00\x25\x00\x06\x00\x00\x00\x07\x00\xa4\x00\x08\x01\x09\x00\x3d\xfe\xa4\x00\x00\x00\x84\x00\xa4\x00\x86\x00\x00\x00\x84\x00\xd7\x00\x86\x00\x84\x00\xd7\x00\x86\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x18\x00\x19\x00\x00\x00\x26\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2f\x02\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x75\x02\x00\x00\xd6\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x4b\x01\x1b\x00\x24\x00\x75\x02\x00\x00\x00\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x18\x00\x19\x00\x77\x02\x66\x03\xa1\x00\x25\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4d\x01\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x34\x03\x00\x00\x25\x00\x00\x00\x18\x00\x19\x00\x26\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xd7\x00\x86\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x51\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x11\x02\x00\x00\x00\x00\x23\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x22\x02\x00\x00\x92\x00\x63\x00\x93\x00\x24\x00\x94\x00\x67\x00\x06\x00\x1b\x00\x07\x00\x75\x02\x0b\x01\x09\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x18\x00\x19\x00\x24\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x48\x01\x00\x00\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x00\x00\x77\x02\x00\x00\x26\x00\x25\x00\x95\x01\x6a\x00\x00\x00\x65\x01\x00\x00\xaa\x00\x18\x00\x19\x00\x3c\xfe\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x66\x01\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x52\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\xa1\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x03\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x86\x00\x00\x00\x23\x00\x25\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x06\x00\x24\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4e\x01\x00\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x77\x02\x00\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\xa2\x01\x00\x00\x00\x00\x00\x00\x26\x00\x9e\x02\xce\x00\xcf\x00\x9f\x02\xd1\x00\x00\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\xcb\x01\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xe6\x02\x00\x00\x00\x00\xcc\x01\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x4c\x01\x1b\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x9c\x00\x00\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\xa1\x00\x25\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4f\x01\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x00\x00\x00\x00\x25\x00\x00\x00\x18\x00\x19\x00\x26\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x86\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x50\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x22\x02\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x24\x00\x1b\x00\x45\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x63\x02\x00\x00\x06\x00\x25\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x2a\x01\x00\x00\x24\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x18\x00\x19\x00\x00\x00\x25\x00\x00\x00\x26\x00\x95\x01\x6a\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x59\x01\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x25\x00\x00\x00\x26\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x0c\x01\x09\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x26\x00\x18\x00\x19\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x29\x02\x00\x00\x92\x00\x63\x00\xe9\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x01\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x95\x01\x6a\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\xd1\x02\x00\x00\x00\x00\x26\x00\x8e\x01\xce\x00\xcf\x00\x8f\x01\xd1\x00\x24\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x90\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x07\x03\x00\x00\x92\x00\x63\x00\xe9\x01\x0a\x01\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x95\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x01\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x66\x01\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x6d\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x24\x00\x6e\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x3d\xfe\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x86\x00\x00\x00\x25\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x06\x02\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x26\x00\x00\x00\x07\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x2d\x01\x2e\x01\x2f\x01\x30\x01\x31\x01\x32\x01\x33\x01\x34\x01\x35\x01\x36\x01\x37\x01\x00\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\x65\x01\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x66\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\x06\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x07\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\x65\x01\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x66\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\xcb\x01\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\x6f\x00\x00\x00\x70\x00\xcc\x01\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x9f\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x6d\x00\x72\x00\x00\x00\xcb\x01\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\xcc\x01\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x01\x02\xfb\x02\xaa\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\xa1\x00\x00\x00\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\xa2\x00\x71\x00\x00\x00\x00\x00\x72\x00\xa3\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x84\x00\x7d\x00\x86\x00\x00\x00\x9e\x00\x3d\xfe\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x3d\xfe\x00\x00\x00\x00\xb0\x01\xb1\x01\x3d\xfe\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x84\x00\x00\x00\x86\x00\xb5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x29\x02\x5f\x00\x92\x00\x63\x00\x93\x00\xb5\x01\x94\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xc7\x02\x6a\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x95\x01\x6a\x00\xb5\x01\x92\x01\xcf\x00\x93\x01\xd1\x00\x94\x01\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x68\x00\xcc\x02\x6a\x00\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x94\x01\x5f\x00\x92\x00\x63\x00\x93\x00\xb5\x01\x94\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x01\x6a\x00\x00\x00\x68\x00\x5f\x02\x6a\x00\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\xb9\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\xb5\x01\x95\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xba\x01\x6a\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\xd8\x00\xb9\x00\x00\x00\xd9\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\xb5\x01\xda\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\xab\x00\xba\x00\xac\x00\x00\x00\x68\x00\xba\x01\x6a\x00\xce\x02\x00\x00\xad\x00\x5d\x00\x5e\x00\x07\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x08\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\xfc\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x68\x00\xba\x01\x6a\x00\x00\x00\x97\x00\x00\x00\x98\x00\x00\x00\xab\x00\x00\x00\xac\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\xdd\x00\xad\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\x23\x02\xcf\x00\x00\x00\x00\x00\xfe\x01\xff\x01\xc8\x01\x63\x00\xc9\x01\xf2\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x97\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x9f\x01\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x98\x00\xa1\x01\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x5f\x00\x9c\x00\x00\x00\xa2\x01\xf3\x01\x6a\x00\x5f\x00\x00\x00\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x00\x00\xd4\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\xf1\x01\x62\x00\x63\x00\xd0\x01\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\x12\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x02\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x06\x00\x81\x02\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xb7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x55\x01\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\xef\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x06\x00\x12\x01\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xf0\x01\x00\x00\x1c\x02\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x1d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x54\x01\x00\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x31\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x06\x00\x12\x01\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x32\x02\x00\x00\xd7\x01\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xd8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\xa9\x02\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\xf7\x02\xab\x02\xac\x02\xa9\x02\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\xad\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\xaa\x02\xab\x02\xac\x02\x0e\x01\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\xad\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x0e\x01\x55\x00\x12\x01\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x84\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xae\x02\x6a\x00\x00\x00\x0e\x01\x55\x00\x6d\x01\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x68\x00\xae\x02\x6a\x00\x00\x00\xac\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\xad\x00\x5d\x00\x5e\x00\xae\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x6e\x01\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x5e\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x98\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x7f\x02\xec\x02\x6a\x00\xf9\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x62\x01\x63\x01\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\xa2\x01\x00\x00\x00\x00\x00\x00\x12\x02\x00\x00\x18\x00\x19\x00\x00\x00\x8d\x01\x13\x02\x14\x02\x6a\x00\x8e\x01\xce\x00\xcf\x00\x8f\x01\xd1\x00\x00\x00\x8f\x00\x62\x00\x63\x00\x64\x00\x00\x00\x90\x00\x67\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\xaa\x01\x00\x00\x00\x00\xae\x00\xb9\x02\x00\x00\x18\x00\x19\x00\x2b\x02\xce\x00\xcf\x00\x00\x00\x9c\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x68\x00\x90\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xac\x01\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\xad\x01\x6a\x00\xc5\x02\x7f\x02\xed\x02\x6a\x00\x8e\x01\xce\x00\xcf\x00\xca\x02\x9f\x00\x00\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xc0\x02\x00\x00\x68\x00\xc6\x02\x6a\x00\x00\x00\x00\x00\x18\x00\x19\x00\x68\x00\xcb\x02\x6a\x00\xb0\x02\x00\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\xb0\x02\x00\x00\xb1\x02\x00\x00\x00\x00\x85\x00\x86\x00\xb2\x02\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\xc0\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x85\x00\x86\x00\xb2\x02\xc3\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x6f\x00\x00\x00\xa2\x00\x00\x00\x00\x00\xa1\x00\x79\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x75\x00\x00\x00\x7e\x00\x00\x00\x80\x00\xa2\x00\x00\x00\x00\x00\xa4\x00\x79\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x86\x00\x00\x00\x7e\x00\x00\x00\x80\x00\x3d\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x02\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x01\x85\x00\x86\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x01\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x85\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x9f\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x80\x00\x00\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\xb2\x02\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\xa7\x01\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\xb4\x00\x86\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x3b\xfe\x3b\xfe\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\xa7\x01\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x85\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x9f\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x85\x00\x86\x00\x73\x00\x00\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x02\x86\x00\x27\x03\x6e\x02\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x6c\x02\x73\x02\x6d\x02\x6e\x02\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x31\x03\x73\x02\x00\x00\x32\x03\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x73\x02\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x02\x18\x00\x19\x00\x00\x00\x67\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x2e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\xd7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x02\x00\x00\x18\x00\x19\x00\x00\x00\x06\x00\x00\x00\x07\x00\x9c\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x43\x03\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x44\x03\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x93\x02\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x94\x02\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x77\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x78\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x3a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x92\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x41\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x42\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x43\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x57\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x5a\x01\x00\x00\x00\x00\x5b\x01\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x02\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xee\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x69\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x6b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x45\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x6c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x64\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x59\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x56\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x53\x01\x02\x02\xce\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x03\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x04\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x09\x02\xce\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x0a\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x03\x0b\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x02\x03\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x01\x03\xf4\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x02\x03\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\xcb\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\xe1\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\x37\x02\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = array (4, 463) [- (4 , happyReduce_4),- (5 , happyReduce_5),- (6 , happyReduce_6),- (7 , happyReduce_7),- (8 , happyReduce_8),- (9 , happyReduce_9),- (10 , happyReduce_10),- (11 , happyReduce_11),- (12 , happyReduce_12),- (13 , happyReduce_13),- (14 , happyReduce_14),- (15 , happyReduce_15),- (16 , happyReduce_16),- (17 , happyReduce_17),- (18 , happyReduce_18),- (19 , happyReduce_19),- (20 , happyReduce_20),- (21 , happyReduce_21),- (22 , happyReduce_22),- (23 , happyReduce_23),- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87),- (88 , happyReduce_88),- (89 , happyReduce_89),- (90 , happyReduce_90),- (91 , happyReduce_91),- (92 , happyReduce_92),- (93 , happyReduce_93),- (94 , happyReduce_94),- (95 , happyReduce_95),- (96 , happyReduce_96),- (97 , happyReduce_97),- (98 , happyReduce_98),- (99 , happyReduce_99),- (100 , happyReduce_100),- (101 , happyReduce_101),- (102 , happyReduce_102),- (103 , happyReduce_103),- (104 , happyReduce_104),- (105 , happyReduce_105),- (106 , happyReduce_106),- (107 , happyReduce_107),- (108 , happyReduce_108),- (109 , happyReduce_109),- (110 , happyReduce_110),- (111 , happyReduce_111),- (112 , happyReduce_112),- (113 , happyReduce_113),- (114 , happyReduce_114),- (115 , happyReduce_115),- (116 , happyReduce_116),- (117 , happyReduce_117),- (118 , happyReduce_118),- (119 , happyReduce_119),- (120 , happyReduce_120),- (121 , happyReduce_121),- (122 , happyReduce_122),- (123 , happyReduce_123),- (124 , happyReduce_124),- (125 , happyReduce_125),- (126 , happyReduce_126),- (127 , happyReduce_127),- (128 , happyReduce_128),- (129 , happyReduce_129),- (130 , happyReduce_130),- (131 , happyReduce_131),- (132 , happyReduce_132),- (133 , happyReduce_133),- (134 , happyReduce_134),- (135 , happyReduce_135),- (136 , happyReduce_136),- (137 , happyReduce_137),- (138 , happyReduce_138),- (139 , happyReduce_139),- (140 , happyReduce_140),- (141 , happyReduce_141),- (142 , happyReduce_142),- (143 , happyReduce_143),- (144 , happyReduce_144),- (145 , happyReduce_145),- (146 , happyReduce_146),- (147 , happyReduce_147),- (148 , happyReduce_148),- (149 , happyReduce_149),- (150 , happyReduce_150),- (151 , happyReduce_151),- (152 , happyReduce_152),- (153 , happyReduce_153),- (154 , happyReduce_154),- (155 , happyReduce_155),- (156 , happyReduce_156),- (157 , happyReduce_157),- (158 , happyReduce_158),- (159 , happyReduce_159),- (160 , happyReduce_160),- (161 , happyReduce_161),- (162 , happyReduce_162),- (163 , happyReduce_163),- (164 , happyReduce_164),- (165 , happyReduce_165),- (166 , happyReduce_166),- (167 , happyReduce_167),- (168 , happyReduce_168),- (169 , happyReduce_169),- (170 , happyReduce_170),- (171 , happyReduce_171),- (172 , happyReduce_172),- (173 , happyReduce_173),- (174 , happyReduce_174),- (175 , happyReduce_175),- (176 , happyReduce_176),- (177 , happyReduce_177),- (178 , happyReduce_178),- (179 , happyReduce_179),- (180 , happyReduce_180),- (181 , happyReduce_181),- (182 , happyReduce_182),- (183 , happyReduce_183),- (184 , happyReduce_184),- (185 , happyReduce_185),- (186 , happyReduce_186),- (187 , happyReduce_187),- (188 , happyReduce_188),- (189 , happyReduce_189),- (190 , happyReduce_190),- (191 , happyReduce_191),- (192 , happyReduce_192),- (193 , happyReduce_193),- (194 , happyReduce_194),- (195 , happyReduce_195),- (196 , happyReduce_196),- (197 , happyReduce_197),- (198 , happyReduce_198),- (199 , happyReduce_199),- (200 , happyReduce_200),- (201 , happyReduce_201),- (202 , happyReduce_202),- (203 , happyReduce_203),- (204 , happyReduce_204),- (205 , happyReduce_205),- (206 , happyReduce_206),- (207 , happyReduce_207),- (208 , happyReduce_208),- (209 , happyReduce_209),- (210 , happyReduce_210),- (211 , happyReduce_211),- (212 , happyReduce_212),- (213 , happyReduce_213),- (214 , happyReduce_214),- (215 , happyReduce_215),- (216 , happyReduce_216),- (217 , happyReduce_217),- (218 , happyReduce_218),- (219 , happyReduce_219),- (220 , happyReduce_220),- (221 , happyReduce_221),- (222 , happyReduce_222),- (223 , happyReduce_223),- (224 , happyReduce_224),- (225 , happyReduce_225),- (226 , happyReduce_226),- (227 , happyReduce_227),- (228 , happyReduce_228),- (229 , happyReduce_229),- (230 , happyReduce_230),- (231 , happyReduce_231),- (232 , happyReduce_232),- (233 , happyReduce_233),- (234 , happyReduce_234),- (235 , happyReduce_235),- (236 , happyReduce_236),- (237 , happyReduce_237),- (238 , happyReduce_238),- (239 , happyReduce_239),- (240 , happyReduce_240),- (241 , happyReduce_241),- (242 , happyReduce_242),- (243 , happyReduce_243),- (244 , happyReduce_244),- (245 , happyReduce_245),- (246 , happyReduce_246),- (247 , happyReduce_247),- (248 , happyReduce_248),- (249 , happyReduce_249),- (250 , happyReduce_250),- (251 , happyReduce_251),- (252 , happyReduce_252),- (253 , happyReduce_253),- (254 , happyReduce_254),- (255 , happyReduce_255),- (256 , happyReduce_256),- (257 , happyReduce_257),- (258 , happyReduce_258),- (259 , happyReduce_259),- (260 , happyReduce_260),- (261 , happyReduce_261),- (262 , happyReduce_262),- (263 , happyReduce_263),- (264 , happyReduce_264),- (265 , happyReduce_265),- (266 , happyReduce_266),- (267 , happyReduce_267),- (268 , happyReduce_268),- (269 , happyReduce_269),- (270 , happyReduce_270),- (271 , happyReduce_271),- (272 , happyReduce_272),- (273 , happyReduce_273),- (274 , happyReduce_274),- (275 , happyReduce_275),- (276 , happyReduce_276),- (277 , happyReduce_277),- (278 , happyReduce_278),- (279 , happyReduce_279),- (280 , happyReduce_280),- (281 , happyReduce_281),- (282 , happyReduce_282),- (283 , happyReduce_283),- (284 , happyReduce_284),- (285 , happyReduce_285),- (286 , happyReduce_286),- (287 , happyReduce_287),- (288 , happyReduce_288),- (289 , happyReduce_289),- (290 , happyReduce_290),- (291 , happyReduce_291),- (292 , happyReduce_292),- (293 , happyReduce_293),- (294 , happyReduce_294),- (295 , happyReduce_295),- (296 , happyReduce_296),- (297 , happyReduce_297),- (298 , happyReduce_298),- (299 , happyReduce_299),- (300 , happyReduce_300),- (301 , happyReduce_301),- (302 , happyReduce_302),- (303 , happyReduce_303),- (304 , happyReduce_304),- (305 , happyReduce_305),- (306 , happyReduce_306),- (307 , happyReduce_307),- (308 , happyReduce_308),- (309 , happyReduce_309),- (310 , happyReduce_310),- (311 , happyReduce_311),- (312 , happyReduce_312),- (313 , happyReduce_313),- (314 , happyReduce_314),- (315 , happyReduce_315),- (316 , happyReduce_316),- (317 , happyReduce_317),- (318 , happyReduce_318),- (319 , happyReduce_319),- (320 , happyReduce_320),- (321 , happyReduce_321),- (322 , happyReduce_322),- (323 , happyReduce_323),- (324 , happyReduce_324),- (325 , happyReduce_325),- (326 , happyReduce_326),- (327 , happyReduce_327),- (328 , happyReduce_328),- (329 , happyReduce_329),- (330 , happyReduce_330),- (331 , happyReduce_331),- (332 , happyReduce_332),- (333 , happyReduce_333),- (334 , happyReduce_334),- (335 , happyReduce_335),- (336 , happyReduce_336),- (337 , happyReduce_337),- (338 , happyReduce_338),- (339 , happyReduce_339),- (340 , happyReduce_340),- (341 , happyReduce_341),- (342 , happyReduce_342),- (343 , happyReduce_343),- (344 , happyReduce_344),- (345 , happyReduce_345),- (346 , happyReduce_346),- (347 , happyReduce_347),- (348 , happyReduce_348),- (349 , happyReduce_349),- (350 , happyReduce_350),- (351 , happyReduce_351),- (352 , happyReduce_352),- (353 , happyReduce_353),- (354 , happyReduce_354),- (355 , happyReduce_355),- (356 , happyReduce_356),- (357 , happyReduce_357),- (358 , happyReduce_358),- (359 , happyReduce_359),- (360 , happyReduce_360),- (361 , happyReduce_361),- (362 , happyReduce_362),- (363 , happyReduce_363),- (364 , happyReduce_364),- (365 , happyReduce_365),- (366 , happyReduce_366),- (367 , happyReduce_367),- (368 , happyReduce_368),- (369 , happyReduce_369),- (370 , happyReduce_370),- (371 , happyReduce_371),- (372 , happyReduce_372),- (373 , happyReduce_373),- (374 , happyReduce_374),- (375 , happyReduce_375),- (376 , happyReduce_376),- (377 , happyReduce_377),- (378 , happyReduce_378),- (379 , happyReduce_379),- (380 , happyReduce_380),- (381 , happyReduce_381),- (382 , happyReduce_382),- (383 , happyReduce_383),- (384 , happyReduce_384),- (385 , happyReduce_385),- (386 , happyReduce_386),- (387 , happyReduce_387),- (388 , happyReduce_388),- (389 , happyReduce_389),- (390 , happyReduce_390),- (391 , happyReduce_391),- (392 , happyReduce_392),- (393 , happyReduce_393),- (394 , happyReduce_394),- (395 , happyReduce_395),- (396 , happyReduce_396),- (397 , happyReduce_397),- (398 , happyReduce_398),- (399 , happyReduce_399),- (400 , happyReduce_400),- (401 , happyReduce_401),- (402 , happyReduce_402),- (403 , happyReduce_403),- (404 , happyReduce_404),- (405 , happyReduce_405),- (406 , happyReduce_406),- (407 , happyReduce_407),- (408 , happyReduce_408),- (409 , happyReduce_409),- (410 , happyReduce_410),- (411 , happyReduce_411),- (412 , happyReduce_412),- (413 , happyReduce_413),- (414 , happyReduce_414),- (415 , happyReduce_415),- (416 , happyReduce_416),- (417 , happyReduce_417),- (418 , happyReduce_418),- (419 , happyReduce_419),- (420 , happyReduce_420),- (421 , happyReduce_421),- (422 , happyReduce_422),- (423 , happyReduce_423),- (424 , happyReduce_424),- (425 , happyReduce_425),- (426 , happyReduce_426),- (427 , happyReduce_427),- (428 , happyReduce_428),- (429 , happyReduce_429),- (430 , happyReduce_430),- (431 , happyReduce_431),- (432 , happyReduce_432),- (433 , happyReduce_433),- (434 , happyReduce_434),- (435 , happyReduce_435),- (436 , happyReduce_436),- (437 , happyReduce_437),- (438 , happyReduce_438),- (439 , happyReduce_439),- (440 , happyReduce_440),- (441 , happyReduce_441),- (442 , happyReduce_442),- (443 , happyReduce_443),- (444 , happyReduce_444),- (445 , happyReduce_445),- (446 , happyReduce_446),- (447 , happyReduce_447),- (448 , happyReduce_448),- (449 , happyReduce_449),- (450 , happyReduce_450),- (451 , happyReduce_451),- (452 , happyReduce_452),- (453 , happyReduce_453),- (454 , happyReduce_454),- (455 , happyReduce_455),- (456 , happyReduce_456),- (457 , happyReduce_457),- (458 , happyReduce_458),- (459 , happyReduce_459),- (460 , happyReduce_460),- (461 , happyReduce_461),- (462 , happyReduce_462),- (463 , happyReduce_463)- ]--happy_n_terms = 102 :: Int-happy_n_nonterms = 125 :: Int--happyReduce_4 = happyMonadReduce 1# 0# happyReduction_4-happyReduction_4 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut8 happy_x_1 of { happy_var_1 ->- ( let decls = reverse happy_var_1 in- case decls of- [] -> do{ n <- getNewName; p <- getCurrentPosition; return $ CTranslUnit decls (mkNodeInfo' p (p,0) n) }- (d:ds) -> withNodeInfo d $ CTranslUnit decls)}- ) (\r -> happyReturn (happyIn7 r))--happyReduce_5 = happySpecReduce_0 1# happyReduction_5-happyReduction_5 = happyIn8- (empty- )--happyReduce_6 = happySpecReduce_2 1# happyReduction_6-happyReduction_6 happy_x_2- happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 ->- happyIn8- (happy_var_1- )}--happyReduce_7 = happySpecReduce_2 1# happyReduction_7-happyReduction_7 happy_x_2- happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 ->- case happyOut9 happy_x_2 of { happy_var_2 ->- happyIn8- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_8 = happySpecReduce_1 2# happyReduction_8-happyReduction_8 happy_x_1- = case happyOut10 happy_x_1 of { happy_var_1 ->- happyIn9- (CFDefExt happy_var_1- )}--happyReduce_9 = happySpecReduce_1 2# happyReduction_9-happyReduction_9 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 ->- happyIn9- (CDeclExt happy_var_1- )}--happyReduce_10 = happySpecReduce_2 2# happyReduction_10-happyReduction_10 happy_x_2- happy_x_1- = case happyOut9 happy_x_2 of { happy_var_2 ->- happyIn9- (happy_var_2- )}--happyReduce_11 = happyMonadReduce 5# 2# happyReduction_11-happyReduction_11 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut123 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CAsmExt happy_var_3)}}- ) (\r -> happyReturn (happyIn9 r))--happyReduce_12 = happyMonadReduce 2# 3# happyReduction_12-happyReduction_12 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut11 happy_x_1 of { happy_var_1 ->- case happyOut14 happy_x_2 of { happy_var_2 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef [] happy_var_1 [] happy_var_2))}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_13 = happyMonadReduce 3# 3# happyReduction_13-happyReduction_13 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftCAttrs happy_var_1) happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_14 = happyMonadReduce 3# 3# happyReduction_14-happyReduction_14 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_15 = happyMonadReduce 3# 3# happyReduction_15-happyReduction_15 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_16 = happyMonadReduce 3# 3# happyReduction_16-happyReduction_16 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_17 = happyMonadReduce 3# 3# happyReduction_17-happyReduction_17 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_18 = happyMonadReduce 4# 3# happyReduction_18-happyReduction_18 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut11 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) happy_var_3 [] happy_var_4))}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_19 = happyMonadReduce 3# 3# happyReduction_19-happyReduction_19 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut76 happy_x_1 of { happy_var_1 ->- case happyOut33 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CFunDef [] happy_var_1 (reverse happy_var_2) happy_var_3)}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_20 = happyMonadReduce 4# 3# happyReduction_20-happyReduction_20 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut76 happy_x_2 of { happy_var_2 ->- case happyOut33 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ CFunDef (liftCAttrs happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_21 = happyMonadReduce 4# 3# happyReduction_21-happyReduction_21 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut76 happy_x_2 of { happy_var_2 ->- case happyOut33 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 (reverse happy_var_3) happy_var_4)}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_22 = happyMonadReduce 4# 3# happyReduction_22-happyReduction_22 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut76 happy_x_2 of { happy_var_2 ->- case happyOut33 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 (reverse happy_var_3) happy_var_4)}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_23 = happyMonadReduce 4# 3# happyReduction_23-happyReduction_23 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut76 happy_x_2 of { happy_var_2 ->- case happyOut33 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_24 = happyMonadReduce 4# 3# happyReduction_24-happyReduction_24 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut76 happy_x_2 of { happy_var_2 ->- case happyOut33 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_25 = happyMonadReduce 5# 3# happyReduction_25-happyReduction_25 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut76 happy_x_3 of { happy_var_3 ->- case happyOut33 happy_x_4 of { happy_var_4 ->- case happyOut14 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) happy_var_3 (reverse happy_var_4) happy_var_5)}}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_26 = happyMonadReduce 1# 4# happyReduction_26-happyReduction_26 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut72 happy_x_1 of { happy_var_1 ->- ( let declr = reverseDeclr happy_var_1 in- enterScope >> doFuncParamDeclIdent declr >> return declr)}- ) (\r -> happyReturn (happyIn11 r))--happyReduce_27 = happySpecReduce_1 5# happyReduction_27-happyReduction_27 happy_x_1- = case happyOut13 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_28 = happySpecReduce_1 5# happyReduction_28-happyReduction_28 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_29 = happySpecReduce_1 5# happyReduction_29-happyReduction_29 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_30 = happySpecReduce_1 5# happyReduction_30-happyReduction_30 happy_x_1- = case happyOut23 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_31 = happySpecReduce_1 5# happyReduction_31-happyReduction_31 happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_32 = happySpecReduce_1 5# happyReduction_32-happyReduction_32 happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_33 = happyMonadReduce 1# 5# happyReduction_33-happyReduction_33 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut26 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 (CAsm happy_var_1))}- ) (\r -> happyReturn (happyIn12 r))--happyReduce_34 = happyMonadReduce 4# 6# happyReduction_34-happyReduction_34 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut12 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CLabel happy_var_1 happy_var_4 happy_var_3)}}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_35 = happyMonadReduce 4# 6# happyReduction_35-happyReduction_35 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_2 of { happy_var_2 ->- case happyOut12 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CCase happy_var_2 happy_var_4)}}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_36 = happyMonadReduce 3# 6# happyReduction_36-happyReduction_36 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut12 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDefault happy_var_3)}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_37 = happyMonadReduce 6# 6# happyReduction_37-happyReduction_37 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_2 of { happy_var_2 ->- case happyOut121 happy_x_4 of { happy_var_4 ->- case happyOut12 happy_x_6 of { happy_var_6 ->- ( withNodeInfo happy_var_1 $ CCases happy_var_2 happy_var_4 happy_var_6)}}}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_38 = happyMonadReduce 5# 7# happyReduction_38-happyReduction_38 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut17 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CCompound [] (reverse happy_var_3))}}- ) (\r -> happyReturn (happyIn14 r))--happyReduce_39 = happyMonadReduce 6# 7# happyReduction_39-happyReduction_39 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut21 happy_x_3 of { happy_var_3 ->- case happyOut17 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CCompound (reverse happy_var_3) (reverse happy_var_4))}}}- ) (\r -> happyReturn (happyIn14 r))--happyReduce_40 = happyMonadReduce 0# 8# happyReduction_40-happyReduction_40 (happyRest) tk- = happyThen (( enterScope)- ) (\r -> happyReturn (happyIn15 r))--happyReduce_41 = happyMonadReduce 0# 9# happyReduction_41-happyReduction_41 (happyRest) tk- = happyThen (( leaveScope)- ) (\r -> happyReturn (happyIn16 r))--happyReduce_42 = happySpecReduce_0 10# happyReduction_42-happyReduction_42 = happyIn17- (empty- )--happyReduce_43 = happySpecReduce_2 10# happyReduction_43-happyReduction_43 happy_x_2- happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 ->- case happyOut18 happy_x_2 of { happy_var_2 ->- happyIn17- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_44 = happySpecReduce_1 11# happyReduction_44-happyReduction_44 happy_x_1- = case happyOut12 happy_x_1 of { happy_var_1 ->- happyIn18- (CBlockStmt happy_var_1- )}--happyReduce_45 = happySpecReduce_1 11# happyReduction_45-happyReduction_45 happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 ->- happyIn18- (happy_var_1- )}--happyReduce_46 = happySpecReduce_1 12# happyReduction_46-happyReduction_46 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 ->- happyIn19- (CBlockDecl happy_var_1- )}--happyReduce_47 = happySpecReduce_1 12# happyReduction_47-happyReduction_47 happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 ->- happyIn19- (CNestedFunDef happy_var_1- )}--happyReduce_48 = happySpecReduce_2 12# happyReduction_48-happyReduction_48 happy_x_2- happy_x_1- = case happyOut19 happy_x_2 of { happy_var_2 ->- happyIn19- (happy_var_2- )}--happyReduce_49 = happyMonadReduce 3# 13# happyReduction_49-happyReduction_49 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_50 = happyMonadReduce 3# 13# happyReduction_50-happyReduction_50 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_51 = happyMonadReduce 3# 13# happyReduction_51-happyReduction_51 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_52 = happyMonadReduce 3# 13# happyReduction_52-happyReduction_52 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_53 = happyMonadReduce 4# 13# happyReduction_53-happyReduction_53 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut11 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) happy_var_3 [] happy_var_4))}}}}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_54 = happySpecReduce_3 14# happyReduction_54-happyReduction_54 happy_x_3- happy_x_2- happy_x_1- = case happyOut82 happy_x_2 of { happy_var_2 ->- happyIn21- (happy_var_2- )}--happyReduce_55 = happyReduce 4# 14# happyReduction_55-happyReduction_55 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut21 happy_x_1 of { happy_var_1 ->- case happyOut82 happy_x_3 of { happy_var_3 ->- happyIn21- (happy_var_1 `rappendr` happy_var_3- ) `HappyStk` happyRest}}--happyReduce_56 = happyMonadReduce 1# 15# happyReduction_56-happyReduction_56 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CExpr Nothing)}- ) (\r -> happyReturn (happyIn22 r))--happyReduce_57 = happyMonadReduce 2# 15# happyReduction_57-happyReduction_57 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut117 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CExpr (Just happy_var_1))}- ) (\r -> happyReturn (happyIn22 r))--happyReduce_58 = happyMonadReduce 5# 16# happyReduction_58-happyReduction_58 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- case happyOut12 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CIf happy_var_3 happy_var_5 Nothing)}}}- ) (\r -> happyReturn (happyIn23 r))--happyReduce_59 = happyMonadReduce 7# 16# happyReduction_59-happyReduction_59 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- case happyOut12 happy_x_5 of { happy_var_5 ->- case happyOut12 happy_x_7 of { happy_var_7 ->- ( withNodeInfo happy_var_1 $ CIf happy_var_3 happy_var_5 (Just happy_var_7))}}}}- ) (\r -> happyReturn (happyIn23 r))--happyReduce_60 = happyMonadReduce 5# 16# happyReduction_60-happyReduction_60 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- case happyOut12 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CSwitch happy_var_3 happy_var_5)}}}- ) (\r -> happyReturn (happyIn23 r))--happyReduce_61 = happyMonadReduce 5# 17# happyReduction_61-happyReduction_61 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- case happyOut12 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CWhile happy_var_3 happy_var_5 False)}}}- ) (\r -> happyReturn (happyIn24 r))--happyReduce_62 = happyMonadReduce 7# 17# happyReduction_62-happyReduction_62 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut12 happy_x_2 of { happy_var_2 ->- case happyOut117 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CWhile happy_var_5 happy_var_2 True)}}}- ) (\r -> happyReturn (happyIn24 r))--happyReduce_63 = happyMonadReduce 9# 17# happyReduction_63-happyReduction_63 (happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut119 happy_x_3 of { happy_var_3 ->- case happyOut119 happy_x_5 of { happy_var_5 ->- case happyOut119 happy_x_7 of { happy_var_7 ->- case happyOut12 happy_x_9 of { happy_var_9 ->- ( withNodeInfo happy_var_1 $ CFor (Left happy_var_3) happy_var_5 happy_var_7 happy_var_9)}}}}}- ) (\r -> happyReturn (happyIn24 r))--happyReduce_64 = happyMonadReduce 10# 17# happyReduction_64-happyReduction_64 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut32 happy_x_4 of { happy_var_4 ->- case happyOut119 happy_x_5 of { happy_var_5 ->- case happyOut119 happy_x_7 of { happy_var_7 ->- case happyOut12 happy_x_9 of { happy_var_9 ->- ( withNodeInfo happy_var_1 $ CFor (Right happy_var_4) happy_var_5 happy_var_7 happy_var_9)}}}}}- ) (\r -> happyReturn (happyIn24 r))--happyReduce_65 = happyMonadReduce 3# 18# happyReduction_65-happyReduction_65 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CGoto happy_var_2)}}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_66 = happyMonadReduce 4# 18# happyReduction_66-happyReduction_66 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CGotoPtr happy_var_3)}}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_67 = happyMonadReduce 2# 18# happyReduction_67-happyReduction_67 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CCont)}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_68 = happyMonadReduce 2# 18# happyReduction_68-happyReduction_68 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CBreak)}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_69 = happyMonadReduce 3# 18# happyReduction_69-happyReduction_69 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut119 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CReturn happy_var_2)}}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_70 = happyMonadReduce 6# 19# happyReduction_70-happyReduction_70 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut27 happy_x_2 of { happy_var_2 ->- case happyOut123 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 [] [] [])}}}- ) (\r -> happyReturn (happyIn26 r))--happyReduce_71 = happyMonadReduce 8# 19# happyReduction_71-happyReduction_71 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut27 happy_x_2 of { happy_var_2 ->- case happyOut123 happy_x_4 of { happy_var_4 ->- case happyOut28 happy_x_6 of { happy_var_6 ->- ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 [] [])}}}}- ) (\r -> happyReturn (happyIn26 r))--happyReduce_72 = happyMonadReduce 10# 19# happyReduction_72-happyReduction_72 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut27 happy_x_2 of { happy_var_2 ->- case happyOut123 happy_x_4 of { happy_var_4 ->- case happyOut28 happy_x_6 of { happy_var_6 ->- case happyOut28 happy_x_8 of { happy_var_8 ->- ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 happy_var_8 [])}}}}}- ) (\r -> happyReturn (happyIn26 r))--happyReduce_73 = happyMonadReduce 12# 19# happyReduction_73-happyReduction_73 (happy_x_12 `HappyStk`- happy_x_11 `HappyStk`- happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut27 happy_x_2 of { happy_var_2 ->- case happyOut123 happy_x_4 of { happy_var_4 ->- case happyOut28 happy_x_6 of { happy_var_6 ->- case happyOut28 happy_x_8 of { happy_var_8 ->- case happyOut31 happy_x_10 of { happy_var_10 ->- ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 happy_var_8 (reverse happy_var_10))}}}}}}- ) (\r -> happyReturn (happyIn26 r))--happyReduce_74 = happySpecReduce_0 20# happyReduction_74-happyReduction_74 = happyIn27- (Nothing- )--happyReduce_75 = happySpecReduce_1 20# happyReduction_75-happyReduction_75 happy_x_1- = case happyOut61 happy_x_1 of { happy_var_1 ->- happyIn27- (Just happy_var_1- )}--happyReduce_76 = happySpecReduce_0 21# happyReduction_76-happyReduction_76 = happyIn28- ([]- )--happyReduce_77 = happySpecReduce_1 21# happyReduction_77-happyReduction_77 happy_x_1- = case happyOut29 happy_x_1 of { happy_var_1 ->- happyIn28- (reverse happy_var_1- )}--happyReduce_78 = happySpecReduce_1 22# happyReduction_78-happyReduction_78 happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 ->- happyIn29- (singleton happy_var_1- )}--happyReduce_79 = happySpecReduce_3 22# happyReduction_79-happyReduction_79 happy_x_3- happy_x_2- happy_x_1- = case happyOut29 happy_x_1 of { happy_var_1 ->- case happyOut30 happy_x_3 of { happy_var_3 ->- happyIn29- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_80 = happyMonadReduce 4# 23# happyReduction_80-happyReduction_80 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut123 happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CAsmOperand Nothing happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn30 r))--happyReduce_81 = happyMonadReduce 7# 23# happyReduction_81-happyReduction_81 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { (CTokIdent _ happy_var_2) ->- case happyOut123 happy_x_4 of { happy_var_4 ->- case happyOut117 happy_x_6 of { happy_var_6 ->- ( withNodeInfo happy_var_1 $ CAsmOperand (Just happy_var_2) happy_var_4 happy_var_6)}}}}- ) (\r -> happyReturn (happyIn30 r))--happyReduce_82 = happyMonadReduce 7# 23# happyReduction_82-happyReduction_82 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->- case happyOut123 happy_x_4 of { happy_var_4 ->- case happyOut117 happy_x_6 of { happy_var_6 ->- ( withNodeInfo happy_var_1 $ CAsmOperand (Just happy_var_2) happy_var_4 happy_var_6)}}}}- ) (\r -> happyReturn (happyIn30 r))--happyReduce_83 = happySpecReduce_1 24# happyReduction_83-happyReduction_83 happy_x_1- = case happyOut123 happy_x_1 of { happy_var_1 ->- happyIn31- (singleton happy_var_1- )}--happyReduce_84 = happySpecReduce_3 24# happyReduction_84-happyReduction_84 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 ->- case happyOut123 happy_x_3 of { happy_var_3 ->- happyIn31- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_85 = happyMonadReduce 2# 25# happyReduction_85-happyReduction_85 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}- ) (\r -> happyReturn (happyIn32 r))--happyReduce_86 = happyMonadReduce 2# 25# happyReduction_86-happyReduction_86 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut46 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}- ) (\r -> happyReturn (happyIn32 r))--happyReduce_87 = happyMonadReduce 2# 25# happyReduction_87-happyReduction_87 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut36 happy_x_1 of { happy_var_1 ->- ( case happy_var_1 of CDecl declspecs dies at -> withLength at (CDecl declspecs (List.reverse dies)))}- ) (\r -> happyReturn (happyIn32 r))--happyReduce_88 = happyMonadReduce 2# 25# happyReduction_88-happyReduction_88 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut34 happy_x_1 of { happy_var_1 ->- ( case happy_var_1 of CDecl declspecs dies at -> withLength at (CDecl declspecs (List.reverse dies)))}- ) (\r -> happyReturn (happyIn32 r))--happyReduce_89 = happySpecReduce_0 26# happyReduction_89-happyReduction_89 = happyIn33- (empty- )--happyReduce_90 = happySpecReduce_2 26# happyReduction_90-happyReduction_90 happy_x_2- happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 ->- case happyOut32 happy_x_2 of { happy_var_2 ->- happyIn33- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_91 = happyMonadReduce 4# 27# happyReduction_91-happyReduction_91 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut35 happy_x_3 of { happy_var_3 ->- case happyOut91 happy_x_4 of { happy_var_4 ->- ( let declspecs = reverse happy_var_1 in- do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2- ; doDeclIdent declspecs declr- ; withNodeInfo happy_var_1 $- CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}- ) (\r -> happyReturn (happyIn34 r))--happyReduce_92 = happyMonadReduce 4# 27# happyReduction_92-happyReduction_92 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut35 happy_x_3 of { happy_var_3 ->- case happyOut91 happy_x_4 of { happy_var_4 ->- ( let declspecs = liftTypeQuals happy_var_1 in- do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2- ; doDeclIdent declspecs declr- ; withNodeInfo happy_var_1 $ CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}- ) (\r -> happyReturn (happyIn34 r))--happyReduce_93 = happyMonadReduce 5# 27# happyReduction_93-happyReduction_93 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut72 happy_x_3 of { happy_var_3 ->- case happyOut35 happy_x_4 of { happy_var_4 ->- case happyOut91 happy_x_5 of { happy_var_5 ->- ( let declspecs = liftTypeQuals happy_var_1 in- do{ declr <- withAsmNameAttrs happy_var_4 happy_var_3- ; doDeclIdent declspecs declr- ; withNodeInfo happy_var_1 $ CDecl (declspecs ++ liftCAttrs happy_var_2) [(Just (reverseDeclr declr), happy_var_5, Nothing)] })}}}}}- ) (\r -> happyReturn (happyIn34 r))--happyReduce_94 = happyMonadReduce 4# 27# happyReduction_94-happyReduction_94 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut35 happy_x_3 of { happy_var_3 ->- case happyOut91 happy_x_4 of { happy_var_4 ->- ( let declspecs = liftCAttrs happy_var_1 in- do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2- ; doDeclIdent declspecs declr- ; withNodeInfo happy_var_1 $ CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}- ) (\r -> happyReturn (happyIn34 r))--happyReduce_95 = happyMonadReduce 6# 27# happyReduction_95-happyReduction_95 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut34 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut72 happy_x_4 of { happy_var_4 ->- case happyOut35 happy_x_5 of { happy_var_5 ->- case happyOut91 happy_x_6 of { happy_var_6 ->- ( case happy_var_1 of- CDecl declspecs dies at -> do- declr <- withAsmNameAttrs (fst happy_var_5, snd happy_var_5 ++ happy_var_3) happy_var_4- doDeclIdent declspecs declr- withLength at $ CDecl declspecs ((Just (reverseDeclr declr), happy_var_6, Nothing) : dies))}}}}}- ) (\r -> happyReturn (happyIn34 r))--happyReduce_96 = happySpecReduce_2 28# happyReduction_96-happyReduction_96 happy_x_2- happy_x_1- = case happyOut64 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- happyIn35- ((happy_var_1,happy_var_2)- )}}--happyReduce_97 = happyMonadReduce 4# 29# happyReduction_97-happyReduction_97 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut63 happy_x_2 of { happy_var_2 ->- case happyOut35 happy_x_3 of { happy_var_3 ->- case happyOut91 happy_x_4 of { happy_var_4 ->- ( do{- declr <- withAsmNameAttrs happy_var_3 happy_var_2;- doDeclIdent happy_var_1 declr;- withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}- ) (\r -> happyReturn (happyIn36 r))--happyReduce_98 = happyMonadReduce 4# 29# happyReduction_98-happyReduction_98 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut63 happy_x_2 of { happy_var_2 ->- case happyOut35 happy_x_3 of { happy_var_3 ->- case happyOut91 happy_x_4 of { happy_var_4 ->- ( do{- declr <- withAsmNameAttrs happy_var_3 happy_var_2;- doDeclIdent happy_var_1 declr;- withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}- ) (\r -> happyReturn (happyIn36 r))--happyReduce_99 = happyMonadReduce 6# 29# happyReduction_99-happyReduction_99 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut36 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut63 happy_x_4 of { happy_var_4 ->- case happyOut35 happy_x_5 of { happy_var_5 ->- case happyOut91 happy_x_6 of { happy_var_6 ->- ( case happy_var_1 of- CDecl declspecs dies at -> do- declr <- withAsmNameAttrs (fst happy_var_5, snd happy_var_5 ++ happy_var_3) happy_var_4- doDeclIdent declspecs declr- return (CDecl declspecs ((Just (reverseDeclr declr), happy_var_6, Nothing) : dies) at))}}}}}- ) (\r -> happyReturn (happyIn36 r))--happyReduce_100 = happySpecReduce_1 30# happyReduction_100-happyReduction_100 happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 ->- happyIn37- (reverse happy_var_1- )}--happyReduce_101 = happySpecReduce_1 30# happyReduction_101-happyReduction_101 happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 ->- happyIn37- (reverse happy_var_1- )}--happyReduce_102 = happySpecReduce_1 30# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 ->- happyIn37- (reverse happy_var_1- )}--happyReduce_103 = happySpecReduce_1 31# happyReduction_103-happyReduction_103 happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 ->- happyIn38- (singleton (CStorageSpec happy_var_1)- )}--happyReduce_104 = happySpecReduce_2 31# happyReduction_104-happyReduction_104 happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut40 happy_x_2 of { happy_var_2 ->- happyIn38- (reverseList (liftCAttrs happy_var_1) `snoc` (CStorageSpec happy_var_2)- )}}--happyReduce_105 = happySpecReduce_2 31# happyReduction_105-happyReduction_105 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut40 happy_x_2 of { happy_var_2 ->- happyIn38- (rmap CTypeQual happy_var_1 `snoc` CStorageSpec happy_var_2- )}}--happyReduce_106 = happySpecReduce_3 31# happyReduction_106-happyReduction_106 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut40 happy_x_3 of { happy_var_3 ->- happyIn38- ((rmap CTypeQual happy_var_1 `rappend` liftCAttrs happy_var_2) `snoc` CStorageSpec happy_var_3- )}}}--happyReduce_107 = happySpecReduce_2 31# happyReduction_107-happyReduction_107 happy_x_2- happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut39 happy_x_2 of { happy_var_2 ->- happyIn38- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_108 = happySpecReduce_2 31# happyReduction_108-happyReduction_108 happy_x_2- happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn38- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_109 = happySpecReduce_1 32# happyReduction_109-happyReduction_109 happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 ->- happyIn39- (CStorageSpec happy_var_1- )}--happyReduce_110 = happySpecReduce_1 32# happyReduction_110-happyReduction_110 happy_x_1- = case happyOut61 happy_x_1 of { happy_var_1 ->- happyIn39- (CTypeQual happy_var_1- )}--happyReduce_111 = happyMonadReduce 1# 33# happyReduction_111-happyReduction_111 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CTypedef)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_112 = happyMonadReduce 1# 33# happyReduction_112-happyReduction_112 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CExtern)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_113 = happyMonadReduce 1# 33# happyReduction_113-happyReduction_113 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CStatic)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_114 = happyMonadReduce 1# 33# happyReduction_114-happyReduction_114 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CAuto)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_115 = happyMonadReduce 1# 33# happyReduction_115-happyReduction_115 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CRegister)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_116 = happyMonadReduce 1# 33# happyReduction_116-happyReduction_116 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CThread)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_117 = happySpecReduce_1 34# happyReduction_117-happyReduction_117 happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 ->- happyIn41- (reverse happy_var_1- )}--happyReduce_118 = happySpecReduce_1 34# happyReduction_118-happyReduction_118 happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 ->- happyIn41- (reverse happy_var_1- )}--happyReduce_119 = happySpecReduce_1 34# happyReduction_119-happyReduction_119 happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 ->- happyIn41- (reverse happy_var_1- )}--happyReduce_120 = happyMonadReduce 1# 35# happyReduction_120-happyReduction_120 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CVoidType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_121 = happyMonadReduce 1# 35# happyReduction_121-happyReduction_121 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CCharType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_122 = happyMonadReduce 1# 35# happyReduction_122-happyReduction_122 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CShortType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_123 = happyMonadReduce 1# 35# happyReduction_123-happyReduction_123 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CIntType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_124 = happyMonadReduce 1# 35# happyReduction_124-happyReduction_124 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CLongType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_125 = happyMonadReduce 1# 35# happyReduction_125-happyReduction_125 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CFloatType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_126 = happyMonadReduce 1# 35# happyReduction_126-happyReduction_126 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDoubleType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_127 = happyMonadReduce 1# 35# happyReduction_127-happyReduction_127 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CSignedType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_128 = happyMonadReduce 1# 35# happyReduction_128-happyReduction_128 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CUnsigType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_129 = happyMonadReduce 1# 35# happyReduction_129-happyReduction_129 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CBoolType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_130 = happyMonadReduce 1# 35# happyReduction_130-happyReduction_130 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CComplexType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_131 = happySpecReduce_2 36# happyReduction_131-happyReduction_131 happy_x_2- happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut42 happy_x_2 of { happy_var_2 ->- happyIn43- (happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_132 = happySpecReduce_2 36# happyReduction_132-happyReduction_132 happy_x_2- happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 ->- case happyOut40 happy_x_2 of { happy_var_2 ->- happyIn43- (happy_var_1 `snoc` CStorageSpec happy_var_2- )}}--happyReduce_133 = happySpecReduce_2 36# happyReduction_133-happyReduction_133 happy_x_2- happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 ->- case happyOut39 happy_x_2 of { happy_var_2 ->- happyIn43- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_134 = happySpecReduce_2 36# happyReduction_134-happyReduction_134 happy_x_2- happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 ->- case happyOut42 happy_x_2 of { happy_var_2 ->- happyIn43- (happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_135 = happySpecReduce_2 36# happyReduction_135-happyReduction_135 happy_x_2- happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn43- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_136 = happySpecReduce_1 37# happyReduction_136-happyReduction_136 happy_x_1- = case happyOut42 happy_x_1 of { happy_var_1 ->- happyIn44- (singleton (CTypeSpec happy_var_1)- )}--happyReduce_137 = happySpecReduce_2 37# happyReduction_137-happyReduction_137 happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut42 happy_x_2 of { happy_var_2 ->- happyIn44- ((reverseList $ liftCAttrs happy_var_1) `snoc` (CTypeSpec happy_var_2)- )}}--happyReduce_138 = happySpecReduce_2 37# happyReduction_138-happyReduction_138 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut42 happy_x_2 of { happy_var_2 ->- happyIn44- (rmap CTypeQual happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_139 = happySpecReduce_3 37# happyReduction_139-happyReduction_139 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut42 happy_x_3 of { happy_var_3 ->- happyIn44- (rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec happy_var_3- )}}}--happyReduce_140 = happySpecReduce_2 37# happyReduction_140-happyReduction_140 happy_x_2- happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 ->- case happyOut61 happy_x_2 of { happy_var_2 ->- happyIn44- (happy_var_1 `snoc` CTypeQual happy_var_2- )}}--happyReduce_141 = happySpecReduce_2 37# happyReduction_141-happyReduction_141 happy_x_2- happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 ->- case happyOut42 happy_x_2 of { happy_var_2 ->- happyIn44- (happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_142 = happySpecReduce_2 37# happyReduction_142-happyReduction_142 happy_x_2- happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn44- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_143 = happySpecReduce_2 38# happyReduction_143-happyReduction_143 happy_x_2- happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut49 happy_x_2 of { happy_var_2 ->- happyIn45- (happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_144 = happySpecReduce_2 38# happyReduction_144-happyReduction_144 happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 ->- case happyOut40 happy_x_2 of { happy_var_2 ->- happyIn45- (happy_var_1 `snoc` CStorageSpec happy_var_2- )}}--happyReduce_145 = happySpecReduce_2 38# happyReduction_145-happyReduction_145 happy_x_2- happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 ->- case happyOut39 happy_x_2 of { happy_var_2 ->- happyIn45- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_146 = happySpecReduce_2 38# happyReduction_146-happyReduction_146 happy_x_2- happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn45- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_147 = happySpecReduce_1 39# happyReduction_147-happyReduction_147 happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 ->- happyIn46- (singleton (CTypeSpec happy_var_1)- )}--happyReduce_148 = happySpecReduce_2 39# happyReduction_148-happyReduction_148 happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut49 happy_x_2 of { happy_var_2 ->- happyIn46- ((reverseList $ liftCAttrs happy_var_1) `snoc` (CTypeSpec happy_var_2)- )}}--happyReduce_149 = happySpecReduce_2 39# happyReduction_149-happyReduction_149 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut49 happy_x_2 of { happy_var_2 ->- happyIn46- (rmap CTypeQual happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_150 = happySpecReduce_3 39# happyReduction_150-happyReduction_150 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut49 happy_x_3 of { happy_var_3 ->- happyIn46- (rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec happy_var_3- )}}}--happyReduce_151 = happySpecReduce_2 39# happyReduction_151-happyReduction_151 happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 ->- case happyOut61 happy_x_2 of { happy_var_2 ->- happyIn46- (happy_var_1 `snoc` CTypeQual happy_var_2- )}}--happyReduce_152 = happySpecReduce_2 39# happyReduction_152-happyReduction_152 happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn46- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_153 = happySpecReduce_2 40# happyReduction_153-happyReduction_153 happy_x_2- happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 ->- case happyOut40 happy_x_2 of { happy_var_2 ->- happyIn47- (happy_var_1 `snoc` CStorageSpec happy_var_2- )}}--happyReduce_154 = happyMonadReduce 2# 40# happyReduction_154-happyReduction_154 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->- ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeDef happy_var_2 at))}}- ) (\r -> happyReturn (happyIn47 r))--happyReduce_155 = happyMonadReduce 5# 40# happyReduction_155-happyReduction_155 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- case happyOut117 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeOfExpr happy_var_4 at))}}}- ) (\r -> happyReturn (happyIn47 r))--happyReduce_156 = happyMonadReduce 5# 40# happyReduction_156-happyReduction_156 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- case happyOut83 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeOfType happy_var_4 at))}}}- ) (\r -> happyReturn (happyIn47 r))--happyReduce_157 = happySpecReduce_2 40# happyReduction_157-happyReduction_157 happy_x_2- happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 ->- case happyOut39 happy_x_2 of { happy_var_2 ->- happyIn47- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_158 = happySpecReduce_2 40# happyReduction_158-happyReduction_158 happy_x_2- happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn47- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_159 = happyMonadReduce 1# 41# happyReduction_159-happyReduction_159 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeDef happy_var_1 at)))}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_160 = happyMonadReduce 4# 41# happyReduction_160-happyReduction_160 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeOfExpr happy_var_3 at)))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_161 = happyMonadReduce 4# 41# happyReduction_161-happyReduction_161 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeOfType happy_var_3 at)))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_162 = happyMonadReduce 2# 41# happyReduction_162-happyReduction_162 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->- ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual happy_var_1 `snoc` CTypeSpec (CTypeDef happy_var_2 at))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_163 = happyMonadReduce 5# 41# happyReduction_163-happyReduction_163 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- case happyOut117 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual happy_var_1 `snoc` CTypeSpec (CTypeOfExpr happy_var_4 at))}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_164 = happyMonadReduce 5# 41# happyReduction_164-happyReduction_164 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- case happyOut83 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual happy_var_1 `snoc` CTypeSpec (CTypeOfType happy_var_4 at))}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_165 = happyMonadReduce 2# 41# happyReduction_165-happyReduction_165 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->- ( withNodeInfo happy_var_2 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc` (CTypeSpec (CTypeDef happy_var_2 at)))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_166 = happyMonadReduce 5# 41# happyReduction_166-happyReduction_166 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc` (CTypeSpec (CTypeOfExpr happy_var_4 at)))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_167 = happyMonadReduce 5# 41# happyReduction_167-happyReduction_167 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- case happyOut83 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc` (CTypeSpec (CTypeOfType happy_var_4 at)))}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_168 = happyMonadReduce 3# 41# happyReduction_168-happyReduction_168 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOutTok happy_x_3 of { (CTokTyIdent _ happy_var_3) ->- ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeDef happy_var_3 at))}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_169 = happyMonadReduce 6# 41# happyReduction_169-happyReduction_169 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOutTok happy_x_3 of { happy_var_3 ->- case happyOut117 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeOfExpr happy_var_5 at))}}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_170 = happyMonadReduce 6# 41# happyReduction_170-happyReduction_170 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOutTok happy_x_3 of { happy_var_3 ->- case happyOut83 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeOfType happy_var_5 at))}}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_171 = happySpecReduce_2 41# happyReduction_171-happyReduction_171 happy_x_2- happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 ->- case happyOut61 happy_x_2 of { happy_var_2 ->- happyIn48- (happy_var_1 `snoc` CTypeQual happy_var_2- )}}--happyReduce_172 = happySpecReduce_2 41# happyReduction_172-happyReduction_172 happy_x_2- happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn48- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_173 = happyMonadReduce 1# 42# happyReduction_173-happyReduction_173 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut50 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CSUType happy_var_1)}- ) (\r -> happyReturn (happyIn49 r))--happyReduce_174 = happyMonadReduce 1# 42# happyReduction_174-happyReduction_174 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut58 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CEnumType happy_var_1)}- ) (\r -> happyReturn (happyIn49 r))--happyReduce_175 = happyMonadReduce 6# 43# happyReduction_175-happyReduction_175 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- case happyOut52 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_176 = happyMonadReduce 5# 43# happyReduction_176-happyReduction_176 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut52 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) Nothing (Just$ reverse happy_var_4) happy_var_2)}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_177 = happyMonadReduce 3# 43# happyReduction_177-happyReduction_177 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) (Just happy_var_3) Nothing happy_var_2)}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_178 = happySpecReduce_1 44# happyReduction_178-happyReduction_178 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn51- (L CStructTag (posOf happy_var_1)- )}--happyReduce_179 = happySpecReduce_1 44# happyReduction_179-happyReduction_179 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn51- (L CUnionTag (posOf happy_var_1)- )}--happyReduce_180 = happySpecReduce_0 45# happyReduction_180-happyReduction_180 = happyIn52- (empty- )--happyReduce_181 = happySpecReduce_2 45# happyReduction_181-happyReduction_181 happy_x_2- happy_x_1- = case happyOut52 happy_x_1 of { happy_var_1 ->- happyIn52- (happy_var_1- )}--happyReduce_182 = happySpecReduce_2 45# happyReduction_182-happyReduction_182 happy_x_2- happy_x_1- = case happyOut52 happy_x_1 of { happy_var_1 ->- case happyOut53 happy_x_2 of { happy_var_2 ->- happyIn52- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_183 = happySpecReduce_2 46# happyReduction_183-happyReduction_183 happy_x_2- happy_x_1- = case happyOut55 happy_x_1 of { happy_var_1 ->- happyIn53- (case happy_var_1 of CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at- )}--happyReduce_184 = happySpecReduce_2 46# happyReduction_184-happyReduction_184 happy_x_2- happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 ->- happyIn53- (case happy_var_1 of CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at- )}--happyReduce_185 = happySpecReduce_2 46# happyReduction_185-happyReduction_185 happy_x_2- happy_x_1- = case happyOut53 happy_x_2 of { happy_var_2 ->- happyIn53- (happy_var_2- )}--happyReduce_186 = happyMonadReduce 3# 47# happyReduction_186-happyReduction_186 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut57 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ case happy_var_3 of (d,s) -> CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [(d,Nothing,s)])}}}- ) (\r -> happyReturn (happyIn54 r))--happyReduce_187 = happyMonadReduce 2# 47# happyReduction_187-happyReduction_187 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut57 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ case happy_var_2 of (d,s) -> CDecl (liftCAttrs happy_var_1) [(d,Nothing,s)])}}- ) (\r -> happyReturn (happyIn54 r))--happyReduce_188 = happyReduce 4# 47# happyReduction_188-happyReduction_188 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut54 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut57 happy_x_4 of { happy_var_4 ->- happyIn54- (case happy_var_1 of- CDecl declspecs dies at ->- case happy_var_4 of- (Just d,s) -> CDecl declspecs ((Just $ appendObjAttrs happy_var_3 d,Nothing,s) : dies) at- (Nothing,s) -> CDecl declspecs ((Nothing,Nothing,s) : dies) at- ) `HappyStk` happyRest}}}--happyReduce_189 = happyMonadReduce 3# 48# happyReduction_189-happyReduction_189 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut56 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ case happy_var_2 of { (Just d,s) -> CDecl happy_var_1 [(Just $! appendObjAttrs happy_var_3 d,Nothing,s)]- ; (Nothing,s) -> CDecl happy_var_1 [(Nothing,Nothing,s)] })}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_190 = happyReduce 5# 48# happyReduction_190-happyReduction_190 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut55 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut56 happy_x_4 of { happy_var_4 ->- case happyOut126 happy_x_5 of { happy_var_5 ->- happyIn55- (case happy_var_1 of- CDecl declspecs dies attr ->- case happy_var_4 of- (Just d,s) -> CDecl declspecs ((Just$ appendObjAttrs (happy_var_3++happy_var_5) d,Nothing,s) : dies) attr- (Nothing,s) -> CDecl declspecs ((Nothing,Nothing,s) : dies) attr- ) `HappyStk` happyRest}}}}--happyReduce_191 = happyMonadReduce 1# 48# happyReduction_191-happyReduction_191 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_192 = happySpecReduce_1 49# happyReduction_192-happyReduction_192 happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 ->- happyIn56- ((Just (reverseDeclr happy_var_1), Nothing)- )}--happyReduce_193 = happySpecReduce_2 49# happyReduction_193-happyReduction_193 happy_x_2- happy_x_1- = case happyOut121 happy_x_2 of { happy_var_2 ->- happyIn56- ((Nothing, Just happy_var_2)- )}--happyReduce_194 = happySpecReduce_3 49# happyReduction_194-happyReduction_194 happy_x_3- happy_x_2- happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_3 of { happy_var_3 ->- happyIn56- ((Just (reverseDeclr happy_var_1), Just happy_var_3)- )}}--happyReduce_195 = happySpecReduce_1 50# happyReduction_195-happyReduction_195 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 ->- happyIn57- ((Just (reverseDeclr happy_var_1), Nothing)- )}--happyReduce_196 = happySpecReduce_2 50# happyReduction_196-happyReduction_196 happy_x_2- happy_x_1- = case happyOut121 happy_x_2 of { happy_var_2 ->- happyIn57- ((Nothing, Just happy_var_2)- )}--happyReduce_197 = happySpecReduce_3 50# happyReduction_197-happyReduction_197 happy_x_3- happy_x_2- happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_3 of { happy_var_3 ->- happyIn57- ((Just (reverseDeclr happy_var_1), Just happy_var_3)- )}}--happyReduce_198 = happySpecReduce_2 50# happyReduction_198-happyReduction_198 happy_x_2- happy_x_1- = case happyOut57 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn57- (case happy_var_1 of { (Nothing,expr) -> (Nothing,expr) {- FIXME -}- ; (Just (CDeclr name derived asmname attrs node), bsz) ->- (Just (CDeclr name derived asmname (attrs++happy_var_2) node),bsz)- }- )}}--happyReduce_199 = happyMonadReduce 5# 51# happyReduction_199-happyReduction_199 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut59 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CEnum Nothing (Just$ reverse happy_var_4) happy_var_2)}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_200 = happyMonadReduce 6# 51# happyReduction_200-happyReduction_200 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut59 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CEnum Nothing (Just$ reverse happy_var_4) happy_var_2)}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_201 = happyMonadReduce 6# 51# happyReduction_201-happyReduction_201 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- case happyOut59 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_202 = happyMonadReduce 7# 51# happyReduction_202-happyReduction_202 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- case happyOut59 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_203 = happyMonadReduce 3# 51# happyReduction_203-happyReduction_203 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) Nothing happy_var_2)}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_204 = happySpecReduce_1 52# happyReduction_204-happyReduction_204 happy_x_1- = case happyOut60 happy_x_1 of { happy_var_1 ->- happyIn59- (singleton happy_var_1- )}--happyReduce_205 = happySpecReduce_3 52# happyReduction_205-happyReduction_205 happy_x_3- happy_x_2- happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 ->- case happyOut60 happy_x_3 of { happy_var_3 ->- happyIn59- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_206 = happySpecReduce_1 53# happyReduction_206-happyReduction_206 happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 ->- happyIn60- ((happy_var_1, Nothing)- )}--happyReduce_207 = happySpecReduce_3 53# happyReduction_207-happyReduction_207 happy_x_3- happy_x_2- happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_3 of { happy_var_3 ->- happyIn60- ((happy_var_1, Just happy_var_3)- )}}--happyReduce_208 = happyMonadReduce 1# 54# happyReduction_208-happyReduction_208 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CConstQual)}- ) (\r -> happyReturn (happyIn61 r))--happyReduce_209 = happyMonadReduce 1# 54# happyReduction_209-happyReduction_209 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CVolatQual)}- ) (\r -> happyReturn (happyIn61 r))--happyReduce_210 = happyMonadReduce 1# 54# happyReduction_210-happyReduction_210 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CRestrQual)}- ) (\r -> happyReturn (happyIn61 r))--happyReduce_211 = happyMonadReduce 1# 54# happyReduction_211-happyReduction_211 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CInlineQual)}- ) (\r -> happyReturn (happyIn61 r))--happyReduce_212 = happySpecReduce_2 55# happyReduction_212-happyReduction_212 happy_x_2- happy_x_1- = case happyOut126 happy_x_1 of { happy_var_1 ->- case happyOut61 happy_x_2 of { happy_var_2 ->- happyIn62- (reverseList (map CAttrQual happy_var_1) `snoc` happy_var_2- )}}--happyReduce_213 = happySpecReduce_2 55# happyReduction_213-happyReduction_213 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut61 happy_x_2 of { happy_var_2 ->- happyIn62- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_214 = happySpecReduce_3 55# happyReduction_214-happyReduction_214 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut61 happy_x_3 of { happy_var_3 ->- happyIn62- ((happy_var_1 `rappend` map CAttrQual happy_var_2) `snoc` happy_var_3- )}}}--happyReduce_215 = happySpecReduce_1 56# happyReduction_215-happyReduction_215 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 ->- happyIn63- (happy_var_1- )}--happyReduce_216 = happySpecReduce_1 56# happyReduction_216-happyReduction_216 happy_x_1- = case happyOut65 happy_x_1 of { happy_var_1 ->- happyIn63- (happy_var_1- )}--happyReduce_217 = happySpecReduce_0 57# happyReduction_217-happyReduction_217 = happyIn64- (Nothing- )--happyReduce_218 = happyReduce 4# 57# happyReduction_218-happyReduction_218 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut123 happy_x_3 of { happy_var_3 ->- happyIn64- (Just happy_var_3- ) `HappyStk` happyRest}--happyReduce_219 = happySpecReduce_1 58# happyReduction_219-happyReduction_219 happy_x_1- = case happyOut69 happy_x_1 of { happy_var_1 ->- happyIn65- (happy_var_1- )}--happyReduce_220 = happySpecReduce_1 58# happyReduction_220-happyReduction_220 happy_x_1- = case happyOut66 happy_x_1 of { happy_var_1 ->- happyIn65- (happy_var_1- )}--happyReduce_221 = happyMonadReduce 1# 59# happyReduction_221-happyReduction_221 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}- ) (\r -> happyReturn (happyIn66 r))--happyReduce_222 = happyMonadReduce 2# 59# happyReduction_222-happyReduction_222 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->- case happyOut85 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ \at -> happy_var_2 (mkVarDeclr happy_var_1 at))}}- ) (\r -> happyReturn (happyIn66 r))--happyReduce_223 = happySpecReduce_1 59# happyReduction_223-happyReduction_223 happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 ->- happyIn66- (happy_var_1- )}--happyReduce_224 = happySpecReduce_1 60# happyReduction_224-happyReduction_224 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 ->- happyIn67- (happy_var_1- )}--happyReduce_225 = happyMonadReduce 2# 60# happyReduction_225-happyReduction_225 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut66 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}- ) (\r -> happyReturn (happyIn67 r))--happyReduce_226 = happyMonadReduce 3# 60# happyReduction_226-happyReduction_226 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut66 happy_x_3 of { happy_var_3 ->- ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}- ) (\r -> happyReturn (happyIn67 r))--happyReduce_227 = happyMonadReduce 3# 60# happyReduction_227-happyReduction_227 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut66 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn67 r))--happyReduce_228 = happyMonadReduce 4# 60# happyReduction_228-happyReduction_228 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut66 happy_x_4 of { happy_var_4 ->- ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}- ) (\r -> happyReturn (happyIn67 r))--happyReduce_229 = happySpecReduce_3 61# happyReduction_229-happyReduction_229 happy_x_3- happy_x_2- happy_x_1- = case happyOut67 happy_x_2 of { happy_var_2 ->- happyIn68- (happy_var_2- )}--happyReduce_230 = happyReduce 4# 61# happyReduction_230-happyReduction_230 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut67 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_4 of { happy_var_4 ->- happyIn68- (happy_var_4 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_231 = happyReduce 4# 61# happyReduction_231-happyReduction_231 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut67 happy_x_3 of { happy_var_3 ->- happyIn68- (appendDeclrAttrs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_232 = happyReduce 5# 61# happyReduction_232-happyReduction_232 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut67 happy_x_3 of { happy_var_3 ->- case happyOut85 happy_x_5 of { happy_var_5 ->- happyIn68- (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_233 = happySpecReduce_1 62# happyReduction_233-happyReduction_233 happy_x_1- = case happyOut70 happy_x_1 of { happy_var_1 ->- happyIn69- (happy_var_1- )}--happyReduce_234 = happyMonadReduce 4# 62# happyReduction_234-happyReduction_234 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut71 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 [])}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_235 = happyMonadReduce 5# 62# happyReduction_235-happyReduction_235 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut71 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_236 = happyMonadReduce 6# 62# happyReduction_236-happyReduction_236 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut71 happy_x_5 of { happy_var_5 ->- ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_5 (reverse happy_var_2))}}}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_237 = happyMonadReduce 2# 62# happyReduction_237-happyReduction_237 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut69 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_238 = happyMonadReduce 3# 62# happyReduction_238-happyReduction_238 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut69 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_239 = happyMonadReduce 4# 62# happyReduction_239-happyReduction_239 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut69 happy_x_4 of { happy_var_4 ->- ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_240 = happySpecReduce_3 63# happyReduction_240-happyReduction_240 happy_x_3- happy_x_2- happy_x_1- = case happyOut69 happy_x_2 of { happy_var_2 ->- happyIn70- (happy_var_2- )}--happyReduce_241 = happyReduce 4# 63# happyReduction_241-happyReduction_241 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut71 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_3 of { happy_var_3 ->- happyIn70- (happy_var_3 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_242 = happyReduce 4# 63# happyReduction_242-happyReduction_242 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut69 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_4 of { happy_var_4 ->- happyIn70- (happy_var_4 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_243 = happyMonadReduce 1# 64# happyReduction_243-happyReduction_243 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}- ) (\r -> happyReturn (happyIn71 r))--happyReduce_244 = happySpecReduce_3 64# happyReduction_244-happyReduction_244 happy_x_3- happy_x_2- happy_x_1- = case happyOut71 happy_x_2 of { happy_var_2 ->- happyIn71- (happy_var_2- )}--happyReduce_245 = happySpecReduce_1 65# happyReduction_245-happyReduction_245 happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 ->- happyIn72- (happy_var_1- )}--happyReduce_246 = happySpecReduce_1 65# happyReduction_246-happyReduction_246 happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 ->- happyIn72- (happy_var_1- )}--happyReduce_247 = happySpecReduce_1 66# happyReduction_247-happyReduction_247 happy_x_1- = case happyOut74 happy_x_1 of { happy_var_1 ->- happyIn73- (happy_var_1- )}--happyReduce_248 = happyMonadReduce 2# 66# happyReduction_248-happyReduction_248 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}- ) (\r -> happyReturn (happyIn73 r))--happyReduce_249 = happyMonadReduce 3# 66# happyReduction_249-happyReduction_249 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut72 happy_x_3 of { happy_var_3 ->- ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}- ) (\r -> happyReturn (happyIn73 r))--happyReduce_250 = happyMonadReduce 3# 66# happyReduction_250-happyReduction_250 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut72 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn73 r))--happyReduce_251 = happyMonadReduce 4# 66# happyReduction_251-happyReduction_251 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut72 happy_x_4 of { happy_var_4 ->- ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}- ) (\r -> happyReturn (happyIn73 r))--happyReduce_252 = happySpecReduce_2 67# happyReduction_252-happyReduction_252 happy_x_2- happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 ->- case happyOut85 happy_x_2 of { happy_var_2 ->- happyIn74- (happy_var_2 happy_var_1- )}}--happyReduce_253 = happySpecReduce_3 67# happyReduction_253-happyReduction_253 happy_x_3- happy_x_2- happy_x_1- = case happyOut73 happy_x_2 of { happy_var_2 ->- happyIn74- (happy_var_2- )}--happyReduce_254 = happyReduce 4# 67# happyReduction_254-happyReduction_254 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut73 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_4 of { happy_var_4 ->- happyIn74- (happy_var_4 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_255 = happyReduce 4# 67# happyReduction_255-happyReduction_255 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut73 happy_x_3 of { happy_var_3 ->- happyIn74- (appendDeclrAttrs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_256 = happyReduce 5# 67# happyReduction_256-happyReduction_256 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut73 happy_x_3 of { happy_var_3 ->- case happyOut85 happy_x_5 of { happy_var_5 ->- happyIn74- (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_257 = happyMonadReduce 1# 68# happyReduction_257-happyReduction_257 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}- ) (\r -> happyReturn (happyIn75 r))--happyReduce_258 = happySpecReduce_3 68# happyReduction_258-happyReduction_258 happy_x_3- happy_x_2- happy_x_1- = case happyOut75 happy_x_2 of { happy_var_2 ->- happyIn75- (happy_var_2- )}--happyReduce_259 = happyReduce 4# 68# happyReduction_259-happyReduction_259 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut75 happy_x_3 of { happy_var_3 ->- happyIn75- (appendDeclrAttrs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_260 = happySpecReduce_1 69# happyReduction_260-happyReduction_260 happy_x_1- = case happyOut77 happy_x_1 of { happy_var_1 ->- happyIn76- (reverseDeclr happy_var_1- )}--happyReduce_261 = happySpecReduce_1 70# happyReduction_261-happyReduction_261 happy_x_1- = case happyOut78 happy_x_1 of { happy_var_1 ->- happyIn77- (happy_var_1- )}--happyReduce_262 = happyMonadReduce 2# 70# happyReduction_262-happyReduction_262 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut77 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}- ) (\r -> happyReturn (happyIn77 r))--happyReduce_263 = happyMonadReduce 3# 70# happyReduction_263-happyReduction_263 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut77 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn77 r))--happyReduce_264 = happyMonadReduce 4# 71# happyReduction_264-happyReduction_264 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut75 happy_x_1 of { happy_var_1 ->- case happyOut82 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ funDeclr happy_var_1 (Left $ reverse happy_var_3) [])}}- ) (\r -> happyReturn (happyIn78 r))--happyReduce_265 = happySpecReduce_3 71# happyReduction_265-happyReduction_265 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 ->- happyIn78- (happy_var_2- )}--happyReduce_266 = happyReduce 4# 71# happyReduction_266-happyReduction_266 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut77 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_4 of { happy_var_4 ->- happyIn78- (happy_var_4 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_267 = happySpecReduce_0 72# happyReduction_267-happyReduction_267 = happyIn79- (([], False)- )--happyReduce_268 = happySpecReduce_1 72# happyReduction_268-happyReduction_268 happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 ->- happyIn79- ((reverse happy_var_1, False)- )}--happyReduce_269 = happySpecReduce_3 72# happyReduction_269-happyReduction_269 happy_x_3- happy_x_2- happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 ->- happyIn79- ((reverse happy_var_1, True)- )}--happyReduce_270 = happySpecReduce_1 73# happyReduction_270-happyReduction_270 happy_x_1- = case happyOut81 happy_x_1 of { happy_var_1 ->- happyIn80- (singleton happy_var_1- )}--happyReduce_271 = happySpecReduce_3 73# happyReduction_271-happyReduction_271 happy_x_3- happy_x_2- happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 ->- case happyOut81 happy_x_3 of { happy_var_3 ->- happyIn80- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_272 = happyMonadReduce 1# 74# happyReduction_272-happyReduction_272 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_273 = happyMonadReduce 2# 74# happyReduction_273-happyReduction_273 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_274 = happyMonadReduce 3# 74# happyReduction_274-happyReduction_274 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_275 = happyMonadReduce 3# 74# happyReduction_275-happyReduction_275 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut66 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_276 = happyMonadReduce 1# 74# happyReduction_276-happyReduction_276 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_277 = happyMonadReduce 2# 74# happyReduction_277-happyReduction_277 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_278 = happyMonadReduce 3# 74# happyReduction_278-happyReduction_278 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_279 = happyMonadReduce 1# 74# happyReduction_279-happyReduction_279 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_280 = happyMonadReduce 2# 74# happyReduction_280-happyReduction_280 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_281 = happyMonadReduce 3# 74# happyReduction_281-happyReduction_281 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_282 = happyMonadReduce 3# 74# happyReduction_282-happyReduction_282 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut66 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_283 = happyMonadReduce 1# 74# happyReduction_283-happyReduction_283 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [])}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_284 = happyMonadReduce 2# 74# happyReduction_284-happyReduction_284 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [])}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_285 = happyMonadReduce 2# 74# happyReduction_285-happyReduction_285 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_286 = happyMonadReduce 3# 74# happyReduction_286-happyReduction_286 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr$ appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_287 = happySpecReduce_1 75# happyReduction_287-happyReduction_287 happy_x_1- = case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- happyIn82- (singleton happy_var_1- )}--happyReduce_288 = happySpecReduce_3 75# happyReduction_288-happyReduction_288 happy_x_3- happy_x_2- happy_x_1- = case happyOut82 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_3 of { (CTokIdent _ happy_var_3) ->- happyIn82- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_289 = happyMonadReduce 1# 76# happyReduction_289-happyReduction_289 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_290 = happyMonadReduce 2# 76# happyReduction_290-happyReduction_290 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_291 = happyMonadReduce 2# 76# happyReduction_291-happyReduction_291 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [])}}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_292 = happyMonadReduce 2# 76# happyReduction_292-happyReduction_292 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_293 = happySpecReduce_1 77# happyReduction_293-happyReduction_293 happy_x_1- = case happyOut88 happy_x_1 of { happy_var_1 ->- happyIn84- (happy_var_1- )}--happyReduce_294 = happySpecReduce_1 77# happyReduction_294-happyReduction_294 happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 ->- happyIn84- (happy_var_1- )}--happyReduce_295 = happySpecReduce_1 77# happyReduction_295-happyReduction_295 happy_x_1- = case happyOut85 happy_x_1 of { happy_var_1 ->- happyIn84- (happy_var_1 emptyDeclr- )}--happyReduce_296 = happySpecReduce_1 78# happyReduction_296-happyReduction_296 happy_x_1- = case happyOut86 happy_x_1 of { happy_var_1 ->- happyIn85- (happy_var_1- )}--happyReduce_297 = happyMonadReduce 3# 78# happyReduction_297-happyReduction_297 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut79 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ \at declr -> case happy_var_2 of- (params, variadic) -> funDeclr declr (Right (params,variadic)) [] at)}}- ) (\r -> happyReturn (happyIn85 r))--happyReduce_298 = happySpecReduce_1 79# happyReduction_298-happyReduction_298 happy_x_1- = case happyOut87 happy_x_1 of { happy_var_1 ->- happyIn86- (happy_var_1- )}--happyReduce_299 = happySpecReduce_2 79# happyReduction_299-happyReduction_299 happy_x_2- happy_x_1- = case happyOut86 happy_x_1 of { happy_var_1 ->- case happyOut87 happy_x_2 of { happy_var_2 ->- happyIn86- (\decl -> happy_var_2 (happy_var_1 decl)- )}}--happyReduce_300 = happyMonadReduce 3# 80# happyReduction_300-happyReduction_300 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut120 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ \at declr -> arrDeclr declr [] False False happy_var_2 at)}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_301 = happyMonadReduce 4# 80# happyReduction_301-happyReduction_301 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut120 happy_x_3 of { happy_var_3 ->- ( withAttributePF happy_var_1 happy_var_2 $ \at declr -> arrDeclr declr [] False False happy_var_3 at)}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_302 = happyMonadReduce 4# 80# happyReduction_302-happyReduction_302 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut120 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ \at declr -> arrDeclr declr (reverse happy_var_2) False False happy_var_3 at)}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_303 = happyMonadReduce 5# 80# happyReduction_303-happyReduction_303 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut120 happy_x_4 of { happy_var_4 ->- ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr (reverse happy_var_2) False False happy_var_4 at)}}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_304 = happyMonadReduce 5# 80# happyReduction_304-happyReduction_304 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut115 happy_x_4 of { happy_var_4 ->- ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr [] False True (Just happy_var_4) at)}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_305 = happyMonadReduce 6# 80# happyReduction_305-happyReduction_305 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_3 of { happy_var_3 ->- case happyOut126 happy_x_4 of { happy_var_4 ->- case happyOut115 happy_x_5 of { happy_var_5 ->- ( withAttributePF happy_var_1 happy_var_4 $ \at declr -> arrDeclr declr (reverse happy_var_3) False True (Just happy_var_5) at)}}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_306 = happyMonadReduce 7# 80# happyReduction_306-happyReduction_306 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut126 happy_x_5 of { happy_var_5 ->- case happyOut115 happy_x_6 of { happy_var_6 ->- ( withAttributePF happy_var_1 (happy_var_3 ++ happy_var_5) $ \at declr -> arrDeclr declr (reverse happy_var_2) False True (Just happy_var_6) at)}}}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_307 = happyMonadReduce 4# 80# happyReduction_307-happyReduction_307 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr [] True False Nothing at)}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_308 = happyMonadReduce 5# 80# happyReduction_308-happyReduction_308 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_4 of { happy_var_4 ->- ( withAttributePF happy_var_1 (happy_var_2 ++ happy_var_4) $ \at declr -> arrDeclr declr [] True False Nothing at)}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_309 = happyMonadReduce 5# 80# happyReduction_309-happyReduction_309 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_4 of { happy_var_4 ->- ( withAttributePF happy_var_1 happy_var_4 $ \at declr -> arrDeclr declr (reverse happy_var_2) True False Nothing at)}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_310 = happyMonadReduce 6# 80# happyReduction_310-happyReduction_310 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut126 happy_x_5 of { happy_var_5 ->- ( withAttributePF happy_var_1 (happy_var_3 ++ happy_var_5) $ \at declr -> arrDeclr declr (reverse happy_var_2) True False Nothing at)}}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_311 = happyMonadReduce 1# 81# happyReduction_311-happyReduction_311 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ ptrDeclr emptyDeclr [])}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_312 = happyMonadReduce 3# 81# happyReduction_312-happyReduction_312 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr emptyDeclr (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_313 = happyMonadReduce 2# 81# happyReduction_313-happyReduction_313 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_314 = happyMonadReduce 3# 81# happyReduction_314-happyReduction_314 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut84 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_315 = happyMonadReduce 2# 81# happyReduction_315-happyReduction_315 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr emptyDeclr [])}}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_316 = happyMonadReduce 3# 81# happyReduction_316-happyReduction_316 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut84 happy_x_3 of { happy_var_3 ->- ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_317 = happySpecReduce_3 82# happyReduction_317-happyReduction_317 happy_x_3- happy_x_2- happy_x_1- = case happyOut88 happy_x_2 of { happy_var_2 ->- happyIn89- (happy_var_2- )}--happyReduce_318 = happySpecReduce_3 82# happyReduction_318-happyReduction_318 happy_x_3- happy_x_2- happy_x_1- = case happyOut89 happy_x_2 of { happy_var_2 ->- happyIn89- (happy_var_2- )}--happyReduce_319 = happySpecReduce_3 82# happyReduction_319-happyReduction_319 happy_x_3- happy_x_2- happy_x_1- = case happyOut85 happy_x_2 of { happy_var_2 ->- happyIn89- (happy_var_2 emptyDeclr- )}--happyReduce_320 = happyReduce 4# 82# happyReduction_320-happyReduction_320 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut88 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_4 of { happy_var_4 ->- happyIn89- (happy_var_4 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_321 = happyReduce 4# 82# happyReduction_321-happyReduction_321 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut88 happy_x_3 of { happy_var_3 ->- happyIn89- (appendDeclrAttrs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_322 = happyReduce 4# 82# happyReduction_322-happyReduction_322 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut89 happy_x_3 of { happy_var_3 ->- happyIn89- (appendDeclrAttrs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_323 = happyReduce 4# 82# happyReduction_323-happyReduction_323 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_3 of { happy_var_3 ->- happyIn89- (appendDeclrAttrs happy_var_2 (happy_var_3 emptyDeclr)- ) `HappyStk` happyRest}}--happyReduce_324 = happyReduce 5# 82# happyReduction_324-happyReduction_324 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut88 happy_x_3 of { happy_var_3 ->- case happyOut85 happy_x_5 of { happy_var_5 ->- happyIn89- (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_325 = happySpecReduce_2 82# happyReduction_325-happyReduction_325 happy_x_2- happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn89- (appendDeclrAttrs happy_var_2 happy_var_1- )}}--happyReduce_326 = happyMonadReduce 1# 83# happyReduction_326-happyReduction_326 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut115 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CInitExpr happy_var_1)}- ) (\r -> happyReturn (happyIn90 r))--happyReduce_327 = happyMonadReduce 3# 83# happyReduction_327-happyReduction_327 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut92 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CInitList (reverse happy_var_2))}}- ) (\r -> happyReturn (happyIn90 r))--happyReduce_328 = happyMonadReduce 4# 83# happyReduction_328-happyReduction_328 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut92 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CInitList (reverse happy_var_2))}}- ) (\r -> happyReturn (happyIn90 r))--happyReduce_329 = happySpecReduce_0 84# happyReduction_329-happyReduction_329 = happyIn91- (Nothing- )--happyReduce_330 = happySpecReduce_2 84# happyReduction_330-happyReduction_330 happy_x_2- happy_x_1- = case happyOut90 happy_x_2 of { happy_var_2 ->- happyIn91- (Just happy_var_2- )}--happyReduce_331 = happySpecReduce_0 85# happyReduction_331-happyReduction_331 = happyIn92- (empty- )--happyReduce_332 = happySpecReduce_1 85# happyReduction_332-happyReduction_332 happy_x_1- = case happyOut90 happy_x_1 of { happy_var_1 ->- happyIn92- (singleton ([],happy_var_1)- )}--happyReduce_333 = happySpecReduce_2 85# happyReduction_333-happyReduction_333 happy_x_2- happy_x_1- = case happyOut93 happy_x_1 of { happy_var_1 ->- case happyOut90 happy_x_2 of { happy_var_2 ->- happyIn92- (singleton (happy_var_1,happy_var_2)- )}}--happyReduce_334 = happySpecReduce_3 85# happyReduction_334-happyReduction_334 happy_x_3- happy_x_2- happy_x_1- = case happyOut92 happy_x_1 of { happy_var_1 ->- case happyOut90 happy_x_3 of { happy_var_3 ->- happyIn92- (happy_var_1 `snoc` ([],happy_var_3)- )}}--happyReduce_335 = happyReduce 4# 85# happyReduction_335-happyReduction_335 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut92 happy_x_1 of { happy_var_1 ->- case happyOut93 happy_x_3 of { happy_var_3 ->- case happyOut90 happy_x_4 of { happy_var_4 ->- happyIn92- (happy_var_1 `snoc` (happy_var_3,happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_336 = happySpecReduce_2 86# happyReduction_336-happyReduction_336 happy_x_2- happy_x_1- = case happyOut94 happy_x_1 of { happy_var_1 ->- happyIn93- (reverse happy_var_1- )}--happyReduce_337 = happyMonadReduce 2# 86# happyReduction_337-happyReduction_337 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ \at -> [CMemberDesig happy_var_1 at])}- ) (\r -> happyReturn (happyIn93 r))--happyReduce_338 = happySpecReduce_1 86# happyReduction_338-happyReduction_338 happy_x_1- = case happyOut96 happy_x_1 of { happy_var_1 ->- happyIn93- ([happy_var_1]- )}--happyReduce_339 = happySpecReduce_1 87# happyReduction_339-happyReduction_339 happy_x_1- = case happyOut95 happy_x_1 of { happy_var_1 ->- happyIn94- (singleton happy_var_1- )}--happyReduce_340 = happySpecReduce_2 87# happyReduction_340-happyReduction_340 happy_x_2- happy_x_1- = case happyOut94 happy_x_1 of { happy_var_1 ->- case happyOut95 happy_x_2 of { happy_var_2 ->- happyIn94- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_341 = happyMonadReduce 3# 88# happyReduction_341-happyReduction_341 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CArrDesig happy_var_2)}}- ) (\r -> happyReturn (happyIn95 r))--happyReduce_342 = happyMonadReduce 2# 88# happyReduction_342-happyReduction_342 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CMemberDesig happy_var_2)}}- ) (\r -> happyReturn (happyIn95 r))--happyReduce_343 = happySpecReduce_1 88# happyReduction_343-happyReduction_343 happy_x_1- = case happyOut96 happy_x_1 of { happy_var_1 ->- happyIn95- (happy_var_1- )}--happyReduce_344 = happyMonadReduce 5# 89# happyReduction_344-happyReduction_344 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_2 of { happy_var_2 ->- case happyOut121 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CRangeDesig happy_var_2 happy_var_4)}}}- ) (\r -> happyReturn (happyIn96 r))--happyReduce_345 = happyMonadReduce 1# 90# happyReduction_345-happyReduction_345 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ CVar happy_var_1)}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_346 = happySpecReduce_1 90# happyReduction_346-happyReduction_346 happy_x_1- = case happyOut122 happy_x_1 of { happy_var_1 ->- happyIn97- (CConst happy_var_1- )}--happyReduce_347 = happySpecReduce_1 90# happyReduction_347-happyReduction_347 happy_x_1- = case happyOut123 happy_x_1 of { happy_var_1 ->- happyIn97- (CConst (liftStrLit happy_var_1)- )}--happyReduce_348 = happySpecReduce_3 90# happyReduction_348-happyReduction_348 happy_x_3- happy_x_2- happy_x_1- = case happyOut117 happy_x_2 of { happy_var_2 ->- happyIn97- (happy_var_2- )}--happyReduce_349 = happyMonadReduce 3# 90# happyReduction_349-happyReduction_349 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut14 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CStatExpr happy_var_2)}}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_350 = happyMonadReduce 6# 90# happyReduction_350-happyReduction_350 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut115 happy_x_3 of { happy_var_3 ->- case happyOut83 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinVaArg happy_var_3 happy_var_5)}}}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_351 = happyMonadReduce 6# 90# happyReduction_351-happyReduction_351 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_3 of { happy_var_3 ->- case happyOut98 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinOffsetOf happy_var_3 (reverse happy_var_5))}}}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_352 = happyMonadReduce 6# 90# happyReduction_352-happyReduction_352 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_3 of { happy_var_3 ->- case happyOut83 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinTypesCompatible happy_var_3 happy_var_5)}}}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_353 = happyMonadReduce 1# 91# happyReduction_353-happyReduction_353 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ singleton . CMemberDesig happy_var_1)}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_354 = happyMonadReduce 3# 91# happyReduction_354-happyReduction_354 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut98 happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_3 $ (happy_var_1 `snoc`) . CMemberDesig happy_var_3)}}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_355 = happyMonadReduce 4# 91# happyReduction_355-happyReduction_355 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut98 happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_3 $ (happy_var_1 `snoc`) . CArrDesig happy_var_3)}}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_356 = happySpecReduce_1 92# happyReduction_356-happyReduction_356 happy_x_1- = case happyOut97 happy_x_1 of { happy_var_1 ->- happyIn99- (happy_var_1- )}--happyReduce_357 = happyMonadReduce 4# 92# happyReduction_357-happyReduction_357 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CIndex happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_358 = happyMonadReduce 3# 92# happyReduction_358-happyReduction_358 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CCall happy_var_1 [])}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_359 = happyMonadReduce 4# 92# happyReduction_359-happyReduction_359 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- case happyOut100 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CCall happy_var_1 (reverse happy_var_3))}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_360 = happyMonadReduce 3# 92# happyReduction_360-happyReduction_360 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CMember happy_var_1 happy_var_3 False)}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_361 = happyMonadReduce 3# 92# happyReduction_361-happyReduction_361 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CMember happy_var_1 happy_var_3 True)}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_362 = happyMonadReduce 2# 92# happyReduction_362-happyReduction_362 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CUnary CPostIncOp happy_var_1)}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_363 = happyMonadReduce 2# 92# happyReduction_363-happyReduction_363 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CUnary CPostDecOp happy_var_1)}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_364 = happyMonadReduce 6# 92# happyReduction_364-happyReduction_364 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_2 of { happy_var_2 ->- case happyOut92 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CCompoundLit happy_var_2 (reverse happy_var_5))}}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_365 = happyMonadReduce 7# 92# happyReduction_365-happyReduction_365 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_2 of { happy_var_2 ->- case happyOut92 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CCompoundLit happy_var_2 (reverse happy_var_5))}}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_366 = happySpecReduce_1 93# happyReduction_366-happyReduction_366 happy_x_1- = case happyOut115 happy_x_1 of { happy_var_1 ->- happyIn100- (singleton happy_var_1- )}--happyReduce_367 = happySpecReduce_3 93# happyReduction_367-happyReduction_367 happy_x_3- happy_x_2- happy_x_1- = case happyOut100 happy_x_1 of { happy_var_1 ->- case happyOut115 happy_x_3 of { happy_var_3 ->- happyIn100- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_368 = happySpecReduce_1 94# happyReduction_368-happyReduction_368 happy_x_1- = case happyOut99 happy_x_1 of { happy_var_1 ->- happyIn101- (happy_var_1- )}--happyReduce_369 = happyMonadReduce 2# 94# happyReduction_369-happyReduction_369 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CUnary CPreIncOp happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_370 = happyMonadReduce 2# 94# happyReduction_370-happyReduction_370 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CUnary CPreDecOp happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_371 = happySpecReduce_2 94# happyReduction_371-happyReduction_371 happy_x_2- happy_x_1- = case happyOut103 happy_x_2 of { happy_var_2 ->- happyIn101- (happy_var_2- )}--happyReduce_372 = happyMonadReduce 2# 94# happyReduction_372-happyReduction_372 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut102 happy_x_1 of { happy_var_1 ->- case happyOut103 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CUnary (unL happy_var_1) happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_373 = happyMonadReduce 2# 94# happyReduction_373-happyReduction_373 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CSizeofExpr happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_374 = happyMonadReduce 4# 94# happyReduction_374-happyReduction_374 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CSizeofType happy_var_3)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_375 = happyMonadReduce 2# 94# happyReduction_375-happyReduction_375 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CAlignofExpr happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_376 = happyMonadReduce 4# 94# happyReduction_376-happyReduction_376 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CAlignofType happy_var_3)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_377 = happyMonadReduce 2# 94# happyReduction_377-happyReduction_377 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CComplexReal happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_378 = happyMonadReduce 2# 94# happyReduction_378-happyReduction_378 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CComplexImag happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_379 = happyMonadReduce 2# 94# happyReduction_379-happyReduction_379 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CLabAddrExpr happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_380 = happySpecReduce_1 95# happyReduction_380-happyReduction_380 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CAdrOp (posOf happy_var_1)- )}--happyReduce_381 = happySpecReduce_1 95# happyReduction_381-happyReduction_381 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CIndOp (posOf happy_var_1)- )}--happyReduce_382 = happySpecReduce_1 95# happyReduction_382-happyReduction_382 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CPlusOp (posOf happy_var_1)- )}--happyReduce_383 = happySpecReduce_1 95# happyReduction_383-happyReduction_383 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CMinOp (posOf happy_var_1)- )}--happyReduce_384 = happySpecReduce_1 95# happyReduction_384-happyReduction_384 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CCompOp (posOf happy_var_1)- )}--happyReduce_385 = happySpecReduce_1 95# happyReduction_385-happyReduction_385 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CNegOp (posOf happy_var_1)- )}--happyReduce_386 = happySpecReduce_1 96# happyReduction_386-happyReduction_386 happy_x_1- = case happyOut101 happy_x_1 of { happy_var_1 ->- happyIn103- (happy_var_1- )}--happyReduce_387 = happyMonadReduce 4# 96# happyReduction_387-happyReduction_387 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_2 of { happy_var_2 ->- case happyOut103 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CCast happy_var_2 happy_var_4)}}}- ) (\r -> happyReturn (happyIn103 r))--happyReduce_388 = happySpecReduce_1 97# happyReduction_388-happyReduction_388 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 ->- happyIn104- (happy_var_1- )}--happyReduce_389 = happyMonadReduce 3# 97# happyReduction_389-happyReduction_389 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->- case happyOut103 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CMulOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn104 r))--happyReduce_390 = happyMonadReduce 3# 97# happyReduction_390-happyReduction_390 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->- case happyOut103 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CDivOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn104 r))--happyReduce_391 = happyMonadReduce 3# 97# happyReduction_391-happyReduction_391 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->- case happyOut103 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CRmdOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn104 r))--happyReduce_392 = happySpecReduce_1 98# happyReduction_392-happyReduction_392 happy_x_1- = case happyOut104 happy_x_1 of { happy_var_1 ->- happyIn105- (happy_var_1- )}--happyReduce_393 = happyMonadReduce 3# 98# happyReduction_393-happyReduction_393 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut105 happy_x_1 of { happy_var_1 ->- case happyOut104 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CAddOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn105 r))--happyReduce_394 = happyMonadReduce 3# 98# happyReduction_394-happyReduction_394 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut105 happy_x_1 of { happy_var_1 ->- case happyOut104 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CSubOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn105 r))--happyReduce_395 = happySpecReduce_1 99# happyReduction_395-happyReduction_395 happy_x_1- = case happyOut105 happy_x_1 of { happy_var_1 ->- happyIn106- (happy_var_1- )}--happyReduce_396 = happyMonadReduce 3# 99# happyReduction_396-happyReduction_396 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut106 happy_x_1 of { happy_var_1 ->- case happyOut105 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CShlOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn106 r))--happyReduce_397 = happyMonadReduce 3# 99# happyReduction_397-happyReduction_397 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut106 happy_x_1 of { happy_var_1 ->- case happyOut105 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CShrOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn106 r))--happyReduce_398 = happySpecReduce_1 100# happyReduction_398-happyReduction_398 happy_x_1- = case happyOut106 happy_x_1 of { happy_var_1 ->- happyIn107- (happy_var_1- )}--happyReduce_399 = happyMonadReduce 3# 100# happyReduction_399-happyReduction_399 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->- case happyOut106 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CLeOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn107 r))--happyReduce_400 = happyMonadReduce 3# 100# happyReduction_400-happyReduction_400 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->- case happyOut106 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CGrOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn107 r))--happyReduce_401 = happyMonadReduce 3# 100# happyReduction_401-happyReduction_401 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->- case happyOut106 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CLeqOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn107 r))--happyReduce_402 = happyMonadReduce 3# 100# happyReduction_402-happyReduction_402 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->- case happyOut106 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CGeqOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn107 r))--happyReduce_403 = happySpecReduce_1 101# happyReduction_403-happyReduction_403 happy_x_1- = case happyOut107 happy_x_1 of { happy_var_1 ->- happyIn108- (happy_var_1- )}--happyReduce_404 = happyMonadReduce 3# 101# happyReduction_404-happyReduction_404 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut108 happy_x_1 of { happy_var_1 ->- case happyOut107 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CEqOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn108 r))--happyReduce_405 = happyMonadReduce 3# 101# happyReduction_405-happyReduction_405 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut108 happy_x_1 of { happy_var_1 ->- case happyOut107 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CNeqOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn108 r))--happyReduce_406 = happySpecReduce_1 102# happyReduction_406-happyReduction_406 happy_x_1- = case happyOut108 happy_x_1 of { happy_var_1 ->- happyIn109- (happy_var_1- )}--happyReduce_407 = happyMonadReduce 3# 102# happyReduction_407-happyReduction_407 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut109 happy_x_1 of { happy_var_1 ->- case happyOut108 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CAndOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn109 r))--happyReduce_408 = happySpecReduce_1 103# happyReduction_408-happyReduction_408 happy_x_1- = case happyOut109 happy_x_1 of { happy_var_1 ->- happyIn110- (happy_var_1- )}--happyReduce_409 = happyMonadReduce 3# 103# happyReduction_409-happyReduction_409 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut110 happy_x_1 of { happy_var_1 ->- case happyOut109 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CXorOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn110 r))--happyReduce_410 = happySpecReduce_1 104# happyReduction_410-happyReduction_410 happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 ->- happyIn111- (happy_var_1- )}--happyReduce_411 = happyMonadReduce 3# 104# happyReduction_411-happyReduction_411 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut111 happy_x_1 of { happy_var_1 ->- case happyOut110 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary COrOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn111 r))--happyReduce_412 = happySpecReduce_1 105# happyReduction_412-happyReduction_412 happy_x_1- = case happyOut111 happy_x_1 of { happy_var_1 ->- happyIn112- (happy_var_1- )}--happyReduce_413 = happyMonadReduce 3# 105# happyReduction_413-happyReduction_413 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut112 happy_x_1 of { happy_var_1 ->- case happyOut111 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CLndOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn112 r))--happyReduce_414 = happySpecReduce_1 106# happyReduction_414-happyReduction_414 happy_x_1- = case happyOut112 happy_x_1 of { happy_var_1 ->- happyIn113- (happy_var_1- )}--happyReduce_415 = happyMonadReduce 3# 106# happyReduction_415-happyReduction_415 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->- case happyOut112 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CLorOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn113 r))--happyReduce_416 = happySpecReduce_1 107# happyReduction_416-happyReduction_416 happy_x_1- = case happyOut113 happy_x_1 of { happy_var_1 ->- happyIn114- (happy_var_1- )}--happyReduce_417 = happyMonadReduce 5# 107# happyReduction_417-happyReduction_417 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- case happyOut114 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CCond happy_var_1 (Just happy_var_3) happy_var_5)}}}- ) (\r -> happyReturn (happyIn114 r))--happyReduce_418 = happyMonadReduce 4# 107# happyReduction_418-happyReduction_418 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->- case happyOut114 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CCond happy_var_1 Nothing happy_var_4)}}- ) (\r -> happyReturn (happyIn114 r))--happyReduce_419 = happySpecReduce_1 108# happyReduction_419-happyReduction_419 happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 ->- happyIn115- (happy_var_1- )}--happyReduce_420 = happyMonadReduce 3# 108# happyReduction_420-happyReduction_420 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut101 happy_x_1 of { happy_var_1 ->- case happyOut116 happy_x_2 of { happy_var_2 ->- case happyOut115 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CAssign (unL happy_var_2) happy_var_1 happy_var_3)}}}- ) (\r -> happyReturn (happyIn115 r))--happyReduce_421 = happySpecReduce_1 109# happyReduction_421-happyReduction_421 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CAssignOp (posOf happy_var_1)- )}--happyReduce_422 = happySpecReduce_1 109# happyReduction_422-happyReduction_422 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CMulAssOp (posOf happy_var_1)- )}--happyReduce_423 = happySpecReduce_1 109# happyReduction_423-happyReduction_423 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CDivAssOp (posOf happy_var_1)- )}--happyReduce_424 = happySpecReduce_1 109# happyReduction_424-happyReduction_424 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CRmdAssOp (posOf happy_var_1)- )}--happyReduce_425 = happySpecReduce_1 109# happyReduction_425-happyReduction_425 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CAddAssOp (posOf happy_var_1)- )}--happyReduce_426 = happySpecReduce_1 109# happyReduction_426-happyReduction_426 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CSubAssOp (posOf happy_var_1)- )}--happyReduce_427 = happySpecReduce_1 109# happyReduction_427-happyReduction_427 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CShlAssOp (posOf happy_var_1)- )}--happyReduce_428 = happySpecReduce_1 109# happyReduction_428-happyReduction_428 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CShrAssOp (posOf happy_var_1)- )}--happyReduce_429 = happySpecReduce_1 109# happyReduction_429-happyReduction_429 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CAndAssOp (posOf happy_var_1)- )}--happyReduce_430 = happySpecReduce_1 109# happyReduction_430-happyReduction_430 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CXorAssOp (posOf happy_var_1)- )}--happyReduce_431 = happySpecReduce_1 109# happyReduction_431-happyReduction_431 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L COrAssOp (posOf happy_var_1)- )}--happyReduce_432 = happySpecReduce_1 110# happyReduction_432-happyReduction_432 happy_x_1- = case happyOut115 happy_x_1 of { happy_var_1 ->- happyIn117- (happy_var_1- )}--happyReduce_433 = happyMonadReduce 3# 110# happyReduction_433-happyReduction_433 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut115 happy_x_1 of { happy_var_1 ->- case happyOut118 happy_x_3 of { happy_var_3 ->- ( let es = reverse happy_var_3 in withNodeInfo es $ CComma (happy_var_1:es))}}- ) (\r -> happyReturn (happyIn117 r))--happyReduce_434 = happySpecReduce_1 111# happyReduction_434-happyReduction_434 happy_x_1- = case happyOut115 happy_x_1 of { happy_var_1 ->- happyIn118- (singleton happy_var_1- )}--happyReduce_435 = happySpecReduce_3 111# happyReduction_435-happyReduction_435 happy_x_3- happy_x_2- happy_x_1- = case happyOut118 happy_x_1 of { happy_var_1 ->- case happyOut115 happy_x_3 of { happy_var_3 ->- happyIn118- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_436 = happySpecReduce_0 112# happyReduction_436-happyReduction_436 = happyIn119- (Nothing- )--happyReduce_437 = happySpecReduce_1 112# happyReduction_437-happyReduction_437 happy_x_1- = case happyOut117 happy_x_1 of { happy_var_1 ->- happyIn119- (Just happy_var_1- )}--happyReduce_438 = happySpecReduce_0 113# happyReduction_438-happyReduction_438 = happyIn120- (Nothing- )--happyReduce_439 = happySpecReduce_1 113# happyReduction_439-happyReduction_439 happy_x_1- = case happyOut115 happy_x_1 of { happy_var_1 ->- happyIn120- (Just happy_var_1- )}--happyReduce_440 = happySpecReduce_1 114# happyReduction_440-happyReduction_440 happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 ->- happyIn121- (happy_var_1- )}--happyReduce_441 = happyMonadReduce 1# 115# happyReduction_441-happyReduction_441 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokILit _ i -> CIntConst i)}- ) (\r -> happyReturn (happyIn122 r))--happyReduce_442 = happyMonadReduce 1# 115# happyReduction_442-happyReduction_442 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokCLit _ c -> CCharConst c)}- ) (\r -> happyReturn (happyIn122 r))--happyReduce_443 = happyMonadReduce 1# 115# happyReduction_443-happyReduction_443 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokFLit _ f -> CFloatConst f)}- ) (\r -> happyReturn (happyIn122 r))--happyReduce_444 = happyMonadReduce 1# 116# happyReduction_444-happyReduction_444 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokSLit _ s -> CStrLit s)}- ) (\r -> happyReturn (happyIn123 r))--happyReduce_445 = happyMonadReduce 2# 116# happyReduction_445-happyReduction_445 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut124 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokSLit _ s -> CStrLit (concatCStrings (s : reverse happy_var_2)))}}- ) (\r -> happyReturn (happyIn123 r))--happyReduce_446 = happySpecReduce_1 117# happyReduction_446-happyReduction_446 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn124- (case happy_var_1 of CTokSLit _ s -> singleton s- )}--happyReduce_447 = happySpecReduce_2 117# happyReduction_447-happyReduction_447 happy_x_2- happy_x_1- = case happyOut124 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- happyIn124- (case happy_var_2 of CTokSLit _ s -> happy_var_1 `snoc` s- )}}--happyReduce_448 = happySpecReduce_1 118# happyReduction_448-happyReduction_448 happy_x_1- = case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- happyIn125- (happy_var_1- )}--happyReduce_449 = happySpecReduce_1 118# happyReduction_449-happyReduction_449 happy_x_1- = case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->- happyIn125- (happy_var_1- )}--happyReduce_450 = happySpecReduce_0 119# happyReduction_450-happyReduction_450 = happyIn126- ([]- )--happyReduce_451 = happySpecReduce_1 119# happyReduction_451-happyReduction_451 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 ->- happyIn126- (happy_var_1- )}--happyReduce_452 = happySpecReduce_1 120# happyReduction_452-happyReduction_452 happy_x_1- = case happyOut128 happy_x_1 of { happy_var_1 ->- happyIn127- (happy_var_1- )}--happyReduce_453 = happySpecReduce_2 120# happyReduction_453-happyReduction_453 happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn127- (happy_var_1 ++ happy_var_2- )}}--happyReduce_454 = happyReduce 6# 121# happyReduction_454-happyReduction_454 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut129 happy_x_4 of { happy_var_4 ->- happyIn128- (reverse happy_var_4- ) `HappyStk` happyRest}--happyReduce_455 = happySpecReduce_1 122# happyReduction_455-happyReduction_455 happy_x_1- = case happyOut130 happy_x_1 of { happy_var_1 ->- happyIn129- (case happy_var_1 of Nothing -> empty; Just attr -> singleton attr- )}--happyReduce_456 = happySpecReduce_3 122# happyReduction_456-happyReduction_456 happy_x_3- happy_x_2- happy_x_1- = case happyOut129 happy_x_1 of { happy_var_1 ->- case happyOut130 happy_x_3 of { happy_var_3 ->- happyIn129- ((maybe id (flip snoc) happy_var_3) happy_var_1- )}}--happyReduce_457 = happySpecReduce_0 123# happyReduction_457-happyReduction_457 = happyIn130- (Nothing- )--happyReduce_458 = happyMonadReduce 1# 123# happyReduction_458-happyReduction_458 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1 [])}- ) (\r -> happyReturn (happyIn130 r))--happyReduce_459 = happyMonadReduce 1# 123# happyReduction_459-happyReduction_459 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ Just . CAttr (internalIdent "const") [])}- ) (\r -> happyReturn (happyIn130 r))--happyReduce_460 = happyMonadReduce 4# 123# happyReduction_460-happyReduction_460 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- case happyOut131 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1 (reverse happy_var_3))}}- ) (\r -> happyReturn (happyIn130 r))--happyReduce_461 = happyMonadReduce 3# 123# happyReduction_461-happyReduction_461 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1 [])}- ) (\r -> happyReturn (happyIn130 r))--happyReduce_462 = happySpecReduce_1 124# happyReduction_462-happyReduction_462 happy_x_1- = case happyOut121 happy_x_1 of { happy_var_1 ->- happyIn131- (singleton happy_var_1- )}--happyReduce_463 = happySpecReduce_3 124# happyReduction_463-happyReduction_463 happy_x_3- happy_x_2- happy_x_1- = case happyOut131 happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_3 of { happy_var_3 ->- happyIn131- (happy_var_1 `snoc` happy_var_3- )}}--happyNewToken action sts stk- = lexC(\tk ->- let cont i = happyDoAction i tk action sts stk in- case tk of {- CTokEof -> happyDoAction 101# tk action sts stk;- CTokLParen _ -> cont 1#;- CTokRParen _ -> cont 2#;- CTokLBracket _ -> cont 3#;- CTokRBracket _ -> cont 4#;- CTokArrow _ -> cont 5#;- CTokDot _ -> cont 6#;- CTokExclam _ -> cont 7#;- CTokTilde _ -> cont 8#;- CTokInc _ -> cont 9#;- CTokDec _ -> cont 10#;- CTokPlus _ -> cont 11#;- CTokMinus _ -> cont 12#;- CTokStar _ -> cont 13#;- CTokSlash _ -> cont 14#;- CTokPercent _ -> cont 15#;- CTokAmper _ -> cont 16#;- CTokShiftL _ -> cont 17#;- CTokShiftR _ -> cont 18#;- CTokLess _ -> cont 19#;- CTokLessEq _ -> cont 20#;- CTokHigh _ -> cont 21#;- CTokHighEq _ -> cont 22#;- CTokEqual _ -> cont 23#;- CTokUnequal _ -> cont 24#;- CTokHat _ -> cont 25#;- CTokBar _ -> cont 26#;- CTokAnd _ -> cont 27#;- CTokOr _ -> cont 28#;- CTokQuest _ -> cont 29#;- CTokColon _ -> cont 30#;- CTokAssign _ -> cont 31#;- CTokPlusAss _ -> cont 32#;- CTokMinusAss _ -> cont 33#;- CTokStarAss _ -> cont 34#;- CTokSlashAss _ -> cont 35#;- CTokPercAss _ -> cont 36#;- CTokAmpAss _ -> cont 37#;- CTokHatAss _ -> cont 38#;- CTokBarAss _ -> cont 39#;- CTokSLAss _ -> cont 40#;- CTokSRAss _ -> cont 41#;- CTokComma _ -> cont 42#;- CTokSemic _ -> cont 43#;- CTokLBrace _ -> cont 44#;- CTokRBrace _ -> cont 45#;- CTokEllipsis _ -> cont 46#;- CTokAlignof _ -> cont 47#;- CTokAsm _ -> cont 48#;- CTokAuto _ -> cont 49#;- CTokBreak _ -> cont 50#;- CTokBool _ -> cont 51#;- CTokCase _ -> cont 52#;- CTokChar _ -> cont 53#;- CTokConst _ -> cont 54#;- CTokContinue _ -> cont 55#;- CTokComplex _ -> cont 56#;- CTokDefault _ -> cont 57#;- CTokDo _ -> cont 58#;- CTokDouble _ -> cont 59#;- CTokElse _ -> cont 60#;- CTokEnum _ -> cont 61#;- CTokExtern _ -> cont 62#;- CTokFloat _ -> cont 63#;- CTokFor _ -> cont 64#;- CTokGoto _ -> cont 65#;- CTokIf _ -> cont 66#;- CTokInline _ -> cont 67#;- CTokInt _ -> cont 68#;- CTokLong _ -> cont 69#;- CTokLabel _ -> cont 70#;- CTokRegister _ -> cont 71#;- CTokRestrict _ -> cont 72#;- CTokReturn _ -> cont 73#;- CTokShort _ -> cont 74#;- CTokSigned _ -> cont 75#;- CTokSizeof _ -> cont 76#;- CTokStatic _ -> cont 77#;- CTokStruct _ -> cont 78#;- CTokSwitch _ -> cont 79#;- CTokTypedef _ -> cont 80#;- CTokTypeof _ -> cont 81#;- CTokThread _ -> cont 82#;- CTokUnion _ -> cont 83#;- CTokUnsigned _ -> cont 84#;- CTokVoid _ -> cont 85#;- CTokVolatile _ -> cont 86#;- CTokWhile _ -> cont 87#;- CTokCLit _ _ -> cont 88#;- CTokILit _ _ -> cont 89#;- CTokFLit _ _ -> cont 90#;- CTokSLit _ _ -> cont 91#;- CTokIdent _ happy_dollar_dollar -> cont 92#;- CTokTyIdent _ happy_dollar_dollar -> cont 93#;- CTokGnuC GnuCAttrTok _ -> cont 94#;- CTokGnuC GnuCExtTok _ -> cont 95#;- CTokGnuC GnuCComplexReal _ -> cont 96#;- CTokGnuC GnuCComplexImag _ -> cont 97#;- CTokGnuC GnuCVaArg _ -> cont 98#;- CTokGnuC GnuCOffsetof _ -> cont 99#;- CTokGnuC GnuCTyCompat _ -> cont 100#;- _ -> happyError' tk- })--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (>>=)-happyReturn :: () => a -> P a-happyReturn = (return)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => CToken -> P a-happyError' tk = (\token -> happyError) tk--translation_unit = happySomeParser where- happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut7 x))--external_declaration = happySomeParser where- happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut9 x))--statement = happySomeParser where- happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut12 x))--expression = happySomeParser where- happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut117 x))--happySeq = happyDontSeq----- sometimes it is neccessary to reverse an unreversed list-reverseList :: [a] -> Reversed [a]-reverseList = Reversed . List.reverse---- We occasionally need things to have a location when they don't naturally--- have one built in as tokens and most AST elements do.----data Located a = L !a !Position--unL :: Located a -> a-unL (L a pos) = a--instance Pos (Located a) where- posOf (L _ pos) = pos---- FIXME: the next 3 inlines here increase the object file size by 70%--- Check whether the speed win is worth it-{-# INLINE withNodeInfo #-}-withNodeInfo :: Pos node => node -> (NodeInfo -> a) -> P a-withNodeInfo node mkAttrNode = do- name <- getNewName- lastTok <- getSavedToken- let firstPos = posOf node- let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok) name- attrs `seq` return (mkAttrNode attrs)--{-# INLINE withLength #-}-withLength :: NodeInfo -> (NodeInfo -> a) -> P a-withLength nodeinfo mkAttrNode = do- lastTok <- getSavedToken- let firstPos = posOfNode nodeinfo- let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok)- (maybe (error "nameOfNode") id (nameOfNode nodeinfo))- attrs `seq` return (mkAttrNode attrs)--data CDeclrR = CDeclrR (Maybe Ident) (Reversed [CDerivedDeclr]) (Maybe CStrLit) [CAttr] NodeInfo-reverseDeclr :: CDeclrR -> CDeclr-reverseDeclr (CDeclrR ide reversedDDs asmname cattrs at)- = CDeclr ide (reverse reversedDDs) asmname cattrs at-instance CNode (CDeclrR) where- nodeInfo (CDeclrR _ _ _ _ n) = n-instance Pos (CDeclrR) where- posOf (CDeclrR _ _ _ _ n) = posOf n--{-# INLINE withAttribute #-}-withAttribute :: Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR) -> P CDeclrR-withAttribute node cattrs mkDeclrNode = do- name <- getNewName- let attrs = mkNodeInfo (posOf node) name- let newDeclr = appendDeclrAttrs cattrs $ mkDeclrNode attrs- attrs `seq` newDeclr `seq` return newDeclr---- postfixing variant-{-# INLINE withAttributePF #-}-withAttributePF :: Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR -> CDeclrR) -> P (CDeclrR -> CDeclrR)-withAttributePF node cattrs mkDeclrCtor = do- name <- getNewName- let attrs = mkNodeInfo (posOf node) name- let newDeclr = appendDeclrAttrs cattrs . mkDeclrCtor attrs- attrs `seq` newDeclr `seq` return newDeclr---- add top level attributes for a declarator.------ In the following example------ > int declr1, __attribute__((a1)) * __attribute__((a2)) y() __asm__("$" "y") __attribute__((a3));------ the attributes `a1' and `a3' are top-level attributes for y.--- The (pseudo)-AST for the second declarator is------ > CDeclr "y"--- > [CFunDeclr ..., CPtrDeclr __attribute__((a2)) ... ]--- > (asm "$y")--- > [__attribute__((a1)), __attribute__((a3)) ]------ So assembler names and preceeding and trailing attributes are recorded in object declarator.----appendObjAttrs :: [CAttr] -> CDeclr -> CDeclr-appendObjAttrs newAttrs (CDeclr ident indirections asmname cAttrs at)- = CDeclr ident indirections asmname (cAttrs ++ newAttrs) at-appendObjAttrsR :: [CAttr] -> CDeclrR -> CDeclrR-appendObjAttrsR newAttrs (CDeclrR ident indirections asmname cAttrs at)- = CDeclrR ident indirections asmname (cAttrs ++ newAttrs) at--setAsmName :: Maybe CStrLit -> CDeclrR -> P CDeclrR-setAsmName mAsmName (CDeclrR ident indirections oldName cattrs at) =- case combineName mAsmName oldName of- Left (n1,n2) -> failP (posOf n2) ["Duplicate assembler name: ",showName n1,showName n2]- Right newName -> return $ CDeclrR ident indirections newName cattrs at- where- combineName Nothing Nothing = Right Nothing- combineName Nothing oldname@(Just _) = Right oldname- combineName newname@(Just _) Nothing = Right newname- combineName (Just n1) (Just n2) = Left (n1,n2)- showName (CStrLit cstr _) = show cstr--withAsmNameAttrs :: (Maybe CStrLit, [CAttr]) -> CDeclrR -> P CDeclrR-withAsmNameAttrs (mAsmName, newAttrs) declr = setAsmName mAsmName (appendObjAttrsR newAttrs declr)--appendDeclrAttrs :: [CAttr] -> CDeclrR -> CDeclrR-appendDeclrAttrs newAttrs (CDeclrR ident (Reversed []) asmname cattrs at)- = CDeclrR ident empty asmname (cattrs ++ newAttrs) at-appendDeclrAttrs newAttrs (CDeclrR ident (Reversed (x:xs)) asmname cattrs at)- = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at where- appendAttrs (CPtrDeclr typeQuals at) = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at- appendAttrs (CArrDeclr typeQuals arraySize at) = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at- appendAttrs (CFunDeclr parameters cattrs at) = CFunDeclr parameters (cattrs ++ newAttrs) at--ptrDeclr :: CDeclrR -> [CTypeQual] -> NodeInfo -> CDeclrR-ptrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals at- = CDeclrR ident (derivedDeclrs `snoc` CPtrDeclr tyquals at) asmname cattrs dat-funDeclr :: CDeclrR -> (Either [Ident] ([CDecl],Bool)) -> [CAttr] -> NodeInfo -> CDeclrR-funDeclr (CDeclrR ident derivedDeclrs asmname dcattrs dat) params cattrs at- = CDeclrR ident (derivedDeclrs `snoc` CFunDeclr params cattrs at) asmname dcattrs dat-arrDeclr :: CDeclrR -> [CTypeQual] -> Bool -> Bool -> Maybe CExpr -> NodeInfo -> CDeclrR-arrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals var_sized static_size size_expr_opt at- = arr_sz `seq` ( CDeclrR ident (derivedDeclrs `snoc` CArrDeclr tyquals arr_sz at) asmname cattrs dat )- where- arr_sz = case size_expr_opt of- Just e -> CArrSize static_size e- Nothing -> CNoArrSize var_sized--liftTypeQuals :: Reversed [CTypeQual] -> [CDeclSpec]-liftTypeQuals = map CTypeQual . reverse---- lift CAttrs to DeclSpecs----liftCAttrs :: [CAttr] -> [CDeclSpec]-liftCAttrs = map (CTypeQual . CAttrQual)---- when we parsed (decl_spec_1,...,decl_spec_n,attrs), add the __attributes__s to the declspec list--- needs special care when @decl_spec_n@ is a SUE definition-addTrailingAttrs :: Reversed [CDeclSpec] -> [CAttr] -> Reversed [CDeclSpec]-addTrailingAttrs declspecs new_attrs =- case viewr declspecs of- (specs_init, CTypeSpec (CSUType (CStruct tag name (Just def) def_attrs su_node) node))- -> (specs_init `snoc` CTypeSpec (CSUType (CStruct tag name (Just def) (def_attrs ++ new_attrs) su_node) node))- (specs_init, CTypeSpec (CEnumType (CEnum name (Just def) def_attrs e_node) node))- -> (specs_init `snoc` CTypeSpec (CEnumType (CEnum name (Just def) (def_attrs ++ new_attrs) e_node) node))- _ -> declspecs `rappend` (liftCAttrs new_attrs)---- convenient instance, the position of a list of things is the position of--- the first thing in the list----instance Pos a => Pos [a] where- posOf (x:_) = posOf x--instance Pos a => Pos (Reversed a) where- posOf (Reversed x) = posOf x--emptyDeclr :: CDeclrR-emptyDeclr = CDeclrR Nothing empty Nothing [] undefNode-mkVarDeclr :: Ident -> NodeInfo -> CDeclrR-mkVarDeclr ident = CDeclrR (Just ident) empty Nothing []---- Take the identifiers and use them to update the typedef'ed identifier set--- if the decl is defining a typedef then we add it to the set,--- if it's a var decl then that shadows typedefed identifiers----doDeclIdent :: [CDeclSpec] -> CDeclrR -> P ()-doDeclIdent declspecs (CDeclrR mIdent _ _ _ _) =- case mIdent of- Nothing -> return ()- Just ident | any iypedef declspecs -> addTypedef ident- | otherwise -> shadowTypedef ident-- where iypedef (CStorageSpec (CTypedef _)) = True- iypedef _ = False--doFuncParamDeclIdent :: CDeclr -> P ()-doFuncParamDeclIdent (CDeclr _ (CFunDeclr params _ _ : _) _ _ _) =- sequence_- [ case getCDeclrIdent declr of- Nothing -> return ()- Just ident -> shadowTypedef ident- | CDecl _ dle _ <- either (const []) fst params- , (Just declr, _, _) <- dle ]-doFuncParamDeclIdent _ = return ()---- extract all identifiers-getCDeclrIdent :: CDeclr -> Maybe Ident-getCDeclrIdent (CDeclr mIdent _ _ _ _) = mIdent--happyError :: P a-happyError = parseError---- * public interface---- | @parseC input initialPos@ parses the given preprocessed C-source input and returns the AST or a list of parse errors.-parseC :: InputStream -> Position -> Either ParseError CTranslUnit-parseC input initialPosition =- fmap fst $ execParser translUnitP input initialPosition builtinTypeNames (namesStartingFrom 0)---- | @translUnitP@ provides a parser for a complete C translation unit, i.e. a list of external declarations.-translUnitP :: P CTranslUnit-translUnitP = translation_unit--- | @extDeclP@ provides a parser for an external (file-scope) declaration-extDeclP :: P CExtDecl-extDeclP = external_declaration--- | @statementP@ provides a parser for C statements-statementP :: P CStat-statementP = statement--- | @expressionP@ provides a parser for C expressions-expressionP :: P CExpr-expressionP = expression-{-# LINE 1 "GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command line>" #-}-{-# LINE 1 "GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp--{-# LINE 28 "GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Int# Happy_IntList------{-# LINE 49 "GenericTemplate.hs" #-}--{-# LINE 59 "GenericTemplate.hs" #-}--{-# LINE 68 "GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser). We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =- happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) =- (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st- = {- nothing -}--- case action of- 0# -> {- nothing -}- happyFail i tk st- -1# -> {- nothing -}- happyAccept i tk st- n | (n <# (0# :: Int#)) -> {- nothing -}-- (happyReduceArr ! rule) i tk st- where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))- n -> {- nothing -}--- happyShift new_state i tk st- where new_state = (n -# (1# :: Int#))- where off = indexShortOffAddr happyActOffsets st- off_i = (off +# i)- check = if (off_i >=# (0# :: Int#))- then (indexShortOffAddr happyCheck off_i ==# i)- else False- action | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st--{-# LINE 127 "GenericTemplate.hs" #-}---indexShortOffAddr (HappyA# arr) off =--- #if __GLASGOW_HASKELL__ > 500- narrow16Int# i--- #elif __GLASGOW_HASKELL__ == 500- intToInt16# i--- #else- (i `iShiftL#` 16#) `iShiftRA#` 16#--- #endif- where--- #if __GLASGOW_HASKELL__ >= 503- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)--- #else- i = word2Int# ((high `shiftL#` 8#) `or#` low)--- #endif- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- low = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 2#------data HappyAddr = HappyA# Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =- let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in--- trace "shifting the error token" $- happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =- happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk- = case happyDrop (k -# (1# :: Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) ->- let r = fn stk in -- it doesn't hurt to always seq here...- happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =- happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))- where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))- drop_stk = happyDropStk k stk--happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =- happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))- where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))- drop_stk = happyDropStk k stk-- off = indexShortOffAddr happyGotoOffsets st1- off_i = (off +# nt)- new_state = indexShortOffAddr happyTable off_i-----happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st =- {- nothing -}- happyDoAction j tk new_state- where off = indexShortOffAddr happyGotoOffsets st- off_i = (off +# nt)- new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail 0# tk old_st _ stk =--- trace "failing" $- happyError_ tk--{- We don't need state discarding for our restricted implementation of- "error". In fact, it can cause some bogus parses, so I've disabled it- for now --SDM---- discard a state-happyFail 0# tk old_st (HappyCons ((action)) (sts))- (saved_tok `HappyStk` _ `HappyStk` stk) =--- trace ("discarding state, depth " ++ show (length stk)) $- happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,--- save the old token and carry on.-happyFail i tk (action) sts stk =--- trace "entering error recovery" $- happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing. If the --strict flag is given, then Happy emits--- happySeq = happyDoSeq--- otherwise it emits--- happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template. GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
− tests/examples/CParser.hs.exactprinter.golden
@@ -1,1 +0,0 @@-Match
− tests/examples/CParser.hs.parser.golden
file too large to diff
− tests/examples/CParser.hs.prettyparser.golden
@@ -1,10 +0,0 @@-Roundtrip test failed--AST 1:--Module (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (ModuleName "Language.C.Parser.Parser") [OptionsPragma (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) Nothing "-fglasgow-exts -cpp ",LanguagePragma (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "MagicHash"]] Nothing (Just [EVar (UnQual (Ident "parseC")),EVar (UnQual (Ident "translUnitP")),EVar (UnQual (Ident "extDeclP")),EVar (UnQual (Ident "statementP")),EVar (UnQual (Ident "expressionP"))]) [ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Prelude", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (True,[IVar (Ident "reverse")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.List", importQualified = True, importSrc = False, importPkg = Nothing, importAs = Just (ModuleName "List"), importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Control.Monad", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "mplus")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Parser.Builtin", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "builtinTypeNames")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Parser.Lexer", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "lexC"),IVar (Ident "parseError")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Parser.Tokens", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IThingAll (Ident "CToken"),IThingAll (Ident "GnuCTok"),IVar (Ident "posLenOfTok")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Parser.ParserMonad", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs (Ident "P"),IVar (Ident "failP"),IVar (Ident "execParser"),IVar (Ident "getNewName"),IVar (Ident "addTypedef"),IVar (Ident "shadowTypedef"),IVar (Ident "getCurrentPosition"),IVar (Ident "enterScope"),IVar (Ident "leaveScope"),IVar (Ident "getLastToken"),IVar (Ident "getSavedToken"),IThingAll (Ident "ParseError")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.RList", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.InputStream", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.Ident", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.Name", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.Node", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.Position", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Syntax", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.Array", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Array", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "GHC.Exts", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "GlaExts", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) NewType [] (Ident "HappyAbsSyn") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HappyAbsSyn") [UnBangedTy (TyParen (TyFun (TyCon (Special UnitCon)) (TyCon (Special UnitCon))))])] [],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn7"] (TyFun (TyParen (TyCon (UnQual (Ident "CTranslUnit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn7")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut7"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTranslUnit"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut7")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn8"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn8")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut8"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut8")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn9"] (TyFun (TyParen (TyCon (UnQual (Ident "CExtDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn9")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut9"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExtDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut9")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn10"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn10")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut10"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut10")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn11"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn11")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut11"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut11")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn12"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn12")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut12"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut12")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn13"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn13")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut13"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut13")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn14"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn14")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut14"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut14")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn15"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn15")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut15"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut15")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn16"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn16")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut16"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut16")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn17"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn17")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut17"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut17")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn18"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn18")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut18"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut18")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn19"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn19")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut19"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut19")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn20"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn20")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut20"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut20")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn21"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn21")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut21"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut21")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn22"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn22")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut22"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut22")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn23"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn23")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut23"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut23")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn24"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn24")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut24"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut24")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn25"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn25")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut25"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut25")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn26"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmStmt")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn26")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut26"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmStmt"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut26")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn27"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn27")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut27"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut27")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn28"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn28")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut28"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut28")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn29"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn29")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut29"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut29")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn30"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmOperand")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn30")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut30"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmOperand"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut30")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn31"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn31")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut31"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut31")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn32"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn32")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut32"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut32")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn33"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn33")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut33"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut33")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn34"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn34")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut34"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut34")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn35"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn35")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut35"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut35")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn36"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn36")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut36"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut36")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn37"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn37")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut37"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut37")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn38"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn38")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut38"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut38")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn39"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn39")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut39"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclSpec"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut39")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn40"] (TyFun (TyParen (TyCon (UnQual (Ident "CStorageSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn40")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut40"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStorageSpec"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut40")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn41"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn41")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut41"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut41")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn42"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn42")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut42"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut42")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn43"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn43")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut43"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut43")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn44"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn44")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut44"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut44")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn45"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn45")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut45"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut45")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn46"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn46")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut46"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut46")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn47"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn47")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut47"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut47")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn48"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn48")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut48"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut48")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn49"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn49")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut49"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut49")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn50"] (TyFun (TyParen (TyCon (UnQual (Ident "CStructUnion")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn50")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut50"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStructUnion"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut50")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn51"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn51")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut51"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut51")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn52"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn52")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut52"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut52")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn53"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn53")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut53"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut53")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn54"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn54")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut54"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut54")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn55"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn55")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut55"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut55")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn56"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn56")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut56"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut56")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn57"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn57")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut57"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut57")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn58"] (TyFun (TyParen (TyCon (UnQual (Ident "CEnum")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn58")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut58"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CEnum"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut58")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn59"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn59")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut59"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut59")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn60"] (TyFun (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn60")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut60"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut60")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn61"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeQual")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn61")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut61"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeQual"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut61")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn62"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn62")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut62"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut62")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn63"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn63")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut63"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut63")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn64"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn64")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut64"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut64")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn65"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn65")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut65"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut65")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn66"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn66")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut66"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut66")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn67"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn67")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut67"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut67")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn68"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn68")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut68"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut68")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn69"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn69")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut69"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut69")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn70"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn70")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut70"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut70")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn71"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn71")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut71"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut71")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn72"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn72")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut72"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut72")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn73"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn73")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut73"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut73")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn74"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn74")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut74"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut74")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn75"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn75")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut75"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut75")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn76"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn76")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut76"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut76")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn77"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn77")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut77"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut77")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn78"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn78")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut78"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut78")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn79"] (TyFun (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn79")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut79"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut79")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn80"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn80")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut80"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut80")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn81"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn81")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut81"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut81")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn82"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn82")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut82"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut82")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn83"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn83")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut83"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut83")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn84"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn84")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut84"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut84")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn85"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn85")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut85"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut85")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn86"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn86")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut86"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut86")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn87"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn87")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut87"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut87")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn88"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn88")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut88"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut88")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn89"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn89")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut89"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut89")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn90"] (TyFun (TyParen (TyCon (UnQual (Ident "CInit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn90")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut90"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CInit"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut90")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn91"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn91")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut91"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut91")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn92"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn92")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut92"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut92")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn93"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDesignator"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn93")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut93"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDesignator")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut93")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn94"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn94")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut94"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut94")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn95"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn95")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut95"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut95")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn96"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn96")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut96"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut96")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn97"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn97")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut97"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut97")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn98"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn98")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut98"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut98")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn99"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn99")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut99"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut99")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn100"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn100")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut100"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut100")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn101"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn101")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut101"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut101")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn102"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn102")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut102"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut102")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn103"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn103")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut103"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut103")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn104"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn104")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut104"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut104")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn105"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn105")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut105"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut105")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn106"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn106")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut106"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut106")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn107"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn107")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut107"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut107")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn108"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn108")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut108"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut108")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn109"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn109")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut109"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut109")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn110"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn110")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut110"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut110")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn111"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn111")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut111"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut111")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn112"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn112")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut112"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut112")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn113"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn113")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut113"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut113")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn114"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn114")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut114"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut114")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn115"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn115")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut115"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut115")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn116"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn116")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut116"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut116")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn117"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn117")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut117"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut117")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn118"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn118")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut118"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut118")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn119"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn119")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut119"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut119")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn120"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn120")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut120"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut120")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn121"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn121")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut121"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut121")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn122"] (TyFun (TyParen (TyCon (UnQual (Ident "CConst")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn122")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut122"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CConst"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut122")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn123"] (TyFun (TyParen (TyCon (UnQual (Ident "CStrLit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn123")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut123"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStrLit"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut123")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn124"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn124")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut124"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut124")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn125"] (TyFun (TyParen (TyCon (UnQual (Ident "Ident")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn125")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut125"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut125")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn126"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn126")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut126"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut126")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn127"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn127")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut127"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut127")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn128"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn128")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut128"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut128")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn129"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn129")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut129"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut129")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn130"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn130")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut130"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut130")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn131"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn131")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut131"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut131")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyInTok"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyInTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyInTok")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOutTok"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyCon (UnQual (Ident "CToken")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOutTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOutTok")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyActOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyActOffsets")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyGotoOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyGotoOffsets")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyDefActions"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyDefActions")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyCheck"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyCheck")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyTable"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyTable")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduceArr")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "array"))) (Tuple Boxed [Lit (Int 4),Lit (Int 463)])) (List [Tuple Boxed [Lit (Int 4),Var (UnQual (Ident "happyReduce_4"))],Tuple Boxed [Lit (Int 5),Var (UnQual (Ident "happyReduce_5"))],Tuple Boxed [Lit (Int 6),Var (UnQual (Ident "happyReduce_6"))],Tuple Boxed [Lit (Int 7),Var (UnQual (Ident "happyReduce_7"))],Tuple Boxed [Lit (Int 8),Var (UnQual (Ident "happyReduce_8"))],Tuple Boxed [Lit (Int 9),Var (UnQual (Ident "happyReduce_9"))],Tuple Boxed [Lit (Int 10),Var (UnQual (Ident "happyReduce_10"))],Tuple Boxed [Lit (Int 11),Var (UnQual (Ident "happyReduce_11"))],Tuple Boxed [Lit (Int 12),Var (UnQual (Ident "happyReduce_12"))],Tuple Boxed [Lit (Int 13),Var (UnQual (Ident "happyReduce_13"))],Tuple Boxed [Lit (Int 14),Var (UnQual (Ident "happyReduce_14"))],Tuple Boxed [Lit (Int 15),Var (UnQual (Ident "happyReduce_15"))],Tuple Boxed [Lit (Int 16),Var (UnQual (Ident "happyReduce_16"))],Tuple Boxed [Lit (Int 17),Var (UnQual (Ident "happyReduce_17"))],Tuple Boxed [Lit (Int 18),Var (UnQual (Ident "happyReduce_18"))],Tuple Boxed [Lit (Int 19),Var (UnQual (Ident "happyReduce_19"))],Tuple Boxed [Lit (Int 20),Var (UnQual (Ident "happyReduce_20"))],Tuple Boxed [Lit (Int 21),Var (UnQual (Ident "happyReduce_21"))],Tuple Boxed [Lit (Int 22),Var (UnQual (Ident "happyReduce_22"))],Tuple Boxed [Lit (Int 23),Var (UnQual (Ident "happyReduce_23"))],Tuple Boxed [Lit (Int 24),Var (UnQual (Ident "happyReduce_24"))],Tuple Boxed [Lit (Int 25),Var (UnQual (Ident "happyReduce_25"))],Tuple Boxed [Lit (Int 26),Var (UnQual (Ident "happyReduce_26"))],Tuple Boxed [Lit (Int 27),Var (UnQual (Ident "happyReduce_27"))],Tuple Boxed [Lit (Int 28),Var (UnQual (Ident "happyReduce_28"))],Tuple Boxed [Lit (Int 29),Var (UnQual (Ident "happyReduce_29"))],Tuple Boxed [Lit (Int 30),Var (UnQual (Ident "happyReduce_30"))],Tuple Boxed [Lit (Int 31),Var (UnQual (Ident "happyReduce_31"))],Tuple Boxed [Lit (Int 32),Var (UnQual (Ident "happyReduce_32"))],Tuple Boxed [Lit (Int 33),Var (UnQual (Ident "happyReduce_33"))],Tuple Boxed [Lit (Int 34),Var (UnQual (Ident "happyReduce_34"))],Tuple Boxed [Lit (Int 35),Var (UnQual (Ident "happyReduce_35"))],Tuple Boxed [Lit (Int 36),Var (UnQual (Ident "happyReduce_36"))],Tuple Boxed [Lit (Int 37),Var (UnQual (Ident "happyReduce_37"))],Tuple Boxed [Lit (Int 38),Var (UnQual (Ident "happyReduce_38"))],Tuple Boxed [Lit (Int 39),Var (UnQual (Ident "happyReduce_39"))],Tuple Boxed [Lit (Int 40),Var (UnQual (Ident "happyReduce_40"))],Tuple Boxed [Lit (Int 41),Var (UnQual (Ident "happyReduce_41"))],Tuple Boxed [Lit (Int 42),Var (UnQual (Ident "happyReduce_42"))],Tuple Boxed [Lit (Int 43),Var (UnQual (Ident "happyReduce_43"))],Tuple Boxed [Lit (Int 44),Var (UnQual (Ident "happyReduce_44"))],Tuple Boxed [Lit (Int 45),Var (UnQual (Ident "happyReduce_45"))],Tuple Boxed [Lit (Int 46),Var (UnQual (Ident "happyReduce_46"))],Tuple Boxed [Lit (Int 47),Var (UnQual (Ident "happyReduce_47"))],Tuple Boxed [Lit (Int 48),Var (UnQual (Ident "happyReduce_48"))],Tuple Boxed [Lit (Int 49),Var (UnQual (Ident "happyReduce_49"))],Tuple Boxed [Lit (Int 50),Var (UnQual (Ident "happyReduce_50"))],Tuple Boxed [Lit (Int 51),Var (UnQual (Ident "happyReduce_51"))],Tuple Boxed [Lit (Int 52),Var (UnQual (Ident "happyReduce_52"))],Tuple Boxed [Lit (Int 53),Var (UnQual (Ident "happyReduce_53"))],Tuple Boxed [Lit (Int 54),Var (UnQual (Ident "happyReduce_54"))],Tuple Boxed [Lit (Int 55),Var (UnQual (Ident "happyReduce_55"))],Tuple Boxed [Lit (Int 56),Var (UnQual (Ident "happyReduce_56"))],Tuple Boxed [Lit (Int 57),Var (UnQual (Ident "happyReduce_57"))],Tuple Boxed [Lit (Int 58),Var (UnQual (Ident "happyReduce_58"))],Tuple Boxed [Lit (Int 59),Var (UnQual (Ident "happyReduce_59"))],Tuple Boxed [Lit (Int 60),Var (UnQual (Ident "happyReduce_60"))],Tuple Boxed [Lit (Int 61),Var (UnQual (Ident "happyReduce_61"))],Tuple Boxed [Lit (Int 62),Var (UnQual (Ident "happyReduce_62"))],Tuple Boxed [Lit (Int 63),Var (UnQual (Ident "happyReduce_63"))],Tuple Boxed [Lit (Int 64),Var (UnQual (Ident "happyReduce_64"))],Tuple Boxed [Lit (Int 65),Var (UnQual (Ident "happyReduce_65"))],Tuple Boxed [Lit (Int 66),Var (UnQual (Ident "happyReduce_66"))],Tuple Boxed [Lit (Int 67),Var (UnQual (Ident "happyReduce_67"))],Tuple Boxed [Lit (Int 68),Var (UnQual (Ident "happyReduce_68"))],Tuple Boxed [Lit (Int 69),Var (UnQual (Ident "happyReduce_69"))],Tuple Boxed [Lit (Int 70),Var (UnQual (Ident "happyReduce_70"))],Tuple Boxed [Lit (Int 71),Var (UnQual (Ident "happyReduce_71"))],Tuple Boxed [Lit (Int 72),Var (UnQual (Ident "happyReduce_72"))],Tuple Boxed [Lit (Int 73),Var (UnQual (Ident "happyReduce_73"))],Tuple Boxed [Lit (Int 74),Var (UnQual (Ident "happyReduce_74"))],Tuple Boxed [Lit (Int 75),Var (UnQual (Ident "happyReduce_75"))],Tuple Boxed [Lit (Int 76),Var (UnQual (Ident "happyReduce_76"))],Tuple Boxed [Lit (Int 77),Var (UnQual (Ident "happyReduce_77"))],Tuple Boxed [Lit (Int 78),Var (UnQual (Ident "happyReduce_78"))],Tuple Boxed [Lit (Int 79),Var (UnQual (Ident "happyReduce_79"))],Tuple Boxed [Lit (Int 80),Var (UnQual (Ident "happyReduce_80"))],Tuple Boxed [Lit (Int 81),Var (UnQual (Ident "happyReduce_81"))],Tuple Boxed [Lit (Int 82),Var (UnQual (Ident "happyReduce_82"))],Tuple Boxed [Lit (Int 83),Var (UnQual (Ident "happyReduce_83"))],Tuple Boxed [Lit (Int 84),Var (UnQual (Ident "happyReduce_84"))],Tuple Boxed [Lit (Int 85),Var (UnQual (Ident "happyReduce_85"))],Tuple Boxed [Lit (Int 86),Var (UnQual (Ident "happyReduce_86"))],Tuple Boxed [Lit (Int 87),Var (UnQual (Ident "happyReduce_87"))],Tuple Boxed [Lit (Int 88),Var (UnQual (Ident "happyReduce_88"))],Tuple Boxed [Lit (Int 89),Var (UnQual (Ident "happyReduce_89"))],Tuple Boxed [Lit (Int 90),Var (UnQual (Ident "happyReduce_90"))],Tuple Boxed [Lit (Int 91),Var (UnQual (Ident "happyReduce_91"))],Tuple Boxed [Lit (Int 92),Var (UnQual (Ident "happyReduce_92"))],Tuple Boxed [Lit (Int 93),Var (UnQual (Ident "happyReduce_93"))],Tuple Boxed [Lit (Int 94),Var (UnQual (Ident "happyReduce_94"))],Tuple Boxed [Lit (Int 95),Var (UnQual (Ident "happyReduce_95"))],Tuple Boxed [Lit (Int 96),Var (UnQual (Ident "happyReduce_96"))],Tuple Boxed [Lit (Int 97),Var (UnQual (Ident "happyReduce_97"))],Tuple Boxed [Lit (Int 98),Var (UnQual (Ident "happyReduce_98"))],Tuple Boxed [Lit (Int 99),Var (UnQual (Ident "happyReduce_99"))],Tuple Boxed [Lit (Int 100),Var (UnQual (Ident "happyReduce_100"))],Tuple Boxed [Lit (Int 101),Var (UnQual (Ident "happyReduce_101"))],Tuple Boxed [Lit (Int 102),Var (UnQual (Ident "happyReduce_102"))],Tuple Boxed [Lit (Int 103),Var (UnQual (Ident "happyReduce_103"))],Tuple Boxed [Lit (Int 104),Var (UnQual (Ident "happyReduce_104"))],Tuple Boxed [Lit (Int 105),Var (UnQual (Ident "happyReduce_105"))],Tuple Boxed [Lit (Int 106),Var (UnQual (Ident "happyReduce_106"))],Tuple Boxed [Lit (Int 107),Var (UnQual (Ident "happyReduce_107"))],Tuple Boxed [Lit (Int 108),Var (UnQual (Ident "happyReduce_108"))],Tuple Boxed [Lit (Int 109),Var (UnQual (Ident "happyReduce_109"))],Tuple Boxed [Lit (Int 110),Var (UnQual (Ident "happyReduce_110"))],Tuple Boxed [Lit (Int 111),Var (UnQual (Ident "happyReduce_111"))],Tuple Boxed [Lit (Int 112),Var (UnQual (Ident "happyReduce_112"))],Tuple Boxed [Lit (Int 113),Var (UnQual (Ident "happyReduce_113"))],Tuple Boxed [Lit (Int 114),Var (UnQual (Ident "happyReduce_114"))],Tuple Boxed [Lit (Int 115),Var (UnQual (Ident "happyReduce_115"))],Tuple Boxed [Lit (Int 116),Var (UnQual (Ident "happyReduce_116"))],Tuple Boxed [Lit (Int 117),Var (UnQual (Ident "happyReduce_117"))],Tuple Boxed [Lit (Int 118),Var (UnQual (Ident "happyReduce_118"))],Tuple Boxed [Lit (Int 119),Var (UnQual (Ident "happyReduce_119"))],Tuple Boxed [Lit (Int 120),Var (UnQual (Ident "happyReduce_120"))],Tuple Boxed [Lit (Int 121),Var (UnQual (Ident "happyReduce_121"))],Tuple Boxed [Lit (Int 122),Var (UnQual (Ident "happyReduce_122"))],Tuple Boxed [Lit (Int 123),Var (UnQual (Ident "happyReduce_123"))],Tuple Boxed [Lit (Int 124),Var (UnQual (Ident "happyReduce_124"))],Tuple Boxed [Lit (Int 125),Var (UnQual (Ident "happyReduce_125"))],Tuple Boxed [Lit (Int 126),Var (UnQual (Ident "happyReduce_126"))],Tuple Boxed [Lit (Int 127),Var (UnQual (Ident "happyReduce_127"))],Tuple Boxed [Lit (Int 128),Var (UnQual (Ident "happyReduce_128"))],Tuple Boxed [Lit (Int 129),Var (UnQual (Ident "happyReduce_129"))],Tuple Boxed [Lit (Int 130),Var (UnQual (Ident "happyReduce_130"))],Tuple Boxed [Lit (Int 131),Var (UnQual (Ident "happyReduce_131"))],Tuple Boxed [Lit (Int 132),Var (UnQual (Ident "happyReduce_132"))],Tuple Boxed [Lit (Int 133),Var (UnQual (Ident "happyReduce_133"))],Tuple Boxed [Lit (Int 134),Var (UnQual (Ident "happyReduce_134"))],Tuple Boxed [Lit (Int 135),Var (UnQual (Ident "happyReduce_135"))],Tuple Boxed [Lit (Int 136),Var (UnQual (Ident "happyReduce_136"))],Tuple Boxed [Lit (Int 137),Var (UnQual (Ident "happyReduce_137"))],Tuple Boxed [Lit (Int 138),Var (UnQual (Ident "happyReduce_138"))],Tuple Boxed [Lit (Int 139),Var (UnQual (Ident "happyReduce_139"))],Tuple Boxed [Lit (Int 140),Var (UnQual (Ident "happyReduce_140"))],Tuple Boxed [Lit (Int 141),Var (UnQual (Ident "happyReduce_141"))],Tuple Boxed [Lit (Int 142),Var (UnQual (Ident "happyReduce_142"))],Tuple Boxed [Lit (Int 143),Var (UnQual (Ident "happyReduce_143"))],Tuple Boxed [Lit (Int 144),Var (UnQual (Ident "happyReduce_144"))],Tuple Boxed [Lit (Int 145),Var (UnQual (Ident "happyReduce_145"))],Tuple Boxed [Lit (Int 146),Var (UnQual (Ident "happyReduce_146"))],Tuple Boxed [Lit (Int 147),Var (UnQual (Ident "happyReduce_147"))],Tuple Boxed [Lit (Int 148),Var (UnQual (Ident "happyReduce_148"))],Tuple Boxed [Lit (Int 149),Var (UnQual (Ident "happyReduce_149"))],Tuple Boxed [Lit (Int 150),Var (UnQual (Ident "happyReduce_150"))],Tuple Boxed [Lit (Int 151),Var (UnQual (Ident "happyReduce_151"))],Tuple Boxed [Lit (Int 152),Var (UnQual (Ident "happyReduce_152"))],Tuple Boxed [Lit (Int 153),Var (UnQual (Ident "happyReduce_153"))],Tuple Boxed [Lit (Int 154),Var (UnQual (Ident "happyReduce_154"))],Tuple Boxed [Lit (Int 155),Var (UnQual (Ident "happyReduce_155"))],Tuple Boxed [Lit (Int 156),Var (UnQual (Ident "happyReduce_156"))],Tuple Boxed [Lit (Int 157),Var (UnQual (Ident "happyReduce_157"))],Tuple Boxed [Lit (Int 158),Var (UnQual (Ident "happyReduce_158"))],Tuple Boxed [Lit (Int 159),Var (UnQual (Ident "happyReduce_159"))],Tuple Boxed [Lit (Int 160),Var (UnQual (Ident "happyReduce_160"))],Tuple Boxed [Lit (Int 161),Var (UnQual (Ident "happyReduce_161"))],Tuple Boxed [Lit (Int 162),Var (UnQual (Ident "happyReduce_162"))],Tuple Boxed [Lit (Int 163),Var (UnQual (Ident "happyReduce_163"))],Tuple Boxed [Lit (Int 164),Var (UnQual (Ident "happyReduce_164"))],Tuple Boxed [Lit (Int 165),Var (UnQual (Ident "happyReduce_165"))],Tuple Boxed [Lit (Int 166),Var (UnQual (Ident "happyReduce_166"))],Tuple Boxed [Lit (Int 167),Var (UnQual (Ident "happyReduce_167"))],Tuple Boxed [Lit (Int 168),Var (UnQual (Ident "happyReduce_168"))],Tuple Boxed [Lit (Int 169),Var (UnQual (Ident "happyReduce_169"))],Tuple Boxed [Lit (Int 170),Var (UnQual (Ident "happyReduce_170"))],Tuple Boxed [Lit (Int 171),Var (UnQual (Ident "happyReduce_171"))],Tuple Boxed [Lit (Int 172),Var (UnQual (Ident "happyReduce_172"))],Tuple Boxed [Lit (Int 173),Var (UnQual (Ident "happyReduce_173"))],Tuple Boxed [Lit (Int 174),Var (UnQual (Ident "happyReduce_174"))],Tuple Boxed [Lit (Int 175),Var (UnQual (Ident "happyReduce_175"))],Tuple Boxed [Lit (Int 176),Var (UnQual (Ident "happyReduce_176"))],Tuple Boxed [Lit (Int 177),Var (UnQual (Ident "happyReduce_177"))],Tuple Boxed [Lit (Int 178),Var (UnQual (Ident "happyReduce_178"))],Tuple Boxed [Lit (Int 179),Var (UnQual (Ident "happyReduce_179"))],Tuple Boxed [Lit (Int 180),Var (UnQual (Ident "happyReduce_180"))],Tuple Boxed [Lit (Int 181),Var (UnQual (Ident "happyReduce_181"))],Tuple Boxed [Lit (Int 182),Var (UnQual (Ident "happyReduce_182"))],Tuple Boxed [Lit (Int 183),Var (UnQual (Ident "happyReduce_183"))],Tuple Boxed [Lit (Int 184),Var (UnQual (Ident "happyReduce_184"))],Tuple Boxed [Lit (Int 185),Var (UnQual (Ident "happyReduce_185"))],Tuple Boxed [Lit (Int 186),Var (UnQual (Ident "happyReduce_186"))],Tuple Boxed [Lit (Int 187),Var (UnQual (Ident "happyReduce_187"))],Tuple Boxed [Lit (Int 188),Var (UnQual (Ident "happyReduce_188"))],Tuple Boxed [Lit (Int 189),Var (UnQual (Ident "happyReduce_189"))],Tuple Boxed [Lit (Int 190),Var (UnQual (Ident "happyReduce_190"))],Tuple Boxed [Lit (Int 191),Var (UnQual (Ident "happyReduce_191"))],Tuple Boxed [Lit (Int 192),Var (UnQual (Ident "happyReduce_192"))],Tuple Boxed [Lit (Int 193),Var (UnQual (Ident "happyReduce_193"))],Tuple Boxed [Lit (Int 194),Var (UnQual (Ident "happyReduce_194"))],Tuple Boxed [Lit (Int 195),Var (UnQual (Ident "happyReduce_195"))],Tuple Boxed [Lit (Int 196),Var (UnQual (Ident "happyReduce_196"))],Tuple Boxed [Lit (Int 197),Var (UnQual (Ident "happyReduce_197"))],Tuple Boxed [Lit (Int 198),Var (UnQual (Ident "happyReduce_198"))],Tuple Boxed [Lit (Int 199),Var (UnQual (Ident "happyReduce_199"))],Tuple Boxed [Lit (Int 200),Var (UnQual (Ident "happyReduce_200"))],Tuple Boxed [Lit (Int 201),Var (UnQual (Ident "happyReduce_201"))],Tuple Boxed [Lit (Int 202),Var (UnQual (Ident "happyReduce_202"))],Tuple Boxed [Lit (Int 203),Var (UnQual (Ident "happyReduce_203"))],Tuple Boxed [Lit (Int 204),Var (UnQual (Ident "happyReduce_204"))],Tuple Boxed [Lit (Int 205),Var (UnQual (Ident "happyReduce_205"))],Tuple Boxed [Lit (Int 206),Var (UnQual (Ident "happyReduce_206"))],Tuple Boxed [Lit (Int 207),Var (UnQual (Ident "happyReduce_207"))],Tuple Boxed [Lit (Int 208),Var (UnQual (Ident "happyReduce_208"))],Tuple Boxed [Lit (Int 209),Var (UnQual (Ident "happyReduce_209"))],Tuple Boxed [Lit (Int 210),Var (UnQual (Ident "happyReduce_210"))],Tuple Boxed [Lit (Int 211),Var (UnQual (Ident "happyReduce_211"))],Tuple Boxed [Lit (Int 212),Var (UnQual (Ident "happyReduce_212"))],Tuple Boxed [Lit (Int 213),Var (UnQual (Ident "happyReduce_213"))],Tuple Boxed [Lit (Int 214),Var (UnQual (Ident "happyReduce_214"))],Tuple Boxed [Lit (Int 215),Var (UnQual (Ident "happyReduce_215"))],Tuple Boxed [Lit (Int 216),Var (UnQual (Ident "happyReduce_216"))],Tuple Boxed [Lit (Int 217),Var (UnQual (Ident "happyReduce_217"))],Tuple Boxed [Lit (Int 218),Var (UnQual (Ident "happyReduce_218"))],Tuple Boxed [Lit (Int 219),Var (UnQual (Ident "happyReduce_219"))],Tuple Boxed [Lit (Int 220),Var (UnQual (Ident "happyReduce_220"))],Tuple Boxed [Lit (Int 221),Var (UnQual (Ident "happyReduce_221"))],Tuple Boxed [Lit (Int 222),Var (UnQual (Ident "happyReduce_222"))],Tuple Boxed [Lit (Int 223),Var (UnQual (Ident "happyReduce_223"))],Tuple Boxed [Lit (Int 224),Var (UnQual (Ident "happyReduce_224"))],Tuple Boxed [Lit (Int 225),Var (UnQual (Ident "happyReduce_225"))],Tuple Boxed [Lit (Int 226),Var (UnQual (Ident "happyReduce_226"))],Tuple Boxed [Lit (Int 227),Var (UnQual (Ident "happyReduce_227"))],Tuple Boxed [Lit (Int 228),Var (UnQual (Ident "happyReduce_228"))],Tuple Boxed [Lit (Int 229),Var (UnQual (Ident "happyReduce_229"))],Tuple Boxed [Lit (Int 230),Var (UnQual (Ident "happyReduce_230"))],Tuple Boxed [Lit (Int 231),Var (UnQual (Ident "happyReduce_231"))],Tuple Boxed [Lit (Int 232),Var (UnQual (Ident "happyReduce_232"))],Tuple Boxed [Lit (Int 233),Var (UnQual (Ident "happyReduce_233"))],Tuple Boxed [Lit (Int 234),Var (UnQual (Ident "happyReduce_234"))],Tuple Boxed [Lit (Int 235),Var (UnQual (Ident "happyReduce_235"))],Tuple Boxed [Lit (Int 236),Var (UnQual (Ident "happyReduce_236"))],Tuple Boxed [Lit (Int 237),Var (UnQual (Ident "happyReduce_237"))],Tuple Boxed [Lit (Int 238),Var (UnQual (Ident "happyReduce_238"))],Tuple Boxed [Lit (Int 239),Var (UnQual (Ident "happyReduce_239"))],Tuple Boxed [Lit (Int 240),Var (UnQual (Ident "happyReduce_240"))],Tuple Boxed [Lit (Int 241),Var (UnQual (Ident "happyReduce_241"))],Tuple Boxed [Lit (Int 242),Var (UnQual (Ident "happyReduce_242"))],Tuple Boxed [Lit (Int 243),Var (UnQual (Ident "happyReduce_243"))],Tuple Boxed [Lit (Int 244),Var (UnQual (Ident "happyReduce_244"))],Tuple Boxed [Lit (Int 245),Var (UnQual (Ident "happyReduce_245"))],Tuple Boxed [Lit (Int 246),Var (UnQual (Ident "happyReduce_246"))],Tuple Boxed [Lit (Int 247),Var (UnQual (Ident "happyReduce_247"))],Tuple Boxed [Lit (Int 248),Var (UnQual (Ident "happyReduce_248"))],Tuple Boxed [Lit (Int 249),Var (UnQual (Ident "happyReduce_249"))],Tuple Boxed [Lit (Int 250),Var (UnQual (Ident "happyReduce_250"))],Tuple Boxed [Lit (Int 251),Var (UnQual (Ident "happyReduce_251"))],Tuple Boxed [Lit (Int 252),Var (UnQual (Ident "happyReduce_252"))],Tuple Boxed [Lit (Int 253),Var (UnQual (Ident "happyReduce_253"))],Tuple Boxed [Lit (Int 254),Var (UnQual (Ident "happyReduce_254"))],Tuple Boxed [Lit (Int 255),Var (UnQual (Ident "happyReduce_255"))],Tuple Boxed [Lit (Int 256),Var (UnQual (Ident "happyReduce_256"))],Tuple Boxed [Lit (Int 257),Var (UnQual (Ident "happyReduce_257"))],Tuple Boxed [Lit (Int 258),Var (UnQual (Ident "happyReduce_258"))],Tuple Boxed [Lit (Int 259),Var (UnQual (Ident "happyReduce_259"))],Tuple Boxed [Lit (Int 260),Var (UnQual (Ident "happyReduce_260"))],Tuple Boxed [Lit (Int 261),Var (UnQual (Ident "happyReduce_261"))],Tuple Boxed [Lit (Int 262),Var (UnQual (Ident "happyReduce_262"))],Tuple Boxed [Lit (Int 263),Var (UnQual (Ident "happyReduce_263"))],Tuple Boxed [Lit (Int 264),Var (UnQual (Ident "happyReduce_264"))],Tuple Boxed [Lit (Int 265),Var (UnQual (Ident "happyReduce_265"))],Tuple Boxed [Lit (Int 266),Var (UnQual (Ident "happyReduce_266"))],Tuple Boxed [Lit (Int 267),Var (UnQual (Ident "happyReduce_267"))],Tuple Boxed [Lit (Int 268),Var (UnQual (Ident "happyReduce_268"))],Tuple Boxed [Lit (Int 269),Var (UnQual (Ident "happyReduce_269"))],Tuple Boxed [Lit (Int 270),Var (UnQual (Ident "happyReduce_270"))],Tuple Boxed [Lit (Int 271),Var (UnQual (Ident "happyReduce_271"))],Tuple Boxed [Lit (Int 272),Var (UnQual (Ident "happyReduce_272"))],Tuple Boxed [Lit (Int 273),Var (UnQual (Ident "happyReduce_273"))],Tuple Boxed [Lit (Int 274),Var (UnQual (Ident "happyReduce_274"))],Tuple Boxed [Lit (Int 275),Var (UnQual (Ident "happyReduce_275"))],Tuple Boxed [Lit (Int 276),Var (UnQual (Ident "happyReduce_276"))],Tuple Boxed [Lit (Int 277),Var (UnQual (Ident "happyReduce_277"))],Tuple Boxed [Lit (Int 278),Var (UnQual (Ident "happyReduce_278"))],Tuple Boxed [Lit (Int 279),Var (UnQual (Ident "happyReduce_279"))],Tuple Boxed [Lit (Int 280),Var (UnQual (Ident "happyReduce_280"))],Tuple Boxed [Lit (Int 281),Var (UnQual (Ident "happyReduce_281"))],Tuple Boxed [Lit (Int 282),Var (UnQual (Ident "happyReduce_282"))],Tuple Boxed [Lit (Int 283),Var (UnQual (Ident "happyReduce_283"))],Tuple Boxed [Lit (Int 284),Var (UnQual (Ident "happyReduce_284"))],Tuple Boxed [Lit (Int 285),Var (UnQual (Ident "happyReduce_285"))],Tuple Boxed [Lit (Int 286),Var (UnQual (Ident "happyReduce_286"))],Tuple Boxed [Lit (Int 287),Var (UnQual (Ident "happyReduce_287"))],Tuple Boxed [Lit (Int 288),Var (UnQual (Ident "happyReduce_288"))],Tuple Boxed [Lit (Int 289),Var (UnQual (Ident "happyReduce_289"))],Tuple Boxed [Lit (Int 290),Var (UnQual (Ident "happyReduce_290"))],Tuple Boxed [Lit (Int 291),Var (UnQual (Ident "happyReduce_291"))],Tuple Boxed [Lit (Int 292),Var (UnQual (Ident "happyReduce_292"))],Tuple Boxed [Lit (Int 293),Var (UnQual (Ident "happyReduce_293"))],Tuple Boxed [Lit (Int 294),Var (UnQual (Ident "happyReduce_294"))],Tuple Boxed [Lit (Int 295),Var (UnQual (Ident "happyReduce_295"))],Tuple Boxed [Lit (Int 296),Var (UnQual (Ident "happyReduce_296"))],Tuple Boxed [Lit (Int 297),Var (UnQual (Ident "happyReduce_297"))],Tuple Boxed [Lit (Int 298),Var (UnQual (Ident "happyReduce_298"))],Tuple Boxed [Lit (Int 299),Var (UnQual (Ident "happyReduce_299"))],Tuple Boxed [Lit (Int 300),Var (UnQual (Ident "happyReduce_300"))],Tuple Boxed [Lit (Int 301),Var (UnQual (Ident "happyReduce_301"))],Tuple Boxed [Lit (Int 302),Var (UnQual (Ident "happyReduce_302"))],Tuple Boxed [Lit (Int 303),Var (UnQual (Ident "happyReduce_303"))],Tuple Boxed [Lit (Int 304),Var (UnQual (Ident "happyReduce_304"))],Tuple Boxed [Lit (Int 305),Var (UnQual (Ident "happyReduce_305"))],Tuple Boxed [Lit (Int 306),Var (UnQual (Ident "happyReduce_306"))],Tuple Boxed [Lit (Int 307),Var (UnQual (Ident "happyReduce_307"))],Tuple Boxed [Lit (Int 308),Var (UnQual (Ident "happyReduce_308"))],Tuple Boxed [Lit (Int 309),Var (UnQual (Ident "happyReduce_309"))],Tuple Boxed [Lit (Int 310),Var (UnQual (Ident "happyReduce_310"))],Tuple Boxed [Lit (Int 311),Var (UnQual (Ident "happyReduce_311"))],Tuple Boxed [Lit (Int 312),Var (UnQual (Ident "happyReduce_312"))],Tuple Boxed [Lit (Int 313),Var (UnQual (Ident "happyReduce_313"))],Tuple Boxed [Lit (Int 314),Var (UnQual (Ident "happyReduce_314"))],Tuple Boxed [Lit (Int 315),Var (UnQual (Ident "happyReduce_315"))],Tuple Boxed [Lit (Int 316),Var (UnQual (Ident "happyReduce_316"))],Tuple Boxed [Lit (Int 317),Var (UnQual (Ident "happyReduce_317"))],Tuple Boxed [Lit (Int 318),Var (UnQual (Ident "happyReduce_318"))],Tuple Boxed [Lit (Int 319),Var (UnQual (Ident "happyReduce_319"))],Tuple Boxed [Lit (Int 320),Var (UnQual (Ident "happyReduce_320"))],Tuple Boxed [Lit (Int 321),Var (UnQual (Ident "happyReduce_321"))],Tuple Boxed [Lit (Int 322),Var (UnQual (Ident "happyReduce_322"))],Tuple Boxed [Lit (Int 323),Var (UnQual (Ident "happyReduce_323"))],Tuple Boxed [Lit (Int 324),Var (UnQual (Ident "happyReduce_324"))],Tuple Boxed [Lit (Int 325),Var (UnQual (Ident "happyReduce_325"))],Tuple Boxed [Lit (Int 326),Var (UnQual (Ident "happyReduce_326"))],Tuple Boxed [Lit (Int 327),Var (UnQual (Ident "happyReduce_327"))],Tuple Boxed [Lit (Int 328),Var (UnQual (Ident "happyReduce_328"))],Tuple Boxed [Lit (Int 329),Var (UnQual (Ident "happyReduce_329"))],Tuple Boxed [Lit (Int 330),Var (UnQual (Ident "happyReduce_330"))],Tuple Boxed [Lit (Int 331),Var (UnQual (Ident "happyReduce_331"))],Tuple Boxed [Lit (Int 332),Var (UnQual (Ident "happyReduce_332"))],Tuple Boxed [Lit (Int 333),Var (UnQual (Ident "happyReduce_333"))],Tuple Boxed [Lit (Int 334),Var (UnQual (Ident "happyReduce_334"))],Tuple Boxed [Lit (Int 335),Var (UnQual (Ident "happyReduce_335"))],Tuple Boxed [Lit (Int 336),Var (UnQual (Ident "happyReduce_336"))],Tuple Boxed [Lit (Int 337),Var (UnQual (Ident "happyReduce_337"))],Tuple Boxed [Lit (Int 338),Var (UnQual (Ident "happyReduce_338"))],Tuple Boxed [Lit (Int 339),Var (UnQual (Ident "happyReduce_339"))],Tuple Boxed [Lit (Int 340),Var (UnQual (Ident "happyReduce_340"))],Tuple Boxed [Lit (Int 341),Var (UnQual (Ident "happyReduce_341"))],Tuple Boxed [Lit (Int 342),Var (UnQual (Ident "happyReduce_342"))],Tuple Boxed [Lit (Int 343),Var (UnQual (Ident "happyReduce_343"))],Tuple Boxed [Lit (Int 344),Var (UnQual (Ident "happyReduce_344"))],Tuple Boxed [Lit (Int 345),Var (UnQual (Ident "happyReduce_345"))],Tuple Boxed [Lit (Int 346),Var (UnQual (Ident "happyReduce_346"))],Tuple Boxed [Lit (Int 347),Var (UnQual (Ident "happyReduce_347"))],Tuple Boxed [Lit (Int 348),Var (UnQual (Ident "happyReduce_348"))],Tuple Boxed [Lit (Int 349),Var (UnQual (Ident "happyReduce_349"))],Tuple Boxed [Lit (Int 350),Var (UnQual (Ident "happyReduce_350"))],Tuple Boxed [Lit (Int 351),Var (UnQual (Ident "happyReduce_351"))],Tuple Boxed [Lit (Int 352),Var (UnQual (Ident "happyReduce_352"))],Tuple Boxed [Lit (Int 353),Var (UnQual (Ident "happyReduce_353"))],Tuple Boxed [Lit (Int 354),Var (UnQual (Ident "happyReduce_354"))],Tuple Boxed [Lit (Int 355),Var (UnQual (Ident "happyReduce_355"))],Tuple Boxed [Lit (Int 356),Var (UnQual (Ident "happyReduce_356"))],Tuple Boxed [Lit (Int 357),Var (UnQual (Ident "happyReduce_357"))],Tuple Boxed [Lit (Int 358),Var (UnQual (Ident "happyReduce_358"))],Tuple Boxed [Lit (Int 359),Var (UnQual (Ident "happyReduce_359"))],Tuple Boxed [Lit (Int 360),Var (UnQual (Ident "happyReduce_360"))],Tuple Boxed [Lit (Int 361),Var (UnQual (Ident "happyReduce_361"))],Tuple Boxed [Lit (Int 362),Var (UnQual (Ident "happyReduce_362"))],Tuple Boxed [Lit (Int 363),Var (UnQual (Ident "happyReduce_363"))],Tuple Boxed [Lit (Int 364),Var (UnQual (Ident "happyReduce_364"))],Tuple Boxed [Lit (Int 365),Var (UnQual (Ident "happyReduce_365"))],Tuple Boxed [Lit (Int 366),Var (UnQual (Ident "happyReduce_366"))],Tuple Boxed [Lit (Int 367),Var (UnQual (Ident "happyReduce_367"))],Tuple Boxed [Lit (Int 368),Var (UnQual (Ident "happyReduce_368"))],Tuple Boxed [Lit (Int 369),Var (UnQual (Ident "happyReduce_369"))],Tuple Boxed [Lit (Int 370),Var (UnQual (Ident "happyReduce_370"))],Tuple Boxed [Lit (Int 371),Var (UnQual (Ident "happyReduce_371"))],Tuple Boxed [Lit (Int 372),Var (UnQual (Ident "happyReduce_372"))],Tuple Boxed [Lit (Int 373),Var (UnQual (Ident "happyReduce_373"))],Tuple Boxed [Lit (Int 374),Var (UnQual (Ident "happyReduce_374"))],Tuple Boxed [Lit (Int 375),Var (UnQual (Ident "happyReduce_375"))],Tuple Boxed [Lit (Int 376),Var (UnQual (Ident "happyReduce_376"))],Tuple Boxed [Lit (Int 377),Var (UnQual (Ident "happyReduce_377"))],Tuple Boxed [Lit (Int 378),Var (UnQual (Ident "happyReduce_378"))],Tuple Boxed [Lit (Int 379),Var (UnQual (Ident "happyReduce_379"))],Tuple Boxed [Lit (Int 380),Var (UnQual (Ident "happyReduce_380"))],Tuple Boxed [Lit (Int 381),Var (UnQual (Ident "happyReduce_381"))],Tuple Boxed [Lit (Int 382),Var (UnQual (Ident "happyReduce_382"))],Tuple Boxed [Lit (Int 383),Var (UnQual (Ident "happyReduce_383"))],Tuple Boxed [Lit (Int 384),Var (UnQual (Ident "happyReduce_384"))],Tuple Boxed [Lit (Int 385),Var (UnQual (Ident "happyReduce_385"))],Tuple Boxed [Lit (Int 386),Var (UnQual (Ident "happyReduce_386"))],Tuple Boxed [Lit (Int 387),Var (UnQual (Ident "happyReduce_387"))],Tuple Boxed [Lit (Int 388),Var (UnQual (Ident "happyReduce_388"))],Tuple Boxed [Lit (Int 389),Var (UnQual (Ident "happyReduce_389"))],Tuple Boxed [Lit (Int 390),Var (UnQual (Ident "happyReduce_390"))],Tuple Boxed [Lit (Int 391),Var (UnQual (Ident "happyReduce_391"))],Tuple Boxed [Lit (Int 392),Var (UnQual (Ident "happyReduce_392"))],Tuple Boxed [Lit (Int 393),Var (UnQual (Ident "happyReduce_393"))],Tuple Boxed [Lit (Int 394),Var (UnQual (Ident "happyReduce_394"))],Tuple Boxed [Lit (Int 395),Var (UnQual (Ident "happyReduce_395"))],Tuple Boxed [Lit (Int 396),Var (UnQual (Ident "happyReduce_396"))],Tuple Boxed [Lit (Int 397),Var (UnQual (Ident "happyReduce_397"))],Tuple Boxed [Lit (Int 398),Var (UnQual (Ident "happyReduce_398"))],Tuple Boxed [Lit (Int 399),Var (UnQual (Ident "happyReduce_399"))],Tuple Boxed [Lit (Int 400),Var (UnQual (Ident "happyReduce_400"))],Tuple Boxed [Lit (Int 401),Var (UnQual (Ident "happyReduce_401"))],Tuple Boxed [Lit (Int 402),Var (UnQual (Ident "happyReduce_402"))],Tuple Boxed [Lit (Int 403),Var (UnQual (Ident "happyReduce_403"))],Tuple Boxed [Lit (Int 404),Var (UnQual (Ident "happyReduce_404"))],Tuple Boxed [Lit (Int 405),Var (UnQual (Ident "happyReduce_405"))],Tuple Boxed [Lit (Int 406),Var (UnQual (Ident "happyReduce_406"))],Tuple Boxed [Lit (Int 407),Var (UnQual (Ident "happyReduce_407"))],Tuple Boxed [Lit (Int 408),Var (UnQual (Ident "happyReduce_408"))],Tuple Boxed [Lit (Int 409),Var (UnQual (Ident "happyReduce_409"))],Tuple Boxed [Lit (Int 410),Var (UnQual (Ident "happyReduce_410"))],Tuple Boxed [Lit (Int 411),Var (UnQual (Ident "happyReduce_411"))],Tuple Boxed [Lit (Int 412),Var (UnQual (Ident "happyReduce_412"))],Tuple Boxed [Lit (Int 413),Var (UnQual (Ident "happyReduce_413"))],Tuple Boxed [Lit (Int 414),Var (UnQual (Ident "happyReduce_414"))],Tuple Boxed [Lit (Int 415),Var (UnQual (Ident "happyReduce_415"))],Tuple Boxed [Lit (Int 416),Var (UnQual (Ident "happyReduce_416"))],Tuple Boxed [Lit (Int 417),Var (UnQual (Ident "happyReduce_417"))],Tuple Boxed [Lit (Int 418),Var (UnQual (Ident "happyReduce_418"))],Tuple Boxed [Lit (Int 419),Var (UnQual (Ident "happyReduce_419"))],Tuple Boxed [Lit (Int 420),Var (UnQual (Ident "happyReduce_420"))],Tuple Boxed [Lit (Int 421),Var (UnQual (Ident "happyReduce_421"))],Tuple Boxed [Lit (Int 422),Var (UnQual (Ident "happyReduce_422"))],Tuple Boxed [Lit (Int 423),Var (UnQual (Ident "happyReduce_423"))],Tuple Boxed [Lit (Int 424),Var (UnQual (Ident "happyReduce_424"))],Tuple Boxed [Lit (Int 425),Var (UnQual (Ident "happyReduce_425"))],Tuple Boxed [Lit (Int 426),Var (UnQual (Ident "happyReduce_426"))],Tuple Boxed [Lit (Int 427),Var (UnQual (Ident "happyReduce_427"))],Tuple Boxed [Lit (Int 428),Var (UnQual (Ident "happyReduce_428"))],Tuple Boxed [Lit (Int 429),Var (UnQual (Ident "happyReduce_429"))],Tuple Boxed [Lit (Int 430),Var (UnQual (Ident "happyReduce_430"))],Tuple Boxed [Lit (Int 431),Var (UnQual (Ident "happyReduce_431"))],Tuple Boxed [Lit (Int 432),Var (UnQual (Ident "happyReduce_432"))],Tuple Boxed [Lit (Int 433),Var (UnQual (Ident "happyReduce_433"))],Tuple Boxed [Lit (Int 434),Var (UnQual (Ident "happyReduce_434"))],Tuple Boxed [Lit (Int 435),Var (UnQual (Ident "happyReduce_435"))],Tuple Boxed [Lit (Int 436),Var (UnQual (Ident "happyReduce_436"))],Tuple Boxed [Lit (Int 437),Var (UnQual (Ident "happyReduce_437"))],Tuple Boxed [Lit (Int 438),Var (UnQual (Ident "happyReduce_438"))],Tuple Boxed [Lit (Int 439),Var (UnQual (Ident "happyReduce_439"))],Tuple Boxed [Lit (Int 440),Var (UnQual (Ident "happyReduce_440"))],Tuple Boxed [Lit (Int 441),Var (UnQual (Ident "happyReduce_441"))],Tuple Boxed [Lit (Int 442),Var (UnQual (Ident "happyReduce_442"))],Tuple Boxed [Lit (Int 443),Var (UnQual (Ident "happyReduce_443"))],Tuple Boxed [Lit (Int 444),Var (UnQual (Ident "happyReduce_444"))],Tuple Boxed [Lit (Int 445),Var (UnQual (Ident "happyReduce_445"))],Tuple Boxed [Lit (Int 446),Var (UnQual (Ident "happyReduce_446"))],Tuple Boxed [Lit (Int 447),Var (UnQual (Ident "happyReduce_447"))],Tuple Boxed [Lit (Int 448),Var (UnQual (Ident "happyReduce_448"))],Tuple Boxed [Lit (Int 449),Var (UnQual (Ident "happyReduce_449"))],Tuple Boxed [Lit (Int 450),Var (UnQual (Ident "happyReduce_450"))],Tuple Boxed [Lit (Int 451),Var (UnQual (Ident "happyReduce_451"))],Tuple Boxed [Lit (Int 452),Var (UnQual (Ident "happyReduce_452"))],Tuple Boxed [Lit (Int 453),Var (UnQual (Ident "happyReduce_453"))],Tuple Boxed [Lit (Int 454),Var (UnQual (Ident "happyReduce_454"))],Tuple Boxed [Lit (Int 455),Var (UnQual (Ident "happyReduce_455"))],Tuple Boxed [Lit (Int 456),Var (UnQual (Ident "happyReduce_456"))],Tuple Boxed [Lit (Int 457),Var (UnQual (Ident "happyReduce_457"))],Tuple Boxed [Lit (Int 458),Var (UnQual (Ident "happyReduce_458"))],Tuple Boxed [Lit (Int 459),Var (UnQual (Ident "happyReduce_459"))],Tuple Boxed [Lit (Int 460),Var (UnQual (Ident "happyReduce_460"))],Tuple Boxed [Lit (Int 461),Var (UnQual (Ident "happyReduce_461"))],Tuple Boxed [Lit (Int 462),Var (UnQual (Ident "happyReduce_462"))],Tuple Boxed [Lit (Int 463),Var (UnQual (Ident "happyReduce_463"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_n_terms")) Nothing (UnGuardedRhs (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (Int 102)) (TyCon (UnQual (Ident "Int"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_n_nonterms")) Nothing (UnGuardedRhs (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (Int 125)) (TyCon (UnQual (Ident "Int"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_4")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 0))) (Var (UnQual (Ident "happyReduction_4"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_4") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "decls")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (Case (Var (UnQual (Ident "decls"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PList []) (UnGuardedAlt (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "p")) (Var (UnQual (Ident "getCurrentPosition"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))) (Paren (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "p")))) (Tuple Boxed [Var (UnQual (Ident "p")),Lit (Int 0)])) (Var (UnQual (Ident "n")))))))])) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PInfixApp (PVar (Ident "d")) (Special Cons) (PVar (Ident "ds")))) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "d")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))))) (BDecls [])])))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn7"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_5")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_5"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_5")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "empty")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_6")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_6"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_6") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_7")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_7"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_7") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn8"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_8")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_8"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_8") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut10"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CFDefExt"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_9")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_9"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_9") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CDeclExt"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_10")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_10"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_10") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn9"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_11")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_11"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_11") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAsmExt"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn9"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_12")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_12"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_12") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (List [])) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_13")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_13"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_13") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_14")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_14"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_14") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_15")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_15"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_15") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_16")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_16"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_16") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_17")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_17"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_17") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_18")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_18"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_18") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_19")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_19"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_19") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_20")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_20"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_20") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_21")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_21"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_21") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_22")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_22"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_22") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_23")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_23"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_23") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_24")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_24"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_24") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_25")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_25"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_25") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_26")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 4))) (Var (UnQual (Ident "happyReduction_26"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_26") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (InfixApp (InfixApp (Var (UnQual (Ident "enterScope"))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "doFuncParamDeclIdent"))) (Var (UnQual (Ident "declr"))))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "declr")))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn11"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_27")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_27"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_27") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut13"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_28")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_28"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_28") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_29")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_29"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_29") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut22"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_30")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_30"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_30") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut23"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_31")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_31"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_31") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut24"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_32")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_32"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_32") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut25"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_33")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_33"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_33") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut26"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (App (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "CAsm"))) (Var (UnQual (Ident "happy_var_1")))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn12"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_34")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_34"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_34") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CLabel"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_35")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_35"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_35") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCase"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_36")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_36"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_36") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CDefault"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_37")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_37"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_37") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCases"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_38")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_38"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_38") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (List [])) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_39")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_39"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_39") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_40")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 8))) (Var (UnQual (Ident "happyReduction_40"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_40") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "enterScope")))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn15"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_41")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 9))) (Var (UnQual (Ident "happyReduction_41"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_41") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "leaveScope")))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn16"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_42")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_42"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_42")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (Var (UnQual (Ident "empty")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_43")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_43"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_43") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut18"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn17"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_44")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_44"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_44") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn18"))) (Paren (App (Con (UnQual (Ident "CBlockStmt"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_45")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_45"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_45") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn18"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_46")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_46"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_46") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CBlockDecl"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_47")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_47"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_47") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut20"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CNestedFunDef"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_48")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_48"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_48") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn19"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_49")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_49"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_49") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_50")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_50"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_50") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_51")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_51"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_51") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_52")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_52"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_52") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_53")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_53"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_53") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_54")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_54"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_54") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn21"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_55")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_55"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_55") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn21"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappendr"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_56")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_56"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_56") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Con (UnQual (Ident "Nothing"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_57")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_57"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_57") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_58")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_58"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_58") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "Nothing"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_59")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_59"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_59") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_7")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_7"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_60")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_60"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_60") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CSwitch"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_61")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_61"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_61") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "False"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_62")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_62"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_62") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_2")))) (Con (UnQual (Ident "True"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_63")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 9))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_63"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_63") [PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_7")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_9")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Left"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_64")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_64"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_64") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_7")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_9")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_65")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_65"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_65") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGoto"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_66")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_66"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_66") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGotoPtr"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_67")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_67"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_67") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCont")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_68")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_68"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_68") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBreak")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_69")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_69"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_69") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CReturn"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_70")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_70"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_70") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (List [])) (List [])) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_71")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 8))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_71"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_71") [PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (List [])) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_72")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_72"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_72") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_8")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_73")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 12))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_73"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_73") [PParen (PInfixApp (PVar (Ident "happy_x_12")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_11")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_8")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_10")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_10")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_10"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_74")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_74"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_74")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_75")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_75"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_75") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn27"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_76")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_76"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_76")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (List [])))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_77")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_77"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_77") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn28"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_78")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_78"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_78") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn29"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_79")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_79"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_79") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn29"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_80")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_80"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_80") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_81")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_81"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_81") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_82")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_82"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_82") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_83")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_83"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_83") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn31"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_84")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_84"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_84") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn31"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_85")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_85"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_85") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_86")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_86"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_86") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_87")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_87"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_87") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) (BDecls [])]))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_88")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_88"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_88") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) (BDecls [])]))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_89")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_89"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_89")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (Var (UnQual (Ident "empty")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_90")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_90"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_90") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn33"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_91")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_91"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_91") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declspecs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_92")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_92"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_92") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declspecs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_93")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_93"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_93") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declspecs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_5")),Con (UnQual (Ident "Nothing"))]])))])))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_94")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_94"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_94") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declspecs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_95")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_95"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_95") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))))])) (BDecls [])]))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_96")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 28))) (Var (UnQual (Ident "happyReduction_96"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_96") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut64"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn35"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_97")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_97"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_97") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_98")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_98"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_98") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_99")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_99"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_99") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (App (Var (UnQual (Ident "return"))) (Paren (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))))])) (BDecls [])]))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_100")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_100"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_100") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_101")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_101"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_101") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_102")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_102"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_102") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_103")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_103"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_103") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_104")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_104"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_104") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_105")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_105"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_105") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_106")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_106"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_106") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_107")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_107"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_107") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_108")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_108"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_108") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_109")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_109"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_109") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_110")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_110"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_110") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_111")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_111"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_111") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CTypedef")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_112")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_112"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_112") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CExtern")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_113")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_113"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_113") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CStatic")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_114")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_114"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_114") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CAuto")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_115")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_115"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_115") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRegister")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_116")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_116"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_116") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CThread")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_117")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_117"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_117") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_118")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_118"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_118") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_119")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_119"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_119") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_120")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_120"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_120") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVoidType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_121")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_121"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_121") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCharType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_122")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_122"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_122") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CShortType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_123")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_123"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_123") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CIntType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_124")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_124"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_124") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CLongType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_125")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_125"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_125") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CFloatType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_126")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_126"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_126") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CDoubleType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_127")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_127"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_127") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CSignedType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_128")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_128"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_128") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CUnsigType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_129")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_129"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_129") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBoolType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_130")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_130"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_130") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CComplexType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_131")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_131"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_131") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_132")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_132"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_132") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_133")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_133"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_133") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_134")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_134"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_134") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_135")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_135"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_135") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn43"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_136")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_136"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_136") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_137")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_137"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_137") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_138")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_138"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_138") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_139")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_139"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_139") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_140")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_140"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_140") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_141")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_141"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_141") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_142")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_142"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_142") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_143")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_143"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_143") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_144")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_144"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_144") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_145")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_145"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_145") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_146")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_146"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_146") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn45"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_147")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_147"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_147") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_148")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_148"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_148") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_149")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_149"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_149") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_150")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_150"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_150") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_151")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_151"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_151") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_152")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_152"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_152") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_153")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_153"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_153") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_154")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_154"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_154") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_155")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_155"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_155") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_156")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_156"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_156") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_157")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_157"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_157") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_158")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_158"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_158") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn47"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_159")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_159"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_159") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_160")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_160"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_160") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_161")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_161"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_161") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_162")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_162"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_162") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_163")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_163"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_163") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_164")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_164"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_164") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_165")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_165"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_165") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_166")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_166"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_166") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_167")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_167"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_167") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_168")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_168"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_168") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_169")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_169"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_169") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_170")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_170"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_170") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_171")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_171"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_171") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn48"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_172")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_172"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_172") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn48"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_173")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_173"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_173") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut50"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSUType"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_174")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_174"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_174") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut58"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CEnumType"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_175")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_175"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_175") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_176")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_176"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_176") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_177")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_177"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_177") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_178")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_178"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_178") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CStructTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_179")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_179"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_179") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CUnionTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_180")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_180"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_180")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "empty")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_181")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_181"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_181") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_182")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_182"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_182") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn52"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_183")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_183"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_183") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) (BDecls [])])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_184")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_184"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_184") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) (BDecls [])])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_185")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_185"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_185") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn53"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_186")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_186"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_186") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_3"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedAlt (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) (BDecls [])])))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_187")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_187"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_187") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedAlt (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) (BDecls [])])))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_188")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_188"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_188") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn54"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) (BDecls [])])) (BDecls [])]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_189")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_189"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_189") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedAlt (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedAlt (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) (BDecls [])])))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_190")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_190"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_190") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn55"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "attr")]) (UnGuardedAlt (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) (BDecls [])])) (BDecls [])]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_191")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_191"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_191") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_192")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_192"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_192") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_193")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_193"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_193") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_194")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_194"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_194") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_195")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_195"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_195") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_196")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_196"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_196") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_197")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_197"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_197") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_198")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_198"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_198") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn57"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "expr")]) (UnGuardedAlt (Tuple Boxed [Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "expr"))])) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "name"),PVar (Ident "derived"),PVar (Ident "asmname"),PVar (Ident "attrs"),PVar (Ident "node")])],PVar (Ident "bsz")]) (UnGuardedAlt (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "name")))) (Var (UnQual (Ident "derived")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "node"))))),Var (UnQual (Ident "bsz"))])) (BDecls [])])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_199")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_199"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_199") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_200")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_200"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_200") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_201")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_201"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_201") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_202")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_202"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_202") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_203")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_203"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_203") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_204")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_204"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_204") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn59"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_205")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_205"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_205") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn59"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_206")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_206"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_206") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Con (UnQual (Ident "Nothing"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_207")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_207"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_207") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_208")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_208"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_208") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CConstQual")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_209")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_209"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_209") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVolatQual")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_210")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_210"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_210") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRestrQual")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_211")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_211"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_211") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CInlineQual")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_212")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_212"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_212") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_213")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_213"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_213") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_214")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_214"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_214") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappend"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_215")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_215"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_215") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_216")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_216"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_216") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut65"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_217")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_217"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_217")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn64"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_218")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_218"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_218") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn64"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_219")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_219"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_219") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_220")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_220"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_220") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_221")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_221"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_221") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_222")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_222"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_222") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_223")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_223"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_223") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn66"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_224")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_224"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_224") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut68"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn67"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_225")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_225"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_225") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_226")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_226"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_226") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_227")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_227"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_227") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_228")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_228"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_228") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_229")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_229"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_229") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn68"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_230")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_230"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_230") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_231")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_231"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_231") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_232")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_232"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_232") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_233")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_233"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_233") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut70"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn69"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_234")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_234"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_234") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_235")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_235"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_235") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_236")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_236"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_236") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_237")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_237"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_237") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_238")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_238"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_238") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_239")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_239"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_239") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_240")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_240"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_240") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn70"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_241")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_241"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_241") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_242")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_242"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_242") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_243")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_243"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_243") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn71"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_244")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_244"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_244") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn71"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_245")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_245"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_245") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_246")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_246"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_246") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_247")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_247"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_247") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut74"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn73"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_248")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_248"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_248") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_249")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_249"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_249") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_250")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_250"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_250") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_251")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_251"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_251") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_252")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_252"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_252") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_253")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_253"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_253") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn74"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_254")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_254"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_254") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_255")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_255"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_255") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_256")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_256"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_256") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_257")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_257"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_257") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn75"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_258")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_258"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_258") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn75"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_259")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_259"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_259") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn75"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_260")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 69))) (Var (UnQual (Ident "happyReduction_260"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_260") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn76"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_261")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_261"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_261") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut78"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn77"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_262")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_262"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_262") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_263")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_263"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_263") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_264")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_264"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_264") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Con (UnQual (Ident "Left"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn78"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_265")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_265"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_265") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn78"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_266")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_266"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_266") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn78"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_267")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_267"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_267")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [List [],Con (UnQual (Ident "False"))])))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_268")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_268"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_268") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "False"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_269")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_269"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_269") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "True"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_270")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_270"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_270") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn80"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_271")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_271"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_271") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn80"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_272")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_272"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_272") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_273")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_273"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_273") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_274")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_274"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_274") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_275")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_275"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_275") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_276")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_276"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_276") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_277")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_277"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_277") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_278")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_278"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_278") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_279")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_279"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_279") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_280")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_280"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_280") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_281")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_281"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_281") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_282")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_282"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_282") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_283")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_283"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_283") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_284")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_284"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_284") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_285")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_285"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_285") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_286")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_286"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_286") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_287")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_287"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_287") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn82"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_288")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_288"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_288") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn82"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_289")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_289"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_289") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_290")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_290"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_290") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_291")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_291"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_291") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_292")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_292"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_292") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_293")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_293"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_293") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_294")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_294"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_294") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_295")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_295"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_295") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn84"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "emptyDeclr"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_296")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_296"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_296") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn85"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_297")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_297"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_297") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut79"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "params"),PVar (Ident "variadic")]) (UnGuardedAlt (App (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Con (UnQual (Ident "Right"))) (Tuple Boxed [Var (UnQual (Ident "params")),Var (UnQual (Ident "variadic"))])))) (List [])) (Var (UnQual (Ident "at"))))) (BDecls [])]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn85"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_298")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_298"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_298") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn86"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_299")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_299"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_299") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn86"))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "decl")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "decl")))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_300")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_300"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_300") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_301")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_301"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_301") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_302")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_302"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_302") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_303")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_303"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_303") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_304")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_304"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_304") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_305")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_305"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_305") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_306")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_306"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_306") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_6")))))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_307")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_307"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_307") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_308")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_308"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_308") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_2"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_4")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_309")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_309"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_309") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_310")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_310"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_310") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_311")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_311"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_311") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_312")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_312"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_312") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_313")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_313"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_313") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_314")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_314"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_314") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_315")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_315"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_315") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_316")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_316"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_316") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_317")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_317"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_317") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_318")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_318"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_318") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_319")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_319"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_319") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "emptyDeclr"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_320")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_320"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_320") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_321")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_321"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_321") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_322")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_322"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_322") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_323")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_323"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_323") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "emptyDeclr")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_324")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_324"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_324") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_325")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_325"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_325") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_326")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_326"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_326") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitExpr"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_327")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_327"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_327") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_328")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_328"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_328") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_329")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_329"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_329")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_330")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_330"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_330") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn91"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_331")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_331"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_331")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (Var (UnQual (Ident "empty")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_332")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_332"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_332") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_1"))]))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_333")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_333"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_333") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))]))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_334")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_334"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_334") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_3"))]))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_335")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_335"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_335") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_3")),Var (UnQual (Ident "happy_var_4"))])))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_336")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_336"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_336") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn93"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_337")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_337"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_337") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (List [App (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))]))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn93"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_338")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_338"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_338") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn93"))) (Paren (List [Var (UnQual (Ident "happy_var_1"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_339")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_339"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_339") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn94"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_340")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_340"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_340") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn94"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_341")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_341"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_341") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_342")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_342"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_342") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_343")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_343"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_343") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn95"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_344")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 89))) (Var (UnQual (Ident "happyReduction_344"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_344") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CRangeDesig"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn96"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_345")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_345"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_345") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CVar"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_346")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_346"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_346") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut122"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_347")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_347"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_347") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Paren (App (Var (UnQual (Ident "liftStrLit"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_348")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_348"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_348") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn97"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_349")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_349"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_349") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CStatExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_350")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_350"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_350") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinVaArg"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_351")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_351"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_351") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinOffsetOf"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5")))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_352")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_352"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_352") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinTypesCompatible"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_353")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_353"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_353") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "singleton"))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_354")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_354"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_354") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_355")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_355"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_355") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_356")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_356"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_356") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut97"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn99"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_357")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_357"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_357") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CIndex"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_358")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_358"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_358") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_359")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_359"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_359") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_360")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_360"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_360") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "False"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_361")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_361"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_361") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "True"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_362")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_362"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_362") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostIncOp")))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_363")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_363"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_363") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostDecOp")))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_364")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_364"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_364") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_365")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_365"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_365") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_366")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_366"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_366") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn100"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_367")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_367"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_367") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn100"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_368")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_368"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_368") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_369")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_369"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_369") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreIncOp")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_370")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_370"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_370") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreDecOp")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_371")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_371"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_371") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_372")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_372"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_372") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut102"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_373")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_373"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_373") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_374")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_374"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_374") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofType"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_375")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_375"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_375") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_376")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_376"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_376") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofType"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_377")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_377"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_377") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexReal"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_378")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_378"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_378") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexImag"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_379")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_379"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_379") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CLabAddrExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_380")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_380"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_380") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAdrOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_381")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_381"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_381") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CIndOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_382")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_382"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_382") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CPlusOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_383")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_383"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_383") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMinOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_384")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_384"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_384") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CCompOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_385")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_385"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_385") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CNegOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_386")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_386"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_386") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn103"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_387")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_387"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_387") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCast"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn103"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_388")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_388"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_388") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn104"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_389")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_389"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_389") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CMulOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_390")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_390"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_390") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CDivOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_391")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_391"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_391") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CRmdOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_392")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_392"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_392") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn105"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_393")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_393"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_393") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAddOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_394")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_394"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_394") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CSubOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_395")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_395"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_395") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn106"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_396")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_396"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_396") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShlOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_397")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_397"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_397") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_398")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_398"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_398") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn107"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_399")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_399"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_399") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_400")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_400"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_400") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_401")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_401"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_401") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_402")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_402"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_402") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_403")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_403"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_403") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn108"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_404")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_404"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_404") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CEqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_405")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_405"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_405") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CNeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_406")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_406"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_406") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn109"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_407")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_407"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_407") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn109"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_408")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_408"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_408") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn110"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_409")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_409"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_409") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CXorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn110"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_410")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_410"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_410") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn111"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_411")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_411"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_411") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "COrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn111"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_412")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_412"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_412") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn112"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_413")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_413"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_413") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn112"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_414")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_414"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_414") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn113"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_415")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_415"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_415") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn113"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_416")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_416"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_416") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn114"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_417")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_417"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_417") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_418")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_418"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_418") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_419")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_419"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_419") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn115"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_420")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_420"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_420") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut116"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAssign"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn115"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_421")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_421"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_421") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAssignOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_422")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_422"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_422") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMulAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_423")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_423"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_423") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CDivAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_424")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_424"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_424") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CRmdAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_425")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_425"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_425") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAddAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_426")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_426"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_426") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CSubAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_427")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_427"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_427") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShlAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_428")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_428"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_428") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_429")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_429"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_429") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAndAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_430")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_430"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_430") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CXorAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_431")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_431"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_431") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "COrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_432")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_432"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_432") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn117"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_433")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_433"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_433") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "es")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))) (BDecls [])]) (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "es")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComma"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QConOp (Special Cons)) (Var (UnQual (Ident "es")))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn117"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_434")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_434"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_434") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn118"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_435")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_435"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_435") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn118"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_436")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_436"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_436")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_437")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_437"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_437") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn119"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_438")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_438"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_438")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_439")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_439"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_439") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn120"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_440")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 114))) (Var (UnQual (Ident "happyReduction_440"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_440") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn121"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_441")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_441"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_441") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PVar (Ident "i")]) (UnGuardedAlt (App (Con (UnQual (Ident "CIntConst"))) (Var (UnQual (Ident "i"))))) (BDecls [])])))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_442")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_442"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_442") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PVar (Ident "c")]) (UnGuardedAlt (App (Con (UnQual (Ident "CCharConst"))) (Var (UnQual (Ident "c"))))) (BDecls [])])))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_443")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_443"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_443") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PVar (Ident "f")]) (UnGuardedAlt (App (Con (UnQual (Ident "CFloatConst"))) (Var (UnQual (Ident "f"))))) (BDecls [])])))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_444")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_444"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_444") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedAlt (App (Con (UnQual (Ident "CStrLit"))) (Var (UnQual (Ident "s"))))) (BDecls [])])))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_445")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_445"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_445") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedAlt (App (Con (UnQual (Ident "CStrLit"))) (Paren (App (Var (UnQual (Ident "concatCStrings"))) (Paren (InfixApp (Var (UnQual (Ident "s"))) (QConOp (Special Cons)) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))))))) (BDecls [])])))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_446")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_446"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_446") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedAlt (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "s"))))) (BDecls [])])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_447")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_447"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_447") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedAlt (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "s"))))) (BDecls [])])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_448")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_448"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_448") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_449")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_449"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_449") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_450")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_450"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_450")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (List [])))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_451")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_451"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_451") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn126"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_452")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_452"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_452") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn127"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_453")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_453"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_453") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn127"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_454")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 121))) (Var (UnQual (Ident "happyReduction_454"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_454") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn128"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_455")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_455"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_455") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn129"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (Var (UnQual (Ident "empty")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "attr")]) (UnGuardedAlt (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "attr"))))) (BDecls [])])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_456")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_456"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_456") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn129"))) (Paren (App (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "snoc")))))) (Var (UnQual (Ident "happy_var_3"))))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_457")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_457"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_457")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn130"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_458")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_458"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_458") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_459")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_459"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_459") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Paren (App (Var (UnQual (Ident "internalIdent"))) (Lit (String "const"))))) (List [])))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_460")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_460"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_460") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_461")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_461"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_461") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_462")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_462"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_462") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn131"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_463")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_463"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_463") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn131"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyNewToken") [PVar (Ident "action"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "lexC"))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "tk")] (Let (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "cont") [PVar (Ident "i")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls [])]]) (Case (Var (UnQual (Ident "tk"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokEof")) []) (UnGuardedAlt (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLParen")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 1)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokRParen")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 2)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLBracket")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 3)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokRBracket")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 4)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokArrow")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 5)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokDot")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 6)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokExclam")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 7)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokTilde")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 8)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokInc")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 9)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokDec")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 10)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokPlus")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 11)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokMinus")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 12)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokStar")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 13)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSlash")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 14)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokPercent")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 15)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAmper")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 16)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokShiftL")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 17)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokShiftR")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 18)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLess")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 19)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLessEq")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 20)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokHigh")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 21)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokHighEq")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 22)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokEqual")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 23)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokUnequal")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 24)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokHat")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 25)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokBar")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 26)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAnd")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 27)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokOr")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 28)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokQuest")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 29)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokColon")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 30)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAssign")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 31)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokPlusAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 32)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokMinusAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 33)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokStarAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 34)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSlashAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 35)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokPercAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 36)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAmpAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 37)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokHatAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 38)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokBarAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 39)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 40)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSRAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 41)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokComma")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 42)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSemic")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 43)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLBrace")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 44)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokRBrace")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 45)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokEllipsis")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 46)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAlignof")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 47)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAsm")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 48)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAuto")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 49)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokBreak")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 50)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokBool")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 51)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokCase")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 52)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokChar")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 53)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokConst")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 54)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokContinue")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 55)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokComplex")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 56)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokDefault")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 57)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokDo")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 58)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokDouble")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 59)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokElse")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 60)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokEnum")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 61)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokExtern")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 62)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokFloat")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 63)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokFor")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 64)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGoto")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 65)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokIf")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 66)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokInline")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 67)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokInt")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 68)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLong")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 69)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLabel")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 70)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokRegister")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 71)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokRestrict")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 72)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokReturn")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 73)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokShort")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 74)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSigned")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 75)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSizeof")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 76)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokStatic")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 77)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokStruct")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 78)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSwitch")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 79)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokTypedef")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 80)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokTypeof")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 81)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokThread")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 82)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokUnion")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 83)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokUnsigned")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 84)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokVoid")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 85)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokVolatile")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 86)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokWhile")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 87)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 88)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 89)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 90)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 91)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 92)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 93)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCAttrTok")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 94)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCExtTok")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 95)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexReal")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 96)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexImag")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 97)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCVaArg")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 98)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCOffsetof")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 99)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCTyCompat")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 100)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) PWildCard (UnGuardedAlt (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) (BDecls [])])))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyError_") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyThen"] (TyForall Nothing [] (TyFun (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))) (TyFun (TyParen (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b")))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyThen")) Nothing (UnGuardedRhs (Var (UnQual (Symbol ">>=")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyReturn"] (TyForall Nothing [] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReturn")) Nothing (UnGuardedRhs (Paren (Var (UnQual (Ident "return"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyThen1")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happyThen")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyReturn1"] (TyForall Nothing [] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReturn1")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happyReturn")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyError'"] (TyForall Nothing [] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyError'") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "token")] (Var (UnQual (Ident "happyError"))))) (Var (UnQual (Ident "tk"))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "translation_unit")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happySomeParser")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 0))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut7"))) (Var (UnQual (Ident "x")))))))))) (BDecls [])]),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "external_declaration")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happySomeParser")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 1))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "x")))))))))) (BDecls [])]),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "statement")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happySomeParser")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 2))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "x")))))))))) (BDecls [])]),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "expression")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happySomeParser")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 3))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "x")))))))))) (BDecls [])]),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happySeq")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happyDontSeq")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "reverseList"] (TyFun (TyList (TyVar (Ident "a"))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyVar (Ident "a"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "reverseList")) Nothing (UnGuardedRhs (InfixApp (Con (UnQual (Ident "Reversed"))) (QVarOp (UnQual (Symbol "."))) (Var (Qual (ModuleName "List") (Ident "reverse"))))) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Located") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "L") [BangedTy (TyVar (Ident "a")),BangedTy (TyCon (UnQual (Ident "Position")))])] [],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "unL"] (TyFun (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a"))) (TyVar (Ident "a"))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unL") [PParen (PApp (UnQual (Ident "L")) [PVar (Ident "a"),PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "a")))) (BDecls [])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "posOf") [PParen (PApp (UnQual (Ident "L")) [PWildCard,PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "pos")))) (BDecls [])])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "withNodeInfo")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "withNodeInfo"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "withNodeInfo") [PVar (Ident "node"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "firstPos")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node"))))) (BDecls [])]),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "attrs")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Var (UnQual (Ident "name"))))) (BDecls [])]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "withLength")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "withLength"] (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "withLength") [PVar (Ident "nodeinfo"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "firstPos")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOfNode"))) (Var (UnQual (Ident "nodeinfo"))))) (BDecls [])]),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "attrs")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Paren (App (Var (UnQual (Ident "error"))) (Lit (String "nameOfNode"))))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "nameOfNode"))) (Var (UnQual (Ident "nodeinfo"))))))))) (BDecls [])]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) (BDecls [])],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "CDeclrR") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "CDeclrR") [UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident"))))),UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDerivedDeclr")))))),UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))))),UnBangedTy (TyList (TyCon (UnQual (Ident "CAttr")))),UnBangedTy (TyCon (UnQual (Ident "NodeInfo")))])] [],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "reverseDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclr")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "reverseDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ide"),PVar (Ident "reversedDDs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ide")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "reversedDDs")))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) (BDecls [])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "CNode")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "nodeInfo") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "n")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "Pos")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "posOf") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n"))))) (BDecls [])])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "withAttribute")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "withAttribute"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "withAttribute") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "attrs")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) (BDecls [])]),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "newDeclr")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkDeclrNode"))) (Var (UnQual (Ident "attrs")))))) (BDecls [])]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "withAttributePF")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "withAttributePF"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "withAttributePF") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrCtor")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "attrs")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) (BDecls [])]),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "newDeclr")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "mkDeclrCtor"))) (Var (UnQual (Ident "attrs")))))) (BDecls [])]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "appendObjAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendObjAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "appendObjAttrsR"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendObjAttrsR") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "setAsmName"] (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "setAsmName") [PVar (Ident "mAsmName"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "oldName"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "combineName"))) (Var (UnQual (Ident "mAsmName")))) (Var (UnQual (Ident "oldName")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Left")) [PTuple Boxed [PVar (Ident "n1"),PVar (Ident "n2")]]) (UnGuardedAlt (App (App (Var (UnQual (Ident "failP"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n2")))))) (List [Lit (String "Duplicate assembler name: "),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n1"))),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n2")))]))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Right")) [PVar (Ident "newName")]) (UnGuardedAlt (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "newName")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at")))))) (BDecls [])])) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Con (UnQual (Ident "Nothing"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PAsPat (Ident "oldname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard]))] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "oldname"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "combineName") [PAsPat (Ident "newname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard])),PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "newname"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "combineName") [PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n1")]),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n2")])] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Left"))) (Tuple Boxed [Var (UnQual (Ident "n1")),Var (UnQual (Ident "n2"))]))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "showName") [PParen (PApp (UnQual (Ident "CStrLit")) [PVar (Ident "cstr"),PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "show"))) (Var (UnQual (Ident "cstr"))))) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "withAsmNameAttrs"] (TyFun (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "withAsmNameAttrs") [PTuple Boxed [PVar (Ident "mAsmName"),PVar (Ident "newAttrs")],PVar (Ident "declr")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "setAsmName"))) (Var (UnQual (Ident "mAsmName")))) (Paren (App (App (Var (UnQual (Ident "appendObjAttrsR"))) (Var (UnQual (Ident "newAttrs")))) (Var (UnQual (Ident "declr"))))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "appendDeclrAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PList []]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "empty")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) (PVar (Ident "xs")))]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (App (Con (UnQual (Ident "Reversed"))) (Paren (InfixApp (App (Var (UnQual (Ident "appendAttrs"))) (Var (UnQual (Ident "x")))) (QConOp (Special Cons)) (Var (UnQual (Ident "xs")))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CPtrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "at"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CArrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "arraySize"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "arraySize")))) (Var (UnQual (Ident "at"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "parameters"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "parameters")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ptrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ptrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "funDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyParen (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyList (TyCon (UnQual (Ident "Ident"))))) (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "funDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "dcattrs"),PVar (Ident "dat")]),PVar (Ident "params"),PVar (Ident "cattrs"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "params")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "dcattrs")))) (Var (UnQual (Ident "dat"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "arrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "arrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "var_sized"),PVar (Ident "static_size"),PVar (Ident "size_expr_opt"),PVar (Ident "at")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "arr_sz"))) (QVarOp (UnQual (Ident "seq"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "arr_sz")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "arr_sz")) Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "size_expr_opt"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedAlt (App (App (Con (UnQual (Ident "CArrSize"))) (Var (UnQual (Ident "static_size")))) (Var (UnQual (Ident "e"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (App (Con (UnQual (Ident "CNoArrSize"))) (Var (UnQual (Ident "var_sized"))))) (BDecls [])])) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "liftTypeQuals"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "liftTypeQuals")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CTypeQual")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "reverse"))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "liftCAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "liftCAttrs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "map"))) (Paren (InfixApp (Con (UnQual (Ident "CTypeQual"))) (QVarOp (UnQual (Symbol "."))) (Con (UnQual (Ident "CAttrQual"))))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "addTrailingAttrs"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "addTrailingAttrs") [PVar (Ident "declspecs"),PVar (Ident "new_attrs")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "viewr"))) (Var (UnQual (Ident "declspecs")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CSUType")) [PParen (PApp (UnQual (Ident "CStruct")) [PVar (Ident "tag"),PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "su_node")]),PVar (Ident "node")])]]) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CSUType"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Var (UnQual (Ident "tag")))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "su_node")))))) (Var (UnQual (Ident "node"))))))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CEnumType")) [PParen (PApp (UnQual (Ident "CEnum")) [PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "e_node")]),PVar (Ident "node")])]]) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CEnumType"))) (Paren (App (App (App (App (Con (UnQual (Ident "CEnum"))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "e_node")))))) (Var (UnQual (Ident "node"))))))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) PWildCard (UnGuardedAlt (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "new_attrs"))))))) (BDecls [])])) (BDecls [])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyList (TyVar (Ident "a"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "posOf") [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) PWildCard)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "posOf") [PParen (PApp (UnQual (Ident "Reversed")) [PVar (Ident "x")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "emptyDeclr"] (TyCon (UnQual (Ident "CDeclrR"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "emptyDeclr")) Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List [])) (Var (UnQual (Ident "undefNode"))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "mkVarDeclr"] (TyFun (TyCon (UnQual (Ident "Ident"))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "mkVarDeclr") [PVar (Ident "ident")] Nothing (UnGuardedRhs (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "ident")))))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List []))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "doDeclIdent"] (TyFun (TyList (TyCon (UnQual (Ident "CDeclSpec")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "doDeclIdent") [PVar (Ident "declspecs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "mIdent"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (GuardedAlts [GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (App (Var (UnQual (Ident "any"))) (Var (UnQual (Ident "iypedef")))) (Var (UnQual (Ident "declspecs"))))] (App (Var (UnQual (Ident "addTypedef"))) (Var (UnQual (Ident "ident")))),GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))]) (BDecls [])])) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "iypedef") [PParen (PApp (UnQual (Ident "CStorageSpec")) [PParen (PApp (UnQual (Ident "CTypedef")) [PWildCard])])] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "iypedef") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "doFuncParamDeclIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "doFuncParamDeclIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PWildCard,PParen (PInfixApp (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "params"),PWildCard,PWildCard]) (Special Cons) PWildCard),PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "sequence_"))) (ListComp (Case (App (Var (UnQual (Ident "getCDeclrIdent"))) (Var (UnQual (Ident "declr")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (UnGuardedAlt (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))) (BDecls [])]) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PWildCard,PVar (Ident "dle"),PWildCard]) (App (App (App (Var (UnQual (Ident "either"))) (Paren (App (Var (UnQual (Ident "const"))) (List [])))) (Var (UnQual (Ident "fst")))) (Var (UnQual (Ident "params"))))),QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "declr")],PWildCard,PWildCard]) (Var (UnQual (Ident "dle"))))]))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "doFuncParamDeclIdent") [PWildCard] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "getCDeclrIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "getCDeclrIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Var (UnQual (Ident "mIdent")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyError"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyError")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseError")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseC"] (TyFun (TyCon (UnQual (Ident "InputStream"))) (TyFun (TyCon (UnQual (Ident "Position"))) (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyCon (UnQual (Ident "ParseError")))) (TyCon (UnQual (Ident "CTranslUnit")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "parseC") [PVar (Ident "input"),PVar (Ident "initialPosition")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "fmap"))) (Var (UnQual (Ident "fst")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Var (UnQual (Ident "execParser"))) (Var (UnQual (Ident "translUnitP")))) (Var (UnQual (Ident "input")))) (Var (UnQual (Ident "initialPosition")))) (Var (UnQual (Ident "builtinTypeNames")))) (Paren (App (Var (UnQual (Ident "namesStartingFrom"))) (Lit (Int 0))))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "translUnitP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CTranslUnit")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "translUnitP")) Nothing (UnGuardedRhs (Var (UnQual (Ident "translation_unit")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "extDeclP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExtDecl")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "extDeclP")) Nothing (UnGuardedRhs (Var (UnQual (Ident "external_declaration")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "statementP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CStat")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "statementP")) Nothing (UnGuardedRhs (Var (UnQual (Ident "statement")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "expressionP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExpr")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "expressionP")) Nothing (UnGuardedRhs (Var (UnQual (Ident "expression")))) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Happy_IntList") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HappyCons") [UnBangedTy (TyCon (UnQual (Ident "Int#"))),UnBangedTy (TyCon (UnQual (Ident "Happy_IntList")))])] [],InfixDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) AssocRight 9 [ConOp (Ident "HappyStk")],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "HappyStk") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HappyStk") [UnBangedTy (TyVar (Ident "a")),UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "HappyStk"))) (TyVar (Ident "a"))))])] [],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyParse") [PVar (Ident "start_state")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "start_state")))) (Var (UnQual (Ident "notHappyAtAll")))) (Var (UnQual (Ident "notHappyAtAll"))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyAccept") [PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PInfixApp PWildCard (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "ans")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyAccept") [PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PApp (UnQual (Ident "HappyStk")) [PVar (Ident "ans"),PWildCard])] Nothing (UnGuardedRhs (App (Paren (App (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "j")))) (Paren (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "st"))))))) (Paren (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDoAction") [PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "action"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (PrimInt 0)) (UnGuardedAlt (App (App (App (Var (UnQual (Ident "happyFail"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PNeg (PLit (PrimInt 1))) (UnGuardedAlt (App (App (App (Var (UnQual (Ident "happyAccept"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n")) (GuardedAlts [GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "<#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#")))))))] (App (App (App (Paren (InfixApp (Var (UnQual (Ident "happyReduceArr"))) (QVarOp (UnQual (Symbol "!"))) (Var (UnQual (Ident "rule"))))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rule")) Nothing (UnGuardedRhs (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Paren (App (Var (UnQual (Ident "negateInt#"))) (Paren (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "+#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))))))))) (BDecls [])]),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n")) (UnGuardedAlt (App (App (App (App (Var (UnQual (Ident "happyShift"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "new_state")) Nothing (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (BDecls [])])])) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyActOffsets")))) (Var (UnQual (Ident "st"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off_i")) Nothing (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "i")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "check")) Nothing (UnGuardedRhs (If (Paren (InfixApp (Var (UnQual (Ident "off_i"))) (QVarOp (UnQual (Symbol ">=#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#"))))))) (Paren (InfixApp (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyCheck")))) (Var (UnQual (Ident "off_i")))) (QVarOp (UnQual (Symbol "==#"))) (Var (UnQual (Ident "i"))))) (Con (UnQual (Ident "False"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "action")) Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "check")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyDefActions")))) (Var (UnQual (Ident "st"))))]) (BDecls [])])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "indexShortOffAddr") [PParen (PApp (UnQual (Ident "HappyA#")) [PVar (Ident "arr")]),PVar (Ident "off")] Nothing (UnGuardedRhs (InfixApp (App (App (App (App (Var (UnQual (Ident "narrow16Int#"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "intToInt16#")))) (Var (UnQual (Ident "i")))) (Paren (InfixApp (Var (UnQual (Ident "i"))) (QVarOp (UnQual (Ident "iShiftL#"))) (Lit (PrimInt 16))))) (QVarOp (UnQual (Ident "iShiftRA#"))) (Lit (PrimInt 16)))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "i")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "uncheckedShiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "i")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "shiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "high")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Paren (InfixApp (Var (UnQual (Ident "off'"))) (QVarOp (UnQual (Symbol "+#"))) (Lit (PrimInt 1)))))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "low")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Var (UnQual (Ident "off'"))))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off'")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "*#"))) (Lit (PrimInt 2)))) (BDecls [])])],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "HappyAddr") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HappyA#") [UnBangedTy (TyCon (UnQual (Ident "Addr#")))])] [],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyShift") [PVar (Ident "new_state"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PAsPat (Ident "stk") (PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "i")) Nothing (UnGuardedRhs (Paren (Case (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "I#")) [PParen (PVar (Ident "i"))])) (UnGuardedAlt (Var (UnQual (Ident "i")))) (BDecls [])]))) (BDecls [])]) (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (Var (UnQual (Ident "stk"))))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyShift") [PVar (Ident "new_state"),PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "happyInTok"))) (Paren (Var (UnQual (Ident "tk")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_0") [PVar (Ident "i"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_0") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PAsPat (Ident "st") (PParen (PParen (PVar (Ident "action")))),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Var (UnQual (Ident "fn"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_1") [PVar (Ident "i"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_1") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1"))))) (BDecls [])]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_2") [PVar (Ident "i"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_2") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'"))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2"))))) (BDecls [])]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_3") [PVar (Ident "i"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_3") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v3")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2")))) (Var (UnQual (Ident "v3"))))) (BDecls [])]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "i"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "k"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "sts")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedAlt (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk"))))) (BDecls [])]) (App (App (Var (UnQual (Ident "happyDoSeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Var (UnQual (Ident "r")))))))) (BDecls [])])) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "drop_stk")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) (BDecls [])])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "drop_stk")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st1"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off_i")) Nothing (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "new_state")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) (BDecls [])])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDrop") [PLit (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDrop") [PVar (Ident "n"),PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PVar (Ident "t"))])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "t"))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDropStk") [PLit (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDropStk") [PVar (Ident "n"),PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) (PVar (Ident "xs")))] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "xs"))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyGoto") [PVar (Ident "nt"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off_i")) Nothing (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "new_state")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) (BDecls [])])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyFail") [PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "old_st"),PWildCard,PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError_"))) (Var (UnQual (Ident "tk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyFail") [PVar (Ident "i"),PVar (Ident "tk"),PParen (PVar (Ident "action")),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "unsafeCoerce#"))) (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Var (UnQual (Ident "i")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "notHappyAtAll")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "error"))) (Lit (String "Internal Happy error\n")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyTcHack"] (TyFun (TyCon (UnQual (Ident "Int#"))) (TyFun (TyVar (Ident "a")) (TyVar (Ident "a")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyTcHack") [PVar (Ident "x"),PVar (Ident "y")] Nothing (UnGuardedRhs (Var (UnQual (Ident "y")))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyTcHack")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyDoSeq",Ident "happyDontSeq"] (TyFun (TyVar (Ident "a")) (TyFun (TyVar (Ident "b")) (TyVar (Ident "b")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDoSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "a"))) (QVarOp (UnQual (Ident "seq"))) (Var (UnQual (Ident "b"))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDontSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (Var (UnQual (Ident "b")))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyDoAction")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyTable")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyCheck")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyActOffsets")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyGotoOffsets")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyDefActions")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyShift")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happySpecReduce_0")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happySpecReduce_1")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happySpecReduce_2")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happySpecReduce_3")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyReduce")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyMonadReduce")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyGoto")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyFail"))]--AST 2:--Module (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (ModuleName "Language.C.Parser.Parser") [OptionsPragma (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) Nothing "-fglasgow-exts -cpp ",LanguagePragma (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "MagicHash"]] Nothing (Just [EVar (UnQual (Ident "parseC")),EVar (UnQual (Ident "translUnitP")),EVar (UnQual (Ident "extDeclP")),EVar (UnQual (Ident "statementP")),EVar (UnQual (Ident "expressionP"))]) [ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Prelude", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (True,[IVar (Ident "reverse")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.List", importQualified = True, importSrc = False, importPkg = Nothing, importAs = Just (ModuleName "List"), importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Control.Monad", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "mplus")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Parser.Builtin", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "builtinTypeNames")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Parser.Lexer", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "lexC"),IVar (Ident "parseError")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Parser.Tokens", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IThingAll (Ident "CToken"),IThingAll (Ident "GnuCTok"),IVar (Ident "posLenOfTok")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Parser.ParserMonad", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs (Ident "P"),IVar (Ident "failP"),IVar (Ident "execParser"),IVar (Ident "getNewName"),IVar (Ident "addTypedef"),IVar (Ident "shadowTypedef"),IVar (Ident "getCurrentPosition"),IVar (Ident "enterScope"),IVar (Ident "leaveScope"),IVar (Ident "getLastToken"),IVar (Ident "getSavedToken"),IThingAll (Ident "ParseError")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.RList", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.InputStream", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.Ident", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.Name", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.Node", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Data.Position", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Language.C.Syntax", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.Array", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Array", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "GHC.Exts", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "GlaExts", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) NewType [] (Ident "HappyAbsSyn") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HappyAbsSyn") [UnBangedTy (TyParen (TyFun (TyCon (Special UnitCon)) (TyCon (Special UnitCon))))])] [],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn7"] (TyFun (TyParen (TyCon (UnQual (Ident "CTranslUnit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn7")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut7"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTranslUnit"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut7")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn8"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn8")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut8"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut8")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn9"] (TyFun (TyParen (TyCon (UnQual (Ident "CExtDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn9")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut9"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExtDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut9")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn10"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn10")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut10"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut10")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn11"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn11")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut11"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut11")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn12"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn12")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut12"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut12")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn13"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn13")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut13"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut13")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn14"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn14")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut14"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut14")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn15"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn15")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut15"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut15")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn16"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn16")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut16"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut16")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn17"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn17")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut17"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut17")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn18"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn18")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut18"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut18")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn19"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn19")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut19"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut19")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn20"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn20")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut20"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut20")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn21"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn21")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut21"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut21")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn22"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn22")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut22"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut22")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn23"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn23")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut23"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut23")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn24"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn24")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut24"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut24")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn25"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn25")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut25"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut25")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn26"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmStmt")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn26")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut26"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmStmt"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut26")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn27"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn27")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut27"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut27")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn28"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn28")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut28"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut28")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn29"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn29")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut29"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut29")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn30"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmOperand")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn30")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut30"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmOperand"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut30")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn31"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn31")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut31"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut31")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn32"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn32")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut32"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut32")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn33"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn33")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut33"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut33")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn34"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn34")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut34"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut34")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn35"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn35")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut35"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut35")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn36"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn36")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut36"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut36")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn37"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn37")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut37"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut37")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn38"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn38")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut38"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut38")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn39"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn39")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut39"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclSpec"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut39")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn40"] (TyFun (TyParen (TyCon (UnQual (Ident "CStorageSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn40")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut40"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStorageSpec"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut40")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn41"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn41")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut41"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut41")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn42"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn42")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut42"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut42")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn43"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn43")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut43"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut43")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn44"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn44")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut44"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut44")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn45"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn45")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut45"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut45")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn46"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn46")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut46"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut46")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn47"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn47")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut47"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut47")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn48"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn48")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut48"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut48")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn49"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn49")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut49"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut49")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn50"] (TyFun (TyParen (TyCon (UnQual (Ident "CStructUnion")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn50")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut50"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStructUnion"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut50")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn51"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn51")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut51"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut51")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn52"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn52")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut52"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut52")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn53"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn53")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut53"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut53")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn54"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn54")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut54"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut54")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn55"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn55")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut55"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut55")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn56"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn56")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut56"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut56")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn57"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn57")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut57"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut57")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn58"] (TyFun (TyParen (TyCon (UnQual (Ident "CEnum")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn58")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut58"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CEnum"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut58")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn59"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn59")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut59"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut59")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn60"] (TyFun (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn60")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut60"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut60")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn61"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeQual")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn61")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut61"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeQual"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut61")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn62"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn62")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut62"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut62")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn63"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn63")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut63"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut63")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn64"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn64")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut64"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut64")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn65"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn65")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut65"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut65")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn66"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn66")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut66"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut66")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn67"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn67")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut67"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut67")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn68"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn68")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut68"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut68")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn69"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn69")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut69"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut69")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn70"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn70")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut70"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut70")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn71"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn71")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut71"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut71")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn72"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn72")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut72"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut72")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn73"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn73")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut73"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut73")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn74"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn74")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut74"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut74")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn75"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn75")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut75"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut75")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn76"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn76")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut76"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut76")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn77"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn77")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut77"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut77")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn78"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn78")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut78"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut78")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn79"] (TyFun (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn79")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut79"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut79")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn80"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn80")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut80"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut80")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn81"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn81")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut81"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut81")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn82"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn82")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut82"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut82")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn83"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn83")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut83"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut83")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn84"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn84")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut84"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut84")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn85"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn85")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut85"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut85")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn86"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn86")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut86"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut86")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn87"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn87")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut87"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut87")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn88"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn88")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut88"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut88")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn89"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn89")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut89"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut89")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn90"] (TyFun (TyParen (TyCon (UnQual (Ident "CInit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn90")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut90"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CInit"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut90")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn91"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn91")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut91"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut91")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn92"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn92")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut92"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut92")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn93"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDesignator"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn93")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut93"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDesignator")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut93")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn94"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn94")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut94"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut94")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn95"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn95")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut95"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut95")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn96"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn96")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut96"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut96")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn97"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn97")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut97"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut97")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn98"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn98")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut98"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut98")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn99"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn99")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut99"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut99")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn100"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn100")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut100"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut100")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn101"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn101")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut101"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut101")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn102"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn102")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut102"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut102")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn103"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn103")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut103"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut103")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn104"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn104")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut104"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut104")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn105"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn105")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut105"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut105")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn106"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn106")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut106"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut106")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn107"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn107")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut107"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut107")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn108"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn108")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut108"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut108")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn109"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn109")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut109"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut109")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn110"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn110")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut110"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut110")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn111"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn111")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut111"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut111")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn112"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn112")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut112"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut112")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn113"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn113")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut113"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut113")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn114"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn114")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut114"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut114")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn115"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn115")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut115"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut115")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn116"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn116")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut116"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut116")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn117"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn117")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut117"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut117")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn118"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn118")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut118"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut118")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn119"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn119")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut119"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut119")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn120"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn120")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut120"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut120")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn121"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn121")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut121"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut121")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn122"] (TyFun (TyParen (TyCon (UnQual (Ident "CConst")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn122")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut122"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CConst"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut122")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn123"] (TyFun (TyParen (TyCon (UnQual (Ident "CStrLit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn123")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut123"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStrLit"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut123")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn124"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn124")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut124"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut124")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn125"] (TyFun (TyParen (TyCon (UnQual (Ident "Ident")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn125")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut125"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut125")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn126"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn126")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut126"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut126")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn127"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn127")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut127"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut127")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn128"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn128")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut128"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut128")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn129"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn129")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut129"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut129")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn130"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn130")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut130"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut130")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyIn131"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyIn131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyIn131")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOut131"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOut131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOut131")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyInTok"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyInTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyInTok")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyOutTok"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyCon (UnQual (Ident "CToken")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyOutTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyOutTok")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyActOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyActOffsets")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyGotoOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyGotoOffsets")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyDefActions"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyDefActions")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyCheck"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyCheck")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyTable"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyTable")) Nothing (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduceArr")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "array"))) (Tuple Boxed [Lit (Int 4),Lit (Int 463)])) (List [Tuple Boxed [Lit (Int 4),Var (UnQual (Ident "happyReduce_4"))],Tuple Boxed [Lit (Int 5),Var (UnQual (Ident "happyReduce_5"))],Tuple Boxed [Lit (Int 6),Var (UnQual (Ident "happyReduce_6"))],Tuple Boxed [Lit (Int 7),Var (UnQual (Ident "happyReduce_7"))],Tuple Boxed [Lit (Int 8),Var (UnQual (Ident "happyReduce_8"))],Tuple Boxed [Lit (Int 9),Var (UnQual (Ident "happyReduce_9"))],Tuple Boxed [Lit (Int 10),Var (UnQual (Ident "happyReduce_10"))],Tuple Boxed [Lit (Int 11),Var (UnQual (Ident "happyReduce_11"))],Tuple Boxed [Lit (Int 12),Var (UnQual (Ident "happyReduce_12"))],Tuple Boxed [Lit (Int 13),Var (UnQual (Ident "happyReduce_13"))],Tuple Boxed [Lit (Int 14),Var (UnQual (Ident "happyReduce_14"))],Tuple Boxed [Lit (Int 15),Var (UnQual (Ident "happyReduce_15"))],Tuple Boxed [Lit (Int 16),Var (UnQual (Ident "happyReduce_16"))],Tuple Boxed [Lit (Int 17),Var (UnQual (Ident "happyReduce_17"))],Tuple Boxed [Lit (Int 18),Var (UnQual (Ident "happyReduce_18"))],Tuple Boxed [Lit (Int 19),Var (UnQual (Ident "happyReduce_19"))],Tuple Boxed [Lit (Int 20),Var (UnQual (Ident "happyReduce_20"))],Tuple Boxed [Lit (Int 21),Var (UnQual (Ident "happyReduce_21"))],Tuple Boxed [Lit (Int 22),Var (UnQual (Ident "happyReduce_22"))],Tuple Boxed [Lit (Int 23),Var (UnQual (Ident "happyReduce_23"))],Tuple Boxed [Lit (Int 24),Var (UnQual (Ident "happyReduce_24"))],Tuple Boxed [Lit (Int 25),Var (UnQual (Ident "happyReduce_25"))],Tuple Boxed [Lit (Int 26),Var (UnQual (Ident "happyReduce_26"))],Tuple Boxed [Lit (Int 27),Var (UnQual (Ident "happyReduce_27"))],Tuple Boxed [Lit (Int 28),Var (UnQual (Ident "happyReduce_28"))],Tuple Boxed [Lit (Int 29),Var (UnQual (Ident "happyReduce_29"))],Tuple Boxed [Lit (Int 30),Var (UnQual (Ident "happyReduce_30"))],Tuple Boxed [Lit (Int 31),Var (UnQual (Ident "happyReduce_31"))],Tuple Boxed [Lit (Int 32),Var (UnQual (Ident "happyReduce_32"))],Tuple Boxed [Lit (Int 33),Var (UnQual (Ident "happyReduce_33"))],Tuple Boxed [Lit (Int 34),Var (UnQual (Ident "happyReduce_34"))],Tuple Boxed [Lit (Int 35),Var (UnQual (Ident "happyReduce_35"))],Tuple Boxed [Lit (Int 36),Var (UnQual (Ident "happyReduce_36"))],Tuple Boxed [Lit (Int 37),Var (UnQual (Ident "happyReduce_37"))],Tuple Boxed [Lit (Int 38),Var (UnQual (Ident "happyReduce_38"))],Tuple Boxed [Lit (Int 39),Var (UnQual (Ident "happyReduce_39"))],Tuple Boxed [Lit (Int 40),Var (UnQual (Ident "happyReduce_40"))],Tuple Boxed [Lit (Int 41),Var (UnQual (Ident "happyReduce_41"))],Tuple Boxed [Lit (Int 42),Var (UnQual (Ident "happyReduce_42"))],Tuple Boxed [Lit (Int 43),Var (UnQual (Ident "happyReduce_43"))],Tuple Boxed [Lit (Int 44),Var (UnQual (Ident "happyReduce_44"))],Tuple Boxed [Lit (Int 45),Var (UnQual (Ident "happyReduce_45"))],Tuple Boxed [Lit (Int 46),Var (UnQual (Ident "happyReduce_46"))],Tuple Boxed [Lit (Int 47),Var (UnQual (Ident "happyReduce_47"))],Tuple Boxed [Lit (Int 48),Var (UnQual (Ident "happyReduce_48"))],Tuple Boxed [Lit (Int 49),Var (UnQual (Ident "happyReduce_49"))],Tuple Boxed [Lit (Int 50),Var (UnQual (Ident "happyReduce_50"))],Tuple Boxed [Lit (Int 51),Var (UnQual (Ident "happyReduce_51"))],Tuple Boxed [Lit (Int 52),Var (UnQual (Ident "happyReduce_52"))],Tuple Boxed [Lit (Int 53),Var (UnQual (Ident "happyReduce_53"))],Tuple Boxed [Lit (Int 54),Var (UnQual (Ident "happyReduce_54"))],Tuple Boxed [Lit (Int 55),Var (UnQual (Ident "happyReduce_55"))],Tuple Boxed [Lit (Int 56),Var (UnQual (Ident "happyReduce_56"))],Tuple Boxed [Lit (Int 57),Var (UnQual (Ident "happyReduce_57"))],Tuple Boxed [Lit (Int 58),Var (UnQual (Ident "happyReduce_58"))],Tuple Boxed [Lit (Int 59),Var (UnQual (Ident "happyReduce_59"))],Tuple Boxed [Lit (Int 60),Var (UnQual (Ident "happyReduce_60"))],Tuple Boxed [Lit (Int 61),Var (UnQual (Ident "happyReduce_61"))],Tuple Boxed [Lit (Int 62),Var (UnQual (Ident "happyReduce_62"))],Tuple Boxed [Lit (Int 63),Var (UnQual (Ident "happyReduce_63"))],Tuple Boxed [Lit (Int 64),Var (UnQual (Ident "happyReduce_64"))],Tuple Boxed [Lit (Int 65),Var (UnQual (Ident "happyReduce_65"))],Tuple Boxed [Lit (Int 66),Var (UnQual (Ident "happyReduce_66"))],Tuple Boxed [Lit (Int 67),Var (UnQual (Ident "happyReduce_67"))],Tuple Boxed [Lit (Int 68),Var (UnQual (Ident "happyReduce_68"))],Tuple Boxed [Lit (Int 69),Var (UnQual (Ident "happyReduce_69"))],Tuple Boxed [Lit (Int 70),Var (UnQual (Ident "happyReduce_70"))],Tuple Boxed [Lit (Int 71),Var (UnQual (Ident "happyReduce_71"))],Tuple Boxed [Lit (Int 72),Var (UnQual (Ident "happyReduce_72"))],Tuple Boxed [Lit (Int 73),Var (UnQual (Ident "happyReduce_73"))],Tuple Boxed [Lit (Int 74),Var (UnQual (Ident "happyReduce_74"))],Tuple Boxed [Lit (Int 75),Var (UnQual (Ident "happyReduce_75"))],Tuple Boxed [Lit (Int 76),Var (UnQual (Ident "happyReduce_76"))],Tuple Boxed [Lit (Int 77),Var (UnQual (Ident "happyReduce_77"))],Tuple Boxed [Lit (Int 78),Var (UnQual (Ident "happyReduce_78"))],Tuple Boxed [Lit (Int 79),Var (UnQual (Ident "happyReduce_79"))],Tuple Boxed [Lit (Int 80),Var (UnQual (Ident "happyReduce_80"))],Tuple Boxed [Lit (Int 81),Var (UnQual (Ident "happyReduce_81"))],Tuple Boxed [Lit (Int 82),Var (UnQual (Ident "happyReduce_82"))],Tuple Boxed [Lit (Int 83),Var (UnQual (Ident "happyReduce_83"))],Tuple Boxed [Lit (Int 84),Var (UnQual (Ident "happyReduce_84"))],Tuple Boxed [Lit (Int 85),Var (UnQual (Ident "happyReduce_85"))],Tuple Boxed [Lit (Int 86),Var (UnQual (Ident "happyReduce_86"))],Tuple Boxed [Lit (Int 87),Var (UnQual (Ident "happyReduce_87"))],Tuple Boxed [Lit (Int 88),Var (UnQual (Ident "happyReduce_88"))],Tuple Boxed [Lit (Int 89),Var (UnQual (Ident "happyReduce_89"))],Tuple Boxed [Lit (Int 90),Var (UnQual (Ident "happyReduce_90"))],Tuple Boxed [Lit (Int 91),Var (UnQual (Ident "happyReduce_91"))],Tuple Boxed [Lit (Int 92),Var (UnQual (Ident "happyReduce_92"))],Tuple Boxed [Lit (Int 93),Var (UnQual (Ident "happyReduce_93"))],Tuple Boxed [Lit (Int 94),Var (UnQual (Ident "happyReduce_94"))],Tuple Boxed [Lit (Int 95),Var (UnQual (Ident "happyReduce_95"))],Tuple Boxed [Lit (Int 96),Var (UnQual (Ident "happyReduce_96"))],Tuple Boxed [Lit (Int 97),Var (UnQual (Ident "happyReduce_97"))],Tuple Boxed [Lit (Int 98),Var (UnQual (Ident "happyReduce_98"))],Tuple Boxed [Lit (Int 99),Var (UnQual (Ident "happyReduce_99"))],Tuple Boxed [Lit (Int 100),Var (UnQual (Ident "happyReduce_100"))],Tuple Boxed [Lit (Int 101),Var (UnQual (Ident "happyReduce_101"))],Tuple Boxed [Lit (Int 102),Var (UnQual (Ident "happyReduce_102"))],Tuple Boxed [Lit (Int 103),Var (UnQual (Ident "happyReduce_103"))],Tuple Boxed [Lit (Int 104),Var (UnQual (Ident "happyReduce_104"))],Tuple Boxed [Lit (Int 105),Var (UnQual (Ident "happyReduce_105"))],Tuple Boxed [Lit (Int 106),Var (UnQual (Ident "happyReduce_106"))],Tuple Boxed [Lit (Int 107),Var (UnQual (Ident "happyReduce_107"))],Tuple Boxed [Lit (Int 108),Var (UnQual (Ident "happyReduce_108"))],Tuple Boxed [Lit (Int 109),Var (UnQual (Ident "happyReduce_109"))],Tuple Boxed [Lit (Int 110),Var (UnQual (Ident "happyReduce_110"))],Tuple Boxed [Lit (Int 111),Var (UnQual (Ident "happyReduce_111"))],Tuple Boxed [Lit (Int 112),Var (UnQual (Ident "happyReduce_112"))],Tuple Boxed [Lit (Int 113),Var (UnQual (Ident "happyReduce_113"))],Tuple Boxed [Lit (Int 114),Var (UnQual (Ident "happyReduce_114"))],Tuple Boxed [Lit (Int 115),Var (UnQual (Ident "happyReduce_115"))],Tuple Boxed [Lit (Int 116),Var (UnQual (Ident "happyReduce_116"))],Tuple Boxed [Lit (Int 117),Var (UnQual (Ident "happyReduce_117"))],Tuple Boxed [Lit (Int 118),Var (UnQual (Ident "happyReduce_118"))],Tuple Boxed [Lit (Int 119),Var (UnQual (Ident "happyReduce_119"))],Tuple Boxed [Lit (Int 120),Var (UnQual (Ident "happyReduce_120"))],Tuple Boxed [Lit (Int 121),Var (UnQual (Ident "happyReduce_121"))],Tuple Boxed [Lit (Int 122),Var (UnQual (Ident "happyReduce_122"))],Tuple Boxed [Lit (Int 123),Var (UnQual (Ident "happyReduce_123"))],Tuple Boxed [Lit (Int 124),Var (UnQual (Ident "happyReduce_124"))],Tuple Boxed [Lit (Int 125),Var (UnQual (Ident "happyReduce_125"))],Tuple Boxed [Lit (Int 126),Var (UnQual (Ident "happyReduce_126"))],Tuple Boxed [Lit (Int 127),Var (UnQual (Ident "happyReduce_127"))],Tuple Boxed [Lit (Int 128),Var (UnQual (Ident "happyReduce_128"))],Tuple Boxed [Lit (Int 129),Var (UnQual (Ident "happyReduce_129"))],Tuple Boxed [Lit (Int 130),Var (UnQual (Ident "happyReduce_130"))],Tuple Boxed [Lit (Int 131),Var (UnQual (Ident "happyReduce_131"))],Tuple Boxed [Lit (Int 132),Var (UnQual (Ident "happyReduce_132"))],Tuple Boxed [Lit (Int 133),Var (UnQual (Ident "happyReduce_133"))],Tuple Boxed [Lit (Int 134),Var (UnQual (Ident "happyReduce_134"))],Tuple Boxed [Lit (Int 135),Var (UnQual (Ident "happyReduce_135"))],Tuple Boxed [Lit (Int 136),Var (UnQual (Ident "happyReduce_136"))],Tuple Boxed [Lit (Int 137),Var (UnQual (Ident "happyReduce_137"))],Tuple Boxed [Lit (Int 138),Var (UnQual (Ident "happyReduce_138"))],Tuple Boxed [Lit (Int 139),Var (UnQual (Ident "happyReduce_139"))],Tuple Boxed [Lit (Int 140),Var (UnQual (Ident "happyReduce_140"))],Tuple Boxed [Lit (Int 141),Var (UnQual (Ident "happyReduce_141"))],Tuple Boxed [Lit (Int 142),Var (UnQual (Ident "happyReduce_142"))],Tuple Boxed [Lit (Int 143),Var (UnQual (Ident "happyReduce_143"))],Tuple Boxed [Lit (Int 144),Var (UnQual (Ident "happyReduce_144"))],Tuple Boxed [Lit (Int 145),Var (UnQual (Ident "happyReduce_145"))],Tuple Boxed [Lit (Int 146),Var (UnQual (Ident "happyReduce_146"))],Tuple Boxed [Lit (Int 147),Var (UnQual (Ident "happyReduce_147"))],Tuple Boxed [Lit (Int 148),Var (UnQual (Ident "happyReduce_148"))],Tuple Boxed [Lit (Int 149),Var (UnQual (Ident "happyReduce_149"))],Tuple Boxed [Lit (Int 150),Var (UnQual (Ident "happyReduce_150"))],Tuple Boxed [Lit (Int 151),Var (UnQual (Ident "happyReduce_151"))],Tuple Boxed [Lit (Int 152),Var (UnQual (Ident "happyReduce_152"))],Tuple Boxed [Lit (Int 153),Var (UnQual (Ident "happyReduce_153"))],Tuple Boxed [Lit (Int 154),Var (UnQual (Ident "happyReduce_154"))],Tuple Boxed [Lit (Int 155),Var (UnQual (Ident "happyReduce_155"))],Tuple Boxed [Lit (Int 156),Var (UnQual (Ident "happyReduce_156"))],Tuple Boxed [Lit (Int 157),Var (UnQual (Ident "happyReduce_157"))],Tuple Boxed [Lit (Int 158),Var (UnQual (Ident "happyReduce_158"))],Tuple Boxed [Lit (Int 159),Var (UnQual (Ident "happyReduce_159"))],Tuple Boxed [Lit (Int 160),Var (UnQual (Ident "happyReduce_160"))],Tuple Boxed [Lit (Int 161),Var (UnQual (Ident "happyReduce_161"))],Tuple Boxed [Lit (Int 162),Var (UnQual (Ident "happyReduce_162"))],Tuple Boxed [Lit (Int 163),Var (UnQual (Ident "happyReduce_163"))],Tuple Boxed [Lit (Int 164),Var (UnQual (Ident "happyReduce_164"))],Tuple Boxed [Lit (Int 165),Var (UnQual (Ident "happyReduce_165"))],Tuple Boxed [Lit (Int 166),Var (UnQual (Ident "happyReduce_166"))],Tuple Boxed [Lit (Int 167),Var (UnQual (Ident "happyReduce_167"))],Tuple Boxed [Lit (Int 168),Var (UnQual (Ident "happyReduce_168"))],Tuple Boxed [Lit (Int 169),Var (UnQual (Ident "happyReduce_169"))],Tuple Boxed [Lit (Int 170),Var (UnQual (Ident "happyReduce_170"))],Tuple Boxed [Lit (Int 171),Var (UnQual (Ident "happyReduce_171"))],Tuple Boxed [Lit (Int 172),Var (UnQual (Ident "happyReduce_172"))],Tuple Boxed [Lit (Int 173),Var (UnQual (Ident "happyReduce_173"))],Tuple Boxed [Lit (Int 174),Var (UnQual (Ident "happyReduce_174"))],Tuple Boxed [Lit (Int 175),Var (UnQual (Ident "happyReduce_175"))],Tuple Boxed [Lit (Int 176),Var (UnQual (Ident "happyReduce_176"))],Tuple Boxed [Lit (Int 177),Var (UnQual (Ident "happyReduce_177"))],Tuple Boxed [Lit (Int 178),Var (UnQual (Ident "happyReduce_178"))],Tuple Boxed [Lit (Int 179),Var (UnQual (Ident "happyReduce_179"))],Tuple Boxed [Lit (Int 180),Var (UnQual (Ident "happyReduce_180"))],Tuple Boxed [Lit (Int 181),Var (UnQual (Ident "happyReduce_181"))],Tuple Boxed [Lit (Int 182),Var (UnQual (Ident "happyReduce_182"))],Tuple Boxed [Lit (Int 183),Var (UnQual (Ident "happyReduce_183"))],Tuple Boxed [Lit (Int 184),Var (UnQual (Ident "happyReduce_184"))],Tuple Boxed [Lit (Int 185),Var (UnQual (Ident "happyReduce_185"))],Tuple Boxed [Lit (Int 186),Var (UnQual (Ident "happyReduce_186"))],Tuple Boxed [Lit (Int 187),Var (UnQual (Ident "happyReduce_187"))],Tuple Boxed [Lit (Int 188),Var (UnQual (Ident "happyReduce_188"))],Tuple Boxed [Lit (Int 189),Var (UnQual (Ident "happyReduce_189"))],Tuple Boxed [Lit (Int 190),Var (UnQual (Ident "happyReduce_190"))],Tuple Boxed [Lit (Int 191),Var (UnQual (Ident "happyReduce_191"))],Tuple Boxed [Lit (Int 192),Var (UnQual (Ident "happyReduce_192"))],Tuple Boxed [Lit (Int 193),Var (UnQual (Ident "happyReduce_193"))],Tuple Boxed [Lit (Int 194),Var (UnQual (Ident "happyReduce_194"))],Tuple Boxed [Lit (Int 195),Var (UnQual (Ident "happyReduce_195"))],Tuple Boxed [Lit (Int 196),Var (UnQual (Ident "happyReduce_196"))],Tuple Boxed [Lit (Int 197),Var (UnQual (Ident "happyReduce_197"))],Tuple Boxed [Lit (Int 198),Var (UnQual (Ident "happyReduce_198"))],Tuple Boxed [Lit (Int 199),Var (UnQual (Ident "happyReduce_199"))],Tuple Boxed [Lit (Int 200),Var (UnQual (Ident "happyReduce_200"))],Tuple Boxed [Lit (Int 201),Var (UnQual (Ident "happyReduce_201"))],Tuple Boxed [Lit (Int 202),Var (UnQual (Ident "happyReduce_202"))],Tuple Boxed [Lit (Int 203),Var (UnQual (Ident "happyReduce_203"))],Tuple Boxed [Lit (Int 204),Var (UnQual (Ident "happyReduce_204"))],Tuple Boxed [Lit (Int 205),Var (UnQual (Ident "happyReduce_205"))],Tuple Boxed [Lit (Int 206),Var (UnQual (Ident "happyReduce_206"))],Tuple Boxed [Lit (Int 207),Var (UnQual (Ident "happyReduce_207"))],Tuple Boxed [Lit (Int 208),Var (UnQual (Ident "happyReduce_208"))],Tuple Boxed [Lit (Int 209),Var (UnQual (Ident "happyReduce_209"))],Tuple Boxed [Lit (Int 210),Var (UnQual (Ident "happyReduce_210"))],Tuple Boxed [Lit (Int 211),Var (UnQual (Ident "happyReduce_211"))],Tuple Boxed [Lit (Int 212),Var (UnQual (Ident "happyReduce_212"))],Tuple Boxed [Lit (Int 213),Var (UnQual (Ident "happyReduce_213"))],Tuple Boxed [Lit (Int 214),Var (UnQual (Ident "happyReduce_214"))],Tuple Boxed [Lit (Int 215),Var (UnQual (Ident "happyReduce_215"))],Tuple Boxed [Lit (Int 216),Var (UnQual (Ident "happyReduce_216"))],Tuple Boxed [Lit (Int 217),Var (UnQual (Ident "happyReduce_217"))],Tuple Boxed [Lit (Int 218),Var (UnQual (Ident "happyReduce_218"))],Tuple Boxed [Lit (Int 219),Var (UnQual (Ident "happyReduce_219"))],Tuple Boxed [Lit (Int 220),Var (UnQual (Ident "happyReduce_220"))],Tuple Boxed [Lit (Int 221),Var (UnQual (Ident "happyReduce_221"))],Tuple Boxed [Lit (Int 222),Var (UnQual (Ident "happyReduce_222"))],Tuple Boxed [Lit (Int 223),Var (UnQual (Ident "happyReduce_223"))],Tuple Boxed [Lit (Int 224),Var (UnQual (Ident "happyReduce_224"))],Tuple Boxed [Lit (Int 225),Var (UnQual (Ident "happyReduce_225"))],Tuple Boxed [Lit (Int 226),Var (UnQual (Ident "happyReduce_226"))],Tuple Boxed [Lit (Int 227),Var (UnQual (Ident "happyReduce_227"))],Tuple Boxed [Lit (Int 228),Var (UnQual (Ident "happyReduce_228"))],Tuple Boxed [Lit (Int 229),Var (UnQual (Ident "happyReduce_229"))],Tuple Boxed [Lit (Int 230),Var (UnQual (Ident "happyReduce_230"))],Tuple Boxed [Lit (Int 231),Var (UnQual (Ident "happyReduce_231"))],Tuple Boxed [Lit (Int 232),Var (UnQual (Ident "happyReduce_232"))],Tuple Boxed [Lit (Int 233),Var (UnQual (Ident "happyReduce_233"))],Tuple Boxed [Lit (Int 234),Var (UnQual (Ident "happyReduce_234"))],Tuple Boxed [Lit (Int 235),Var (UnQual (Ident "happyReduce_235"))],Tuple Boxed [Lit (Int 236),Var (UnQual (Ident "happyReduce_236"))],Tuple Boxed [Lit (Int 237),Var (UnQual (Ident "happyReduce_237"))],Tuple Boxed [Lit (Int 238),Var (UnQual (Ident "happyReduce_238"))],Tuple Boxed [Lit (Int 239),Var (UnQual (Ident "happyReduce_239"))],Tuple Boxed [Lit (Int 240),Var (UnQual (Ident "happyReduce_240"))],Tuple Boxed [Lit (Int 241),Var (UnQual (Ident "happyReduce_241"))],Tuple Boxed [Lit (Int 242),Var (UnQual (Ident "happyReduce_242"))],Tuple Boxed [Lit (Int 243),Var (UnQual (Ident "happyReduce_243"))],Tuple Boxed [Lit (Int 244),Var (UnQual (Ident "happyReduce_244"))],Tuple Boxed [Lit (Int 245),Var (UnQual (Ident "happyReduce_245"))],Tuple Boxed [Lit (Int 246),Var (UnQual (Ident "happyReduce_246"))],Tuple Boxed [Lit (Int 247),Var (UnQual (Ident "happyReduce_247"))],Tuple Boxed [Lit (Int 248),Var (UnQual (Ident "happyReduce_248"))],Tuple Boxed [Lit (Int 249),Var (UnQual (Ident "happyReduce_249"))],Tuple Boxed [Lit (Int 250),Var (UnQual (Ident "happyReduce_250"))],Tuple Boxed [Lit (Int 251),Var (UnQual (Ident "happyReduce_251"))],Tuple Boxed [Lit (Int 252),Var (UnQual (Ident "happyReduce_252"))],Tuple Boxed [Lit (Int 253),Var (UnQual (Ident "happyReduce_253"))],Tuple Boxed [Lit (Int 254),Var (UnQual (Ident "happyReduce_254"))],Tuple Boxed [Lit (Int 255),Var (UnQual (Ident "happyReduce_255"))],Tuple Boxed [Lit (Int 256),Var (UnQual (Ident "happyReduce_256"))],Tuple Boxed [Lit (Int 257),Var (UnQual (Ident "happyReduce_257"))],Tuple Boxed [Lit (Int 258),Var (UnQual (Ident "happyReduce_258"))],Tuple Boxed [Lit (Int 259),Var (UnQual (Ident "happyReduce_259"))],Tuple Boxed [Lit (Int 260),Var (UnQual (Ident "happyReduce_260"))],Tuple Boxed [Lit (Int 261),Var (UnQual (Ident "happyReduce_261"))],Tuple Boxed [Lit (Int 262),Var (UnQual (Ident "happyReduce_262"))],Tuple Boxed [Lit (Int 263),Var (UnQual (Ident "happyReduce_263"))],Tuple Boxed [Lit (Int 264),Var (UnQual (Ident "happyReduce_264"))],Tuple Boxed [Lit (Int 265),Var (UnQual (Ident "happyReduce_265"))],Tuple Boxed [Lit (Int 266),Var (UnQual (Ident "happyReduce_266"))],Tuple Boxed [Lit (Int 267),Var (UnQual (Ident "happyReduce_267"))],Tuple Boxed [Lit (Int 268),Var (UnQual (Ident "happyReduce_268"))],Tuple Boxed [Lit (Int 269),Var (UnQual (Ident "happyReduce_269"))],Tuple Boxed [Lit (Int 270),Var (UnQual (Ident "happyReduce_270"))],Tuple Boxed [Lit (Int 271),Var (UnQual (Ident "happyReduce_271"))],Tuple Boxed [Lit (Int 272),Var (UnQual (Ident "happyReduce_272"))],Tuple Boxed [Lit (Int 273),Var (UnQual (Ident "happyReduce_273"))],Tuple Boxed [Lit (Int 274),Var (UnQual (Ident "happyReduce_274"))],Tuple Boxed [Lit (Int 275),Var (UnQual (Ident "happyReduce_275"))],Tuple Boxed [Lit (Int 276),Var (UnQual (Ident "happyReduce_276"))],Tuple Boxed [Lit (Int 277),Var (UnQual (Ident "happyReduce_277"))],Tuple Boxed [Lit (Int 278),Var (UnQual (Ident "happyReduce_278"))],Tuple Boxed [Lit (Int 279),Var (UnQual (Ident "happyReduce_279"))],Tuple Boxed [Lit (Int 280),Var (UnQual (Ident "happyReduce_280"))],Tuple Boxed [Lit (Int 281),Var (UnQual (Ident "happyReduce_281"))],Tuple Boxed [Lit (Int 282),Var (UnQual (Ident "happyReduce_282"))],Tuple Boxed [Lit (Int 283),Var (UnQual (Ident "happyReduce_283"))],Tuple Boxed [Lit (Int 284),Var (UnQual (Ident "happyReduce_284"))],Tuple Boxed [Lit (Int 285),Var (UnQual (Ident "happyReduce_285"))],Tuple Boxed [Lit (Int 286),Var (UnQual (Ident "happyReduce_286"))],Tuple Boxed [Lit (Int 287),Var (UnQual (Ident "happyReduce_287"))],Tuple Boxed [Lit (Int 288),Var (UnQual (Ident "happyReduce_288"))],Tuple Boxed [Lit (Int 289),Var (UnQual (Ident "happyReduce_289"))],Tuple Boxed [Lit (Int 290),Var (UnQual (Ident "happyReduce_290"))],Tuple Boxed [Lit (Int 291),Var (UnQual (Ident "happyReduce_291"))],Tuple Boxed [Lit (Int 292),Var (UnQual (Ident "happyReduce_292"))],Tuple Boxed [Lit (Int 293),Var (UnQual (Ident "happyReduce_293"))],Tuple Boxed [Lit (Int 294),Var (UnQual (Ident "happyReduce_294"))],Tuple Boxed [Lit (Int 295),Var (UnQual (Ident "happyReduce_295"))],Tuple Boxed [Lit (Int 296),Var (UnQual (Ident "happyReduce_296"))],Tuple Boxed [Lit (Int 297),Var (UnQual (Ident "happyReduce_297"))],Tuple Boxed [Lit (Int 298),Var (UnQual (Ident "happyReduce_298"))],Tuple Boxed [Lit (Int 299),Var (UnQual (Ident "happyReduce_299"))],Tuple Boxed [Lit (Int 300),Var (UnQual (Ident "happyReduce_300"))],Tuple Boxed [Lit (Int 301),Var (UnQual (Ident "happyReduce_301"))],Tuple Boxed [Lit (Int 302),Var (UnQual (Ident "happyReduce_302"))],Tuple Boxed [Lit (Int 303),Var (UnQual (Ident "happyReduce_303"))],Tuple Boxed [Lit (Int 304),Var (UnQual (Ident "happyReduce_304"))],Tuple Boxed [Lit (Int 305),Var (UnQual (Ident "happyReduce_305"))],Tuple Boxed [Lit (Int 306),Var (UnQual (Ident "happyReduce_306"))],Tuple Boxed [Lit (Int 307),Var (UnQual (Ident "happyReduce_307"))],Tuple Boxed [Lit (Int 308),Var (UnQual (Ident "happyReduce_308"))],Tuple Boxed [Lit (Int 309),Var (UnQual (Ident "happyReduce_309"))],Tuple Boxed [Lit (Int 310),Var (UnQual (Ident "happyReduce_310"))],Tuple Boxed [Lit (Int 311),Var (UnQual (Ident "happyReduce_311"))],Tuple Boxed [Lit (Int 312),Var (UnQual (Ident "happyReduce_312"))],Tuple Boxed [Lit (Int 313),Var (UnQual (Ident "happyReduce_313"))],Tuple Boxed [Lit (Int 314),Var (UnQual (Ident "happyReduce_314"))],Tuple Boxed [Lit (Int 315),Var (UnQual (Ident "happyReduce_315"))],Tuple Boxed [Lit (Int 316),Var (UnQual (Ident "happyReduce_316"))],Tuple Boxed [Lit (Int 317),Var (UnQual (Ident "happyReduce_317"))],Tuple Boxed [Lit (Int 318),Var (UnQual (Ident "happyReduce_318"))],Tuple Boxed [Lit (Int 319),Var (UnQual (Ident "happyReduce_319"))],Tuple Boxed [Lit (Int 320),Var (UnQual (Ident "happyReduce_320"))],Tuple Boxed [Lit (Int 321),Var (UnQual (Ident "happyReduce_321"))],Tuple Boxed [Lit (Int 322),Var (UnQual (Ident "happyReduce_322"))],Tuple Boxed [Lit (Int 323),Var (UnQual (Ident "happyReduce_323"))],Tuple Boxed [Lit (Int 324),Var (UnQual (Ident "happyReduce_324"))],Tuple Boxed [Lit (Int 325),Var (UnQual (Ident "happyReduce_325"))],Tuple Boxed [Lit (Int 326),Var (UnQual (Ident "happyReduce_326"))],Tuple Boxed [Lit (Int 327),Var (UnQual (Ident "happyReduce_327"))],Tuple Boxed [Lit (Int 328),Var (UnQual (Ident "happyReduce_328"))],Tuple Boxed [Lit (Int 329),Var (UnQual (Ident "happyReduce_329"))],Tuple Boxed [Lit (Int 330),Var (UnQual (Ident "happyReduce_330"))],Tuple Boxed [Lit (Int 331),Var (UnQual (Ident "happyReduce_331"))],Tuple Boxed [Lit (Int 332),Var (UnQual (Ident "happyReduce_332"))],Tuple Boxed [Lit (Int 333),Var (UnQual (Ident "happyReduce_333"))],Tuple Boxed [Lit (Int 334),Var (UnQual (Ident "happyReduce_334"))],Tuple Boxed [Lit (Int 335),Var (UnQual (Ident "happyReduce_335"))],Tuple Boxed [Lit (Int 336),Var (UnQual (Ident "happyReduce_336"))],Tuple Boxed [Lit (Int 337),Var (UnQual (Ident "happyReduce_337"))],Tuple Boxed [Lit (Int 338),Var (UnQual (Ident "happyReduce_338"))],Tuple Boxed [Lit (Int 339),Var (UnQual (Ident "happyReduce_339"))],Tuple Boxed [Lit (Int 340),Var (UnQual (Ident "happyReduce_340"))],Tuple Boxed [Lit (Int 341),Var (UnQual (Ident "happyReduce_341"))],Tuple Boxed [Lit (Int 342),Var (UnQual (Ident "happyReduce_342"))],Tuple Boxed [Lit (Int 343),Var (UnQual (Ident "happyReduce_343"))],Tuple Boxed [Lit (Int 344),Var (UnQual (Ident "happyReduce_344"))],Tuple Boxed [Lit (Int 345),Var (UnQual (Ident "happyReduce_345"))],Tuple Boxed [Lit (Int 346),Var (UnQual (Ident "happyReduce_346"))],Tuple Boxed [Lit (Int 347),Var (UnQual (Ident "happyReduce_347"))],Tuple Boxed [Lit (Int 348),Var (UnQual (Ident "happyReduce_348"))],Tuple Boxed [Lit (Int 349),Var (UnQual (Ident "happyReduce_349"))],Tuple Boxed [Lit (Int 350),Var (UnQual (Ident "happyReduce_350"))],Tuple Boxed [Lit (Int 351),Var (UnQual (Ident "happyReduce_351"))],Tuple Boxed [Lit (Int 352),Var (UnQual (Ident "happyReduce_352"))],Tuple Boxed [Lit (Int 353),Var (UnQual (Ident "happyReduce_353"))],Tuple Boxed [Lit (Int 354),Var (UnQual (Ident "happyReduce_354"))],Tuple Boxed [Lit (Int 355),Var (UnQual (Ident "happyReduce_355"))],Tuple Boxed [Lit (Int 356),Var (UnQual (Ident "happyReduce_356"))],Tuple Boxed [Lit (Int 357),Var (UnQual (Ident "happyReduce_357"))],Tuple Boxed [Lit (Int 358),Var (UnQual (Ident "happyReduce_358"))],Tuple Boxed [Lit (Int 359),Var (UnQual (Ident "happyReduce_359"))],Tuple Boxed [Lit (Int 360),Var (UnQual (Ident "happyReduce_360"))],Tuple Boxed [Lit (Int 361),Var (UnQual (Ident "happyReduce_361"))],Tuple Boxed [Lit (Int 362),Var (UnQual (Ident "happyReduce_362"))],Tuple Boxed [Lit (Int 363),Var (UnQual (Ident "happyReduce_363"))],Tuple Boxed [Lit (Int 364),Var (UnQual (Ident "happyReduce_364"))],Tuple Boxed [Lit (Int 365),Var (UnQual (Ident "happyReduce_365"))],Tuple Boxed [Lit (Int 366),Var (UnQual (Ident "happyReduce_366"))],Tuple Boxed [Lit (Int 367),Var (UnQual (Ident "happyReduce_367"))],Tuple Boxed [Lit (Int 368),Var (UnQual (Ident "happyReduce_368"))],Tuple Boxed [Lit (Int 369),Var (UnQual (Ident "happyReduce_369"))],Tuple Boxed [Lit (Int 370),Var (UnQual (Ident "happyReduce_370"))],Tuple Boxed [Lit (Int 371),Var (UnQual (Ident "happyReduce_371"))],Tuple Boxed [Lit (Int 372),Var (UnQual (Ident "happyReduce_372"))],Tuple Boxed [Lit (Int 373),Var (UnQual (Ident "happyReduce_373"))],Tuple Boxed [Lit (Int 374),Var (UnQual (Ident "happyReduce_374"))],Tuple Boxed [Lit (Int 375),Var (UnQual (Ident "happyReduce_375"))],Tuple Boxed [Lit (Int 376),Var (UnQual (Ident "happyReduce_376"))],Tuple Boxed [Lit (Int 377),Var (UnQual (Ident "happyReduce_377"))],Tuple Boxed [Lit (Int 378),Var (UnQual (Ident "happyReduce_378"))],Tuple Boxed [Lit (Int 379),Var (UnQual (Ident "happyReduce_379"))],Tuple Boxed [Lit (Int 380),Var (UnQual (Ident "happyReduce_380"))],Tuple Boxed [Lit (Int 381),Var (UnQual (Ident "happyReduce_381"))],Tuple Boxed [Lit (Int 382),Var (UnQual (Ident "happyReduce_382"))],Tuple Boxed [Lit (Int 383),Var (UnQual (Ident "happyReduce_383"))],Tuple Boxed [Lit (Int 384),Var (UnQual (Ident "happyReduce_384"))],Tuple Boxed [Lit (Int 385),Var (UnQual (Ident "happyReduce_385"))],Tuple Boxed [Lit (Int 386),Var (UnQual (Ident "happyReduce_386"))],Tuple Boxed [Lit (Int 387),Var (UnQual (Ident "happyReduce_387"))],Tuple Boxed [Lit (Int 388),Var (UnQual (Ident "happyReduce_388"))],Tuple Boxed [Lit (Int 389),Var (UnQual (Ident "happyReduce_389"))],Tuple Boxed [Lit (Int 390),Var (UnQual (Ident "happyReduce_390"))],Tuple Boxed [Lit (Int 391),Var (UnQual (Ident "happyReduce_391"))],Tuple Boxed [Lit (Int 392),Var (UnQual (Ident "happyReduce_392"))],Tuple Boxed [Lit (Int 393),Var (UnQual (Ident "happyReduce_393"))],Tuple Boxed [Lit (Int 394),Var (UnQual (Ident "happyReduce_394"))],Tuple Boxed [Lit (Int 395),Var (UnQual (Ident "happyReduce_395"))],Tuple Boxed [Lit (Int 396),Var (UnQual (Ident "happyReduce_396"))],Tuple Boxed [Lit (Int 397),Var (UnQual (Ident "happyReduce_397"))],Tuple Boxed [Lit (Int 398),Var (UnQual (Ident "happyReduce_398"))],Tuple Boxed [Lit (Int 399),Var (UnQual (Ident "happyReduce_399"))],Tuple Boxed [Lit (Int 400),Var (UnQual (Ident "happyReduce_400"))],Tuple Boxed [Lit (Int 401),Var (UnQual (Ident "happyReduce_401"))],Tuple Boxed [Lit (Int 402),Var (UnQual (Ident "happyReduce_402"))],Tuple Boxed [Lit (Int 403),Var (UnQual (Ident "happyReduce_403"))],Tuple Boxed [Lit (Int 404),Var (UnQual (Ident "happyReduce_404"))],Tuple Boxed [Lit (Int 405),Var (UnQual (Ident "happyReduce_405"))],Tuple Boxed [Lit (Int 406),Var (UnQual (Ident "happyReduce_406"))],Tuple Boxed [Lit (Int 407),Var (UnQual (Ident "happyReduce_407"))],Tuple Boxed [Lit (Int 408),Var (UnQual (Ident "happyReduce_408"))],Tuple Boxed [Lit (Int 409),Var (UnQual (Ident "happyReduce_409"))],Tuple Boxed [Lit (Int 410),Var (UnQual (Ident "happyReduce_410"))],Tuple Boxed [Lit (Int 411),Var (UnQual (Ident "happyReduce_411"))],Tuple Boxed [Lit (Int 412),Var (UnQual (Ident "happyReduce_412"))],Tuple Boxed [Lit (Int 413),Var (UnQual (Ident "happyReduce_413"))],Tuple Boxed [Lit (Int 414),Var (UnQual (Ident "happyReduce_414"))],Tuple Boxed [Lit (Int 415),Var (UnQual (Ident "happyReduce_415"))],Tuple Boxed [Lit (Int 416),Var (UnQual (Ident "happyReduce_416"))],Tuple Boxed [Lit (Int 417),Var (UnQual (Ident "happyReduce_417"))],Tuple Boxed [Lit (Int 418),Var (UnQual (Ident "happyReduce_418"))],Tuple Boxed [Lit (Int 419),Var (UnQual (Ident "happyReduce_419"))],Tuple Boxed [Lit (Int 420),Var (UnQual (Ident "happyReduce_420"))],Tuple Boxed [Lit (Int 421),Var (UnQual (Ident "happyReduce_421"))],Tuple Boxed [Lit (Int 422),Var (UnQual (Ident "happyReduce_422"))],Tuple Boxed [Lit (Int 423),Var (UnQual (Ident "happyReduce_423"))],Tuple Boxed [Lit (Int 424),Var (UnQual (Ident "happyReduce_424"))],Tuple Boxed [Lit (Int 425),Var (UnQual (Ident "happyReduce_425"))],Tuple Boxed [Lit (Int 426),Var (UnQual (Ident "happyReduce_426"))],Tuple Boxed [Lit (Int 427),Var (UnQual (Ident "happyReduce_427"))],Tuple Boxed [Lit (Int 428),Var (UnQual (Ident "happyReduce_428"))],Tuple Boxed [Lit (Int 429),Var (UnQual (Ident "happyReduce_429"))],Tuple Boxed [Lit (Int 430),Var (UnQual (Ident "happyReduce_430"))],Tuple Boxed [Lit (Int 431),Var (UnQual (Ident "happyReduce_431"))],Tuple Boxed [Lit (Int 432),Var (UnQual (Ident "happyReduce_432"))],Tuple Boxed [Lit (Int 433),Var (UnQual (Ident "happyReduce_433"))],Tuple Boxed [Lit (Int 434),Var (UnQual (Ident "happyReduce_434"))],Tuple Boxed [Lit (Int 435),Var (UnQual (Ident "happyReduce_435"))],Tuple Boxed [Lit (Int 436),Var (UnQual (Ident "happyReduce_436"))],Tuple Boxed [Lit (Int 437),Var (UnQual (Ident "happyReduce_437"))],Tuple Boxed [Lit (Int 438),Var (UnQual (Ident "happyReduce_438"))],Tuple Boxed [Lit (Int 439),Var (UnQual (Ident "happyReduce_439"))],Tuple Boxed [Lit (Int 440),Var (UnQual (Ident "happyReduce_440"))],Tuple Boxed [Lit (Int 441),Var (UnQual (Ident "happyReduce_441"))],Tuple Boxed [Lit (Int 442),Var (UnQual (Ident "happyReduce_442"))],Tuple Boxed [Lit (Int 443),Var (UnQual (Ident "happyReduce_443"))],Tuple Boxed [Lit (Int 444),Var (UnQual (Ident "happyReduce_444"))],Tuple Boxed [Lit (Int 445),Var (UnQual (Ident "happyReduce_445"))],Tuple Boxed [Lit (Int 446),Var (UnQual (Ident "happyReduce_446"))],Tuple Boxed [Lit (Int 447),Var (UnQual (Ident "happyReduce_447"))],Tuple Boxed [Lit (Int 448),Var (UnQual (Ident "happyReduce_448"))],Tuple Boxed [Lit (Int 449),Var (UnQual (Ident "happyReduce_449"))],Tuple Boxed [Lit (Int 450),Var (UnQual (Ident "happyReduce_450"))],Tuple Boxed [Lit (Int 451),Var (UnQual (Ident "happyReduce_451"))],Tuple Boxed [Lit (Int 452),Var (UnQual (Ident "happyReduce_452"))],Tuple Boxed [Lit (Int 453),Var (UnQual (Ident "happyReduce_453"))],Tuple Boxed [Lit (Int 454),Var (UnQual (Ident "happyReduce_454"))],Tuple Boxed [Lit (Int 455),Var (UnQual (Ident "happyReduce_455"))],Tuple Boxed [Lit (Int 456),Var (UnQual (Ident "happyReduce_456"))],Tuple Boxed [Lit (Int 457),Var (UnQual (Ident "happyReduce_457"))],Tuple Boxed [Lit (Int 458),Var (UnQual (Ident "happyReduce_458"))],Tuple Boxed [Lit (Int 459),Var (UnQual (Ident "happyReduce_459"))],Tuple Boxed [Lit (Int 460),Var (UnQual (Ident "happyReduce_460"))],Tuple Boxed [Lit (Int 461),Var (UnQual (Ident "happyReduce_461"))],Tuple Boxed [Lit (Int 462),Var (UnQual (Ident "happyReduce_462"))],Tuple Boxed [Lit (Int 463),Var (UnQual (Ident "happyReduce_463"))]]))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_n_terms")) Nothing (UnGuardedRhs (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (Int 102)) (TyCon (UnQual (Ident "Int"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_n_nonterms")) Nothing (UnGuardedRhs (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (Int 125)) (TyCon (UnQual (Ident "Int"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_4")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 0))) (Var (UnQual (Ident "happyReduction_4"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_4") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "decls")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (Case (Var (UnQual (Ident "decls"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PList []) (UnGuardedAlt (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "p")) (Var (UnQual (Ident "getCurrentPosition"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))) (Paren (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "p")))) (Tuple Boxed [Var (UnQual (Ident "p")),Lit (Int 0)])) (Var (UnQual (Ident "n")))))))])) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PInfixApp (PVar (Ident "d")) (Special Cons) (PVar (Ident "ds")))) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "d")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))))) (BDecls [])])))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn7"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_5")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_5"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_5")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "empty")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_6")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_6"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_6") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_7")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_7"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_7") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn8"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_8")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_8"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_8") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut10"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CFDefExt"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_9")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_9"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_9") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CDeclExt"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_10")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_10"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_10") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn9"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_11")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_11"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_11") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAsmExt"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn9"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_12")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_12"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_12") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (List [])) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_13")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_13"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_13") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_14")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_14"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_14") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_15")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_15"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_15") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_16")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_16"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_16") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_17")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_17"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_17") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_18")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_18"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_18") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_19")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_19"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_19") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_20")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_20"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_20") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_21")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_21"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_21") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_22")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_22"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_22") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_23")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_23"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_23") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_24")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_24"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_24") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_25")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_25"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_25") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_26")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 4))) (Var (UnQual (Ident "happyReduction_26"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_26") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (InfixApp (InfixApp (Var (UnQual (Ident "enterScope"))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "doFuncParamDeclIdent"))) (Var (UnQual (Ident "declr"))))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "declr")))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn11"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_27")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_27"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_27") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut13"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_28")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_28"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_28") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_29")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_29"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_29") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut22"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_30")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_30"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_30") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut23"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_31")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_31"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_31") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut24"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_32")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_32"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_32") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut25"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_33")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_33"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_33") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut26"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (App (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "CAsm"))) (Var (UnQual (Ident "happy_var_1")))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn12"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_34")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_34"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_34") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CLabel"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_35")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_35"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_35") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCase"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_36")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_36"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_36") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CDefault"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_37")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_37"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_37") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCases"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_38")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_38"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_38") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (List [])) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_39")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_39"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_39") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_40")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 8))) (Var (UnQual (Ident "happyReduction_40"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_40") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "enterScope")))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn15"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_41")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 9))) (Var (UnQual (Ident "happyReduction_41"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_41") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "leaveScope")))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn16"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_42")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_42"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_42")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (Var (UnQual (Ident "empty")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_43")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_43"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_43") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut18"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn17"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_44")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_44"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_44") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn18"))) (Paren (App (Con (UnQual (Ident "CBlockStmt"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_45")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_45"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_45") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn18"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_46")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_46"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_46") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CBlockDecl"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_47")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_47"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_47") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut20"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CNestedFunDef"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_48")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_48"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_48") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn19"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_49")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_49"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_49") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_50")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_50"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_50") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_51")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_51"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_51") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_52")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_52"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_52") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_53")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_53"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_53") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_54")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_54"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_54") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn21"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_55")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_55"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_55") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn21"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappendr"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_56")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_56"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_56") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Con (UnQual (Ident "Nothing"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_57")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_57"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_57") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_58")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_58"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_58") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "Nothing"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_59")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_59"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_59") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_7")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_7"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_60")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_60"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_60") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CSwitch"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_61")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_61"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_61") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "False"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_62")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_62"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_62") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_2")))) (Con (UnQual (Ident "True"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_63")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 9))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_63"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_63") [PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_7")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_9")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Left"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_64")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_64"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_64") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_7")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_9")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_65")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_65"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_65") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGoto"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_66")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_66"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_66") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGotoPtr"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_67")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_67"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_67") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCont")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_68")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_68"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_68") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBreak")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_69")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_69"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_69") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CReturn"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_70")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_70"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_70") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (List [])) (List [])) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_71")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 8))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_71"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_71") [PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (List [])) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_72")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_72"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_72") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_8")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_73")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 12))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_73"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_73") [PParen (PInfixApp (PVar (Ident "happy_x_12")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_11")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_8")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_10")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_10")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_10"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_74")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_74"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_74")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_75")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_75"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_75") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn27"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_76")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_76"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_76")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (List [])))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_77")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_77"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_77") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn28"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_78")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_78"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_78") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn29"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_79")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_79"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_79") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn29"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_80")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_80"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_80") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_81")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_81"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_81") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_82")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_82"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_82") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_83")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_83"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_83") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn31"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_84")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_84"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_84") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn31"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_85")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_85"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_85") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_86")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_86"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_86") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_87")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_87"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_87") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) (BDecls [])]))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_88")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_88"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_88") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) (BDecls [])]))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_89")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_89"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_89")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (Var (UnQual (Ident "empty")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_90")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_90"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_90") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn33"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_91")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_91"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_91") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declspecs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_92")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_92"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_92") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declspecs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_93")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_93"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_93") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declspecs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_5")),Con (UnQual (Ident "Nothing"))]])))])))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_94")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_94"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_94") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declspecs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1"))))) (BDecls [])]) (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_95")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_95"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_95") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))))])) (BDecls [])]))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_96")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 28))) (Var (UnQual (Ident "happyReduction_96"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_96") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut64"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn35"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_97")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_97"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_97") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_98")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_98"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_98") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_99")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_99"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_99") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (App (Var (UnQual (Ident "return"))) (Paren (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))))])) (BDecls [])]))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_100")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_100"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_100") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_101")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_101"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_101") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_102")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_102"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_102") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_103")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_103"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_103") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_104")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_104"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_104") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_105")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_105"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_105") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_106")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_106"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_106") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_107")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_107"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_107") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_108")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_108"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_108") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_109")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_109"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_109") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_110")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_110"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_110") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_111")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_111"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_111") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CTypedef")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_112")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_112"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_112") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CExtern")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_113")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_113"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_113") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CStatic")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_114")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_114"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_114") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CAuto")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_115")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_115"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_115") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRegister")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_116")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_116"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_116") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CThread")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_117")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_117"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_117") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_118")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_118"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_118") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_119")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_119"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_119") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_120")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_120"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_120") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVoidType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_121")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_121"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_121") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCharType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_122")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_122"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_122") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CShortType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_123")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_123"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_123") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CIntType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_124")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_124"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_124") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CLongType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_125")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_125"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_125") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CFloatType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_126")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_126"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_126") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CDoubleType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_127")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_127"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_127") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CSignedType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_128")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_128"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_128") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CUnsigType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_129")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_129"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_129") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBoolType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_130")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_130"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_130") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CComplexType")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_131")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_131"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_131") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_132")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_132"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_132") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_133")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_133"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_133") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_134")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_134"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_134") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_135")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_135"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_135") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn43"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_136")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_136"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_136") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_137")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_137"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_137") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_138")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_138"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_138") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_139")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_139"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_139") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_140")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_140"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_140") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_141")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_141"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_141") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_142")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_142"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_142") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_143")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_143"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_143") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_144")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_144"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_144") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_145")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_145"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_145") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_146")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_146"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_146") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn45"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_147")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_147"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_147") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_148")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_148"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_148") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_149")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_149"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_149") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_150")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_150"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_150") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_151")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_151"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_151") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_152")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_152"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_152") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_153")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_153"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_153") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_154")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_154"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_154") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_155")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_155"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_155") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_156")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_156"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_156") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_157")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_157"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_157") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_158")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_158"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_158") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn47"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_159")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_159"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_159") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_160")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_160"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_160") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_161")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_161"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_161") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_162")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_162"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_162") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_163")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_163"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_163") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_164")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_164"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_164") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_165")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_165"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_165") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_166")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_166"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_166") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_167")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_167"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_167") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_168")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_168"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_168") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_169")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_169"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_169") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_170")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_170"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_170") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_171")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_171"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_171") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn48"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_172")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_172"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_172") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn48"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_173")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_173"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_173") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut50"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSUType"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_174")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_174"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_174") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut58"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CEnumType"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_175")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_175"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_175") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_176")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_176"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_176") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_177")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_177"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_177") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_178")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_178"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_178") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CStructTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_179")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_179"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_179") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CUnionTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_180")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_180"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_180")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "empty")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_181")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_181"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_181") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_182")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_182"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_182") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn52"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_183")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_183"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_183") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) (BDecls [])])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_184")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_184"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_184") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) (BDecls [])])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_185")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_185"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_185") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn53"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_186")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_186"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_186") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_3"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedAlt (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) (BDecls [])])))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_187")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_187"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_187") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedAlt (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) (BDecls [])])))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_188")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_188"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_188") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn54"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedAlt (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) (BDecls [])])) (BDecls [])]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_189")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_189"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_189") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedAlt (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedAlt (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) (BDecls [])])))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_190")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_190"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_190") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn55"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "attr")]) (UnGuardedAlt (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedAlt (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) (BDecls [])])) (BDecls [])]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_191")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_191"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_191") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_192")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_192"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_192") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_193")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_193"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_193") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_194")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_194"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_194") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_195")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_195"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_195") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_196")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_196"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_196") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_197")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_197"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_197") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_198")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_198"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_198") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn57"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "expr")]) (UnGuardedAlt (Tuple Boxed [Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "expr"))])) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "name"),PVar (Ident "derived"),PVar (Ident "asmname"),PVar (Ident "attrs"),PVar (Ident "node")])],PVar (Ident "bsz")]) (UnGuardedAlt (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "name")))) (Var (UnQual (Ident "derived")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "node"))))),Var (UnQual (Ident "bsz"))])) (BDecls [])])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_199")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_199"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_199") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_200")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_200"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_200") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_201")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_201"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_201") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_202")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_202"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_202") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_203")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_203"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_203") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_204")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_204"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_204") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn59"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_205")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_205"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_205") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn59"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_206")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_206"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_206") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Con (UnQual (Ident "Nothing"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_207")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_207"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_207") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_208")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_208"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_208") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CConstQual")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_209")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_209"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_209") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVolatQual")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_210")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_210"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_210") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRestrQual")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_211")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_211"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_211") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CInlineQual")))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_212")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_212"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_212") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_213")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_213"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_213") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_214")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_214"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_214") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappend"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_215")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_215"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_215") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_216")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_216"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_216") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut65"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_217")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_217"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_217")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn64"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_218")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_218"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_218") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn64"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_219")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_219"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_219") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_220")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_220"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_220") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_221")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_221"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_221") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_222")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_222"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_222") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_223")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_223"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_223") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn66"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_224")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_224"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_224") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut68"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn67"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_225")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_225"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_225") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_226")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_226"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_226") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_227")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_227"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_227") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_228")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_228"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_228") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_229")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_229"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_229") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn68"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_230")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_230"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_230") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_231")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_231"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_231") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_232")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_232"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_232") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_233")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_233"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_233") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut70"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn69"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_234")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_234"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_234") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_235")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_235"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_235") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_236")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_236"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_236") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_237")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_237"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_237") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_238")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_238"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_238") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_239")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_239"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_239") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_240")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_240"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_240") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn70"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_241")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_241"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_241") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_242")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_242"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_242") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_243")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_243"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_243") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn71"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_244")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_244"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_244") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn71"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_245")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_245"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_245") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_246")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_246"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_246") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_247")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_247"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_247") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut74"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn73"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_248")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_248"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_248") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_249")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_249"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_249") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_250")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_250"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_250") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_251")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_251"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_251") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_252")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_252"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_252") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_253")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_253"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_253") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn74"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_254")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_254"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_254") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_255")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_255"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_255") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_256")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_256"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_256") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_257")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_257"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_257") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn75"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_258")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_258"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_258") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn75"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_259")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_259"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_259") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn75"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_260")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 69))) (Var (UnQual (Ident "happyReduction_260"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_260") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn76"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_261")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_261"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_261") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut78"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn77"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_262")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_262"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_262") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_263")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_263"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_263") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_264")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_264"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_264") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Con (UnQual (Ident "Left"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn78"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_265")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_265"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_265") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn78"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_266")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_266"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_266") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn78"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_267")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_267"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_267")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [List [],Con (UnQual (Ident "False"))])))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_268")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_268"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_268") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "False"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_269")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_269"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_269") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "True"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_270")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_270"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_270") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn80"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_271")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_271"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_271") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn80"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_272")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_272"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_272") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_273")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_273"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_273") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_274")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_274"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_274") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_275")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_275"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_275") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_276")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_276"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_276") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_277")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_277"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_277") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_278")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_278"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_278") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_279")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_279"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_279") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_280")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_280"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_280") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_281")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_281"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_281") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_282")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_282"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_282") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_283")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_283"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_283") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_284")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_284"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_284") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_285")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_285"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_285") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_286")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_286"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_286") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_287")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_287"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_287") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn82"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_288")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_288"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_288") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn82"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_289")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_289"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_289") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_290")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_290"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_290") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_291")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_291"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_291") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_292")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_292"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_292") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_293")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_293"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_293") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_294")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_294"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_294") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_295")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_295"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_295") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn84"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "emptyDeclr"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_296")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_296"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_296") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn85"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_297")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_297"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_297") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut79"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "params"),PVar (Ident "variadic")]) (UnGuardedAlt (App (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Con (UnQual (Ident "Right"))) (Tuple Boxed [Var (UnQual (Ident "params")),Var (UnQual (Ident "variadic"))])))) (List [])) (Var (UnQual (Ident "at"))))) (BDecls [])]))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn85"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_298")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_298"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_298") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn86"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_299")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_299"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_299") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn86"))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "decl")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "decl")))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_300")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_300"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_300") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_301")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_301"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_301") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_302")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_302"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_302") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_303")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_303"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_303") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_304")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_304"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_304") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_305")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_305"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_305") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_306")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_306"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_306") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_6")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_6")))))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_307")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_307"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_307") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_308")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_308"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_308") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_2"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_4")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_309")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_309"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_309") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_310")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_310"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_310") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_311")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_311"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_311") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_312")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_312"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_312") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_313")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_313"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_313") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_314")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_314"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_314") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_315")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_315"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_315") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_316")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_316"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_316") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_317")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_317"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_317") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_318")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_318"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_318") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_319")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_319"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_319") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "emptyDeclr"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_320")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_320"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_320") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_321")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_321"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_321") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_322")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_322"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_322") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_323")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_323"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_323") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "emptyDeclr")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_324")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_324"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_324") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_325")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_325"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_325") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_326")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_326"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_326") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitExpr"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_327")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_327"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_327") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_328")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_328"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_328") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_329")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_329"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_329")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_330")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_330"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_330") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn91"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_331")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_331"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_331")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (Var (UnQual (Ident "empty")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_332")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_332"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_332") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_1"))]))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_333")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_333"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_333") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))]))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_334")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_334"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_334") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_3"))]))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_335")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_335"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_335") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_3")),Var (UnQual (Ident "happy_var_4"))])))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_336")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_336"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_336") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn93"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_337")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_337"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_337") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "at")] (List [App (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))]))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn93"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_338")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_338"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_338") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn93"))) (Paren (List [Var (UnQual (Ident "happy_var_1"))])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_339")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_339"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_339") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn94"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_340")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_340"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_340") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn94"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_341")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_341"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_341") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_342")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_342"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_342") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_343")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_343"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_343") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn95"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_344")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 89))) (Var (UnQual (Ident "happyReduction_344"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_344") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CRangeDesig"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn96"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_345")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_345"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_345") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CVar"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_346")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_346"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_346") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut122"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_347")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_347"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_347") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Paren (App (Var (UnQual (Ident "liftStrLit"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_348")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_348"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_348") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn97"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_349")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_349"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_349") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CStatExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_350")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_350"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_350") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinVaArg"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_351")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_351"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_351") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinOffsetOf"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5")))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_352")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_352"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_352") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinTypesCompatible"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_353")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_353"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_353") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "singleton"))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_354")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_354"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_354") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_355")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_355"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_355") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_356")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_356"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_356") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut97"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn99"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_357")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_357"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_357") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CIndex"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_358")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_358"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_358") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_359")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_359"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_359") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_360")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_360"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_360") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "False"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_361")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_361"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_361") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "True"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_362")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_362"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_362") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostIncOp")))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_363")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_363"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_363") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostDecOp")))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_364")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_364"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_364") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_365")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_365"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_365") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_366")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_366"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_366") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn100"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_367")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_367"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_367") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn100"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_368")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_368"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_368") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_369")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_369"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_369") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreIncOp")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_370")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_370"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_370") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreDecOp")))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_371")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_371"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_371") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_372")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_372"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_372") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut102"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_373")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_373"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_373") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_374")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_374"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_374") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofType"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_375")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_375"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_375") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_376")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_376"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_376") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofType"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_377")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_377"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_377") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexReal"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_378")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_378"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_378") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexImag"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_379")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_379"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_379") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CLabAddrExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_380")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_380"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_380") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAdrOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_381")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_381"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_381") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CIndOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_382")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_382"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_382") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CPlusOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_383")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_383"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_383") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMinOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_384")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_384"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_384") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CCompOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_385")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_385"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_385") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CNegOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_386")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_386"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_386") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn103"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_387")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_387"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_387") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCast"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn103"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_388")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_388"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_388") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn104"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_389")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_389"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_389") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CMulOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_390")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_390"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_390") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CDivOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_391")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_391"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_391") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CRmdOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_392")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_392"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_392") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn105"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_393")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_393"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_393") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAddOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_394")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_394"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_394") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CSubOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_395")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_395"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_395") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn106"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_396")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_396"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_396") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShlOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_397")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_397"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_397") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_398")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_398"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_398") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn107"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_399")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_399"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_399") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_400")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_400"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_400") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_401")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_401"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_401") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_402")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_402"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_402") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_403")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_403"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_403") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn108"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_404")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_404"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_404") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CEqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_405")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_405"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_405") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CNeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_406")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_406"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_406") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn109"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_407")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_407"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_407") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn109"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_408")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_408"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_408") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn110"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_409")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_409"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_409") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CXorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn110"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_410")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_410"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_410") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn111"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_411")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_411"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_411") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "COrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn111"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_412")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_412"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_412") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn112"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_413")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_413"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_413") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn112"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_414")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_414"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_414") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn113"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_415")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_415"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_415") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn113"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_416")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_416"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_416") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn114"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_417")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_417"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_417") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_5")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_418")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_418"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_418") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_4"))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_419")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_419"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_419") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn115"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_420")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_420"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_420") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut116"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAssign"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn115"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_421")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_421"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_421") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAssignOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_422")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_422"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_422") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMulAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_423")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_423"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_423") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CDivAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_424")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_424"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_424") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CRmdAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_425")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_425"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_425") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAddAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_426")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_426"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_426") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CSubAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_427")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_427"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_427") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShlAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_428")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_428"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_428") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_429")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_429"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_429") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAndAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_430")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_430"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_430") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CXorAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_431")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_431"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_431") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "COrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_432")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_432"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_432") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn117"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_433")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_433"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_433") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "es")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))) (BDecls [])]) (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "es")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComma"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QConOp (Special Cons)) (Var (UnQual (Ident "es")))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn117"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_434")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_434"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_434") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn118"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_435")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_435"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_435") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn118"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_436")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_436"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_436")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_437")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_437"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_437") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn119"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_438")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_438"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_438")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_439")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_439"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_439") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn120"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_440")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 114))) (Var (UnQual (Ident "happyReduction_440"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_440") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn121"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_441")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_441"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_441") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PVar (Ident "i")]) (UnGuardedAlt (App (Con (UnQual (Ident "CIntConst"))) (Var (UnQual (Ident "i"))))) (BDecls [])])))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_442")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_442"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_442") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PVar (Ident "c")]) (UnGuardedAlt (App (Con (UnQual (Ident "CCharConst"))) (Var (UnQual (Ident "c"))))) (BDecls [])])))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_443")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_443"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_443") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PVar (Ident "f")]) (UnGuardedAlt (App (Con (UnQual (Ident "CFloatConst"))) (Var (UnQual (Ident "f"))))) (BDecls [])])))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_444")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_444"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_444") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedAlt (App (Con (UnQual (Ident "CStrLit"))) (Var (UnQual (Ident "s"))))) (BDecls [])])))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_445")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_445"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_445") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedAlt (App (Con (UnQual (Ident "CStrLit"))) (Paren (App (Var (UnQual (Ident "concatCStrings"))) (Paren (InfixApp (Var (UnQual (Ident "s"))) (QConOp (Special Cons)) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))))))) (BDecls [])])))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_446")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_446"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_446") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedAlt (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "s"))))) (BDecls [])])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_447")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_447"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_447") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedAlt (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "s"))))) (BDecls [])])))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_448")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_448"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_448") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_449")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_449"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_449") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_450")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_450"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_450")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (List [])))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_451")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_451"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_451") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn126"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_452")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_452"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_452") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn127"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_453")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_453"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_453") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_2")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn127"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_454")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 121))) (Var (UnQual (Ident "happyReduction_454"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_454") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_4")) (UnGuardedAlt (InfixApp (App (Var (UnQual (Ident "happyIn128"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_455")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_455"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_455") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn129"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (Var (UnQual (Ident "empty")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "attr")]) (UnGuardedAlt (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "attr"))))) (BDecls [])])))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_456")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_456"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_456") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn129"))) (Paren (App (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "snoc")))))) (Var (UnQual (Ident "happy_var_3"))))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_457")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_457"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduction_457")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyIn130"))) (Paren (Con (UnQual (Ident "Nothing")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_458")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_458"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_458") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_459")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_459"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_459") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Paren (App (Var (UnQual (Ident "internalIdent"))) (Lit (String "const"))))) (List [])))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_460")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_460"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_460") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))))))) (BDecls [])])) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_461")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_461"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_461") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedAlt (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) (BDecls [])]))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_462")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_462"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_462") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn131"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) (BDecls [])])) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReduce_463")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_463"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduction_463") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_1")) (UnGuardedAlt (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happy_var_3")) (UnGuardedAlt (App (Var (UnQual (Ident "happyIn131"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) (BDecls [])])) (BDecls [])])) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyNewToken") [PVar (Ident "action"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "lexC"))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "tk")] (Let (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "cont") [PVar (Ident "i")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls [])]]) (Case (Var (UnQual (Ident "tk"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokEof")) []) (UnGuardedAlt (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLParen")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 1)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokRParen")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 2)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLBracket")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 3)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokRBracket")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 4)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokArrow")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 5)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokDot")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 6)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokExclam")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 7)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokTilde")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 8)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokInc")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 9)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokDec")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 10)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokPlus")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 11)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokMinus")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 12)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokStar")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 13)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSlash")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 14)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokPercent")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 15)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAmper")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 16)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokShiftL")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 17)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokShiftR")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 18)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLess")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 19)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLessEq")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 20)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokHigh")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 21)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokHighEq")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 22)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokEqual")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 23)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokUnequal")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 24)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokHat")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 25)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokBar")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 26)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAnd")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 27)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokOr")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 28)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokQuest")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 29)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokColon")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 30)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAssign")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 31)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokPlusAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 32)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokMinusAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 33)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokStarAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 34)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSlashAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 35)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokPercAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 36)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAmpAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 37)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokHatAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 38)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokBarAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 39)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 40)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSRAss")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 41)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokComma")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 42)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSemic")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 43)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLBrace")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 44)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokRBrace")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 45)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokEllipsis")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 46)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAlignof")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 47)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAsm")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 48)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokAuto")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 49)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokBreak")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 50)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokBool")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 51)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokCase")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 52)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokChar")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 53)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokConst")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 54)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokContinue")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 55)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokComplex")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 56)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokDefault")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 57)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokDo")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 58)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokDouble")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 59)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokElse")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 60)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokEnum")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 61)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokExtern")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 62)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokFloat")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 63)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokFor")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 64)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGoto")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 65)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokIf")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 66)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokInline")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 67)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokInt")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 68)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLong")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 69)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokLabel")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 70)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokRegister")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 71)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokRestrict")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 72)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokReturn")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 73)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokShort")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 74)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSigned")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 75)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSizeof")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 76)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokStatic")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 77)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokStruct")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 78)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSwitch")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 79)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokTypedef")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 80)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokTypeof")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 81)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokThread")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 82)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokUnion")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 83)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokUnsigned")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 84)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokVoid")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 85)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokVolatile")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 86)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokWhile")) [PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 87)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 88)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 89)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 90)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 91)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 92)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 93)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCAttrTok")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 94)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCExtTok")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 95)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexReal")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 96)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexImag")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 97)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCVaArg")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 98)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCOffsetof")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 99)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCTyCompat")) [],PWildCard]) (UnGuardedAlt (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 100)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) PWildCard (UnGuardedAlt (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) (BDecls [])])))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyError_") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyThen"] (TyFun (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))) (TyFun (TyParen (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyThen")) Nothing (UnGuardedRhs (Var (UnQual (Symbol ">>=")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyReturn"] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReturn")) Nothing (UnGuardedRhs (Paren (Var (UnQual (Ident "return"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyThen1")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happyThen")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyReturn1"] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyReturn1")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happyReturn")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyError'"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyError'") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "token")] (Var (UnQual (Ident "happyError"))))) (Var (UnQual (Ident "tk"))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "translation_unit")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happySomeParser")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 0))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut7"))) (Var (UnQual (Ident "x")))))))))) (BDecls [])]),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "external_declaration")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happySomeParser")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 1))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "x")))))))))) (BDecls [])]),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "statement")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happySomeParser")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 2))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "x")))))))))) (BDecls [])]),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "expression")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happySomeParser")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 3))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "x")))))))))) (BDecls [])]),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happySeq")) Nothing (UnGuardedRhs (Var (UnQual (Ident "happyDontSeq")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "reverseList"] (TyFun (TyList (TyVar (Ident "a"))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyVar (Ident "a"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "reverseList")) Nothing (UnGuardedRhs (InfixApp (Con (UnQual (Ident "Reversed"))) (QVarOp (UnQual (Symbol "."))) (Var (Qual (ModuleName "List") (Ident "reverse"))))) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Located") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "L") [BangedTy (TyVar (Ident "a")),BangedTy (TyCon (UnQual (Ident "Position")))])] [],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "unL"] (TyFun (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a"))) (TyVar (Ident "a"))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unL") [PParen (PApp (UnQual (Ident "L")) [PVar (Ident "a"),PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "a")))) (BDecls [])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "posOf") [PParen (PApp (UnQual (Ident "L")) [PWildCard,PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "pos")))) (BDecls [])])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "withNodeInfo")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "withNodeInfo"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "withNodeInfo") [PVar (Ident "node"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "firstPos")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node"))))) (BDecls [])]),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "attrs")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Var (UnQual (Ident "name"))))) (BDecls [])]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "withLength")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "withLength"] (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "withLength") [PVar (Ident "nodeinfo"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "firstPos")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOfNode"))) (Var (UnQual (Ident "nodeinfo"))))) (BDecls [])]),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "attrs")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Paren (App (Var (UnQual (Ident "error"))) (Lit (String "nameOfNode"))))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "nameOfNode"))) (Var (UnQual (Ident "nodeinfo"))))))))) (BDecls [])]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) (BDecls [])],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "CDeclrR") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "CDeclrR") [UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident"))))),UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDerivedDeclr")))))),UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))))),UnBangedTy (TyList (TyCon (UnQual (Ident "CAttr")))),UnBangedTy (TyCon (UnQual (Ident "NodeInfo")))])] [],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "reverseDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclr")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "reverseDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ide"),PVar (Ident "reversedDDs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ide")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "reversedDDs")))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) (BDecls [])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "CNode")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "nodeInfo") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "n")))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] (UnQual (Ident "Pos")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "posOf") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n"))))) (BDecls [])])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "withAttribute")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "withAttribute"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "withAttribute") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "attrs")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) (BDecls [])]),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "newDeclr")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkDeclrNode"))) (Var (UnQual (Ident "attrs")))))) (BDecls [])]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "withAttributePF")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "withAttributePF"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "withAttributePF") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrCtor")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "attrs")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) (BDecls [])]),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "newDeclr")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "mkDeclrCtor"))) (Var (UnQual (Ident "attrs")))))) (BDecls [])]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "appendObjAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendObjAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "appendObjAttrsR"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendObjAttrsR") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "setAsmName"] (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "setAsmName") [PVar (Ident "mAsmName"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "oldName"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "combineName"))) (Var (UnQual (Ident "mAsmName")))) (Var (UnQual (Ident "oldName")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Left")) [PTuple Boxed [PVar (Ident "n1"),PVar (Ident "n2")]]) (UnGuardedAlt (App (App (Var (UnQual (Ident "failP"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n2")))))) (List [Lit (String "Duplicate assembler name: "),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n1"))),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n2")))]))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Right")) [PVar (Ident "newName")]) (UnGuardedAlt (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "newName")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at")))))) (BDecls [])])) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Con (UnQual (Ident "Nothing"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PAsPat (Ident "oldname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard]))] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "oldname"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "combineName") [PAsPat (Ident "newname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard])),PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "newname"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "combineName") [PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n1")]),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n2")])] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Left"))) (Tuple Boxed [Var (UnQual (Ident "n1")),Var (UnQual (Ident "n2"))]))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "showName") [PParen (PApp (UnQual (Ident "CStrLit")) [PVar (Ident "cstr"),PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "show"))) (Var (UnQual (Ident "cstr"))))) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "withAsmNameAttrs"] (TyFun (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "withAsmNameAttrs") [PTuple Boxed [PVar (Ident "mAsmName"),PVar (Ident "newAttrs")],PVar (Ident "declr")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "setAsmName"))) (Var (UnQual (Ident "mAsmName")))) (Paren (App (App (Var (UnQual (Ident "appendObjAttrsR"))) (Var (UnQual (Ident "newAttrs")))) (Var (UnQual (Ident "declr"))))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "appendDeclrAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PList []]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "empty")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) (PVar (Ident "xs")))]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (App (Con (UnQual (Ident "Reversed"))) (Paren (InfixApp (App (Var (UnQual (Ident "appendAttrs"))) (Var (UnQual (Ident "x")))) (QConOp (Special Cons)) (Var (UnQual (Ident "xs")))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CPtrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "at"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CArrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "arraySize"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "arraySize")))) (Var (UnQual (Ident "at"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "parameters"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "parameters")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ptrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ptrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "funDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyParen (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyList (TyCon (UnQual (Ident "Ident"))))) (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "funDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "dcattrs"),PVar (Ident "dat")]),PVar (Ident "params"),PVar (Ident "cattrs"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "params")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "dcattrs")))) (Var (UnQual (Ident "dat"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "arrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "arrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "var_sized"),PVar (Ident "static_size"),PVar (Ident "size_expr_opt"),PVar (Ident "at")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "arr_sz"))) (QVarOp (UnQual (Ident "seq"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "arr_sz")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "arr_sz")) Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "size_expr_opt"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedAlt (App (App (Con (UnQual (Ident "CArrSize"))) (Var (UnQual (Ident "static_size")))) (Var (UnQual (Ident "e"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (App (Con (UnQual (Ident "CNoArrSize"))) (Var (UnQual (Ident "var_sized"))))) (BDecls [])])) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "liftTypeQuals"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "liftTypeQuals")) Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CTypeQual")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "reverse"))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "liftCAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "liftCAttrs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "map"))) (Paren (InfixApp (Con (UnQual (Ident "CTypeQual"))) (QVarOp (UnQual (Symbol "."))) (Con (UnQual (Ident "CAttrQual"))))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "addTrailingAttrs"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "addTrailingAttrs") [PVar (Ident "declspecs"),PVar (Ident "new_attrs")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "viewr"))) (Var (UnQual (Ident "declspecs")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CSUType")) [PParen (PApp (UnQual (Ident "CStruct")) [PVar (Ident "tag"),PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "su_node")]),PVar (Ident "node")])]]) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CSUType"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Var (UnQual (Ident "tag")))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "su_node")))))) (Var (UnQual (Ident "node"))))))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CEnumType")) [PParen (PApp (UnQual (Ident "CEnum")) [PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "e_node")]),PVar (Ident "node")])]]) (UnGuardedAlt (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CEnumType"))) (Paren (App (App (App (App (Con (UnQual (Ident "CEnum"))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "e_node")))))) (Var (UnQual (Ident "node"))))))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) PWildCard (UnGuardedAlt (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "new_attrs"))))))) (BDecls [])])) (BDecls [])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyList (TyVar (Ident "a"))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "posOf") [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) PWildCard)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) (BDecls [])])],InstDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "posOf") [PParen (PApp (UnQual (Ident "Reversed")) [PVar (Ident "x")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "emptyDeclr"] (TyCon (UnQual (Ident "CDeclrR"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "emptyDeclr")) Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List [])) (Var (UnQual (Ident "undefNode"))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "mkVarDeclr"] (TyFun (TyCon (UnQual (Ident "Ident"))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "mkVarDeclr") [PVar (Ident "ident")] Nothing (UnGuardedRhs (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "ident")))))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List []))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "doDeclIdent"] (TyFun (TyList (TyCon (UnQual (Ident "CDeclSpec")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "doDeclIdent") [PVar (Ident "declspecs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "mIdent"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (GuardedAlts [GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (App (Var (UnQual (Ident "any"))) (Var (UnQual (Ident "iypedef")))) (Var (UnQual (Ident "declspecs"))))] (App (Var (UnQual (Ident "addTypedef"))) (Var (UnQual (Ident "ident")))),GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))]) (BDecls [])])) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "iypedef") [PParen (PApp (UnQual (Ident "CStorageSpec")) [PParen (PApp (UnQual (Ident "CTypedef")) [PWildCard])])] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "iypedef") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "doFuncParamDeclIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "doFuncParamDeclIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PWildCard,PParen (PInfixApp (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "params"),PWildCard,PWildCard]) (Special Cons) PWildCard),PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "sequence_"))) (ListComp (Case (App (Var (UnQual (Ident "getCDeclrIdent"))) (Var (UnQual (Ident "declr")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (UnGuardedAlt (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))) (BDecls [])]) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "CDecl")) [PWildCard,PVar (Ident "dle"),PWildCard]) (App (App (App (Var (UnQual (Ident "either"))) (Paren (App (Var (UnQual (Ident "const"))) (List [])))) (Var (UnQual (Ident "fst")))) (Var (UnQual (Ident "params"))))),QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "declr")],PWildCard,PWildCard]) (Var (UnQual (Ident "dle"))))]))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "doFuncParamDeclIdent") [PWildCard] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "getCDeclrIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "getCDeclrIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Var (UnQual (Ident "mIdent")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyError"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "happyError")) Nothing (UnGuardedRhs (Var (UnQual (Ident "parseError")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "parseC"] (TyFun (TyCon (UnQual (Ident "InputStream"))) (TyFun (TyCon (UnQual (Ident "Position"))) (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyCon (UnQual (Ident "ParseError")))) (TyCon (UnQual (Ident "CTranslUnit")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "parseC") [PVar (Ident "input"),PVar (Ident "initialPosition")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "fmap"))) (Var (UnQual (Ident "fst")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Var (UnQual (Ident "execParser"))) (Var (UnQual (Ident "translUnitP")))) (Var (UnQual (Ident "input")))) (Var (UnQual (Ident "initialPosition")))) (Var (UnQual (Ident "builtinTypeNames")))) (Paren (App (Var (UnQual (Ident "namesStartingFrom"))) (Lit (Int 0))))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "translUnitP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CTranslUnit")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "translUnitP")) Nothing (UnGuardedRhs (Var (UnQual (Ident "translation_unit")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "extDeclP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExtDecl")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "extDeclP")) Nothing (UnGuardedRhs (Var (UnQual (Ident "external_declaration")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "statementP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CStat")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "statementP")) Nothing (UnGuardedRhs (Var (UnQual (Ident "statement")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "expressionP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExpr")))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "expressionP")) Nothing (UnGuardedRhs (Var (UnQual (Ident "expression")))) (BDecls []),DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "Happy_IntList") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HappyCons") [UnBangedTy (TyCon (UnQual (Ident "Int#"))),UnBangedTy (TyCon (UnQual (Ident "Happy_IntList")))])] [],InfixDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) AssocRight 9 [ConOp (Ident "HappyStk")],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "HappyStk") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HappyStk") [UnBangedTy (TyVar (Ident "a")),UnBangedTy (TyParen (TyApp (TyCon (UnQual (Ident "HappyStk"))) (TyVar (Ident "a"))))])] [],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyParse") [PVar (Ident "start_state")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "start_state")))) (Var (UnQual (Ident "notHappyAtAll")))) (Var (UnQual (Ident "notHappyAtAll"))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyAccept") [PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PInfixApp PWildCard (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "ans")) (UnQual (Ident "HappyStk")) PWildCard)))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyAccept") [PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PApp (UnQual (Ident "HappyStk")) [PVar (Ident "ans"),PWildCard])] Nothing (UnGuardedRhs (App (Paren (App (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "j")))) (Paren (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "st"))))))) (Paren (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDoAction") [PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "action"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PLit (PrimInt 0)) (UnGuardedAlt (App (App (App (Var (UnQual (Ident "happyFail"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PNeg (PLit (PrimInt 1))) (UnGuardedAlt (App (App (App (Var (UnQual (Ident "happyAccept"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n")) (GuardedAlts [GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "<#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#")))))))] (App (App (App (Paren (InfixApp (Var (UnQual (Ident "happyReduceArr"))) (QVarOp (UnQual (Symbol "!"))) (Var (UnQual (Ident "rule"))))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rule")) Nothing (UnGuardedRhs (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Paren (App (Var (UnQual (Ident "negateInt#"))) (Paren (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "+#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))))))))) (BDecls [])]),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n")) (UnGuardedAlt (App (App (App (App (Var (UnQual (Ident "happyShift"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "new_state")) Nothing (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (BDecls [])])])) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyActOffsets")))) (Var (UnQual (Ident "st"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off_i")) Nothing (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "i")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "check")) Nothing (UnGuardedRhs (If (Paren (InfixApp (Var (UnQual (Ident "off_i"))) (QVarOp (UnQual (Symbol ">=#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#"))))))) (Paren (InfixApp (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyCheck")))) (Var (UnQual (Ident "off_i")))) (QVarOp (UnQual (Symbol "==#"))) (Var (UnQual (Ident "i"))))) (Con (UnQual (Ident "False"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "action")) Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "check")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyDefActions")))) (Var (UnQual (Ident "st"))))]) (BDecls [])])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "indexShortOffAddr") [PParen (PApp (UnQual (Ident "HappyA#")) [PVar (Ident "arr")]),PVar (Ident "off")] Nothing (UnGuardedRhs (InfixApp (App (App (App (App (Var (UnQual (Ident "narrow16Int#"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "intToInt16#")))) (Var (UnQual (Ident "i")))) (Paren (InfixApp (Var (UnQual (Ident "i"))) (QVarOp (UnQual (Ident "iShiftL#"))) (Lit (PrimInt 16))))) (QVarOp (UnQual (Ident "iShiftRA#"))) (Lit (PrimInt 16)))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "i")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "uncheckedShiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "i")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "shiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "high")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Paren (InfixApp (Var (UnQual (Ident "off'"))) (QVarOp (UnQual (Symbol "+#"))) (Lit (PrimInt 1)))))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "low")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Var (UnQual (Ident "off'"))))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off'")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "*#"))) (Lit (PrimInt 2)))) (BDecls [])])],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "HappyAddr") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (ConDecl (Ident "HappyA#") [UnBangedTy (TyCon (UnQual (Ident "Addr#")))])] [],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyShift") [PVar (Ident "new_state"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PAsPat (Ident "stk") (PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "i")) Nothing (UnGuardedRhs (Paren (Case (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PApp (UnQual (Ident "I#")) [PParen (PVar (Ident "i"))])) (UnGuardedAlt (Var (UnQual (Ident "i")))) (BDecls [])]))) (BDecls [])]) (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (Var (UnQual (Ident "stk"))))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyShift") [PVar (Ident "new_state"),PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "happyInTok"))) (Paren (Var (UnQual (Ident "tk")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_0") [PVar (Ident "i"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_0") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PAsPat (Ident "st") (PParen (PParen (PVar (Ident "action")))),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Var (UnQual (Ident "fn"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_1") [PVar (Ident "i"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_1") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1"))))) (BDecls [])]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_2") [PVar (Ident "i"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_2") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2"))))) (BDecls [])]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_3") [PVar (Ident "i"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happySpecReduce_3") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v3")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2")))) (Var (UnQual (Ident "v3"))))) (BDecls [])]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "i"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "k"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "sts")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedAlt (Let (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "r")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk"))))) (BDecls [])]) (App (App (Var (UnQual (Ident "happyDoSeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Var (UnQual (Ident "r")))))))) (BDecls [])])) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "drop_stk")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) (BDecls [])])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [PVar (Ident "r")] (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "drop_stk")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st1"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off_i")) Nothing (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "new_state")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) (BDecls [])])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDrop") [PLit (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDrop") [PVar (Ident "n"),PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PVar (Ident "t"))])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "t"))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDropStk") [PLit (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDropStk") [PVar (Ident "n"),PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) (PVar (Ident "xs")))] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "xs"))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyGoto") [PVar (Ident "nt"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "off_i")) Nothing (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "new_state")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) (BDecls [])])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyFail") [PLit (PrimInt 0),PVar (Ident "tk"),PVar (Ident "old_st"),PWildCard,PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError_"))) (Var (UnQual (Ident "tk"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyFail") [PVar (Ident "i"),PVar (Ident "tk"),PParen (PVar (Ident "action")),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "unsafeCoerce#"))) (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Var (UnQual (Ident "i")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "notHappyAtAll")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "error"))) (Lit (String "Internal Happy error\n")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyTcHack"] (TyFun (TyCon (UnQual (Ident "Int#"))) (TyFun (TyVar (Ident "a")) (TyVar (Ident "a")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyTcHack") [PVar (Ident "x"),PVar (Ident "y")] Nothing (UnGuardedRhs (Var (UnQual (Ident "y")))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) True AlwaysActive (UnQual (Ident "happyTcHack")),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyDoSeq",Ident "happyDontSeq"] (TyFun (TyVar (Ident "a")) (TyFun (TyVar (Ident "b")) (TyVar (Ident "b")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDoSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "a"))) (QVarOp (UnQual (Ident "seq"))) (Var (UnQual (Ident "b"))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "happyDontSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (Var (UnQual (Ident "b")))) (BDecls [])],InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyDoAction")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyTable")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyCheck")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyActOffsets")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyGotoOffsets")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyDefActions")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyShift")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happySpecReduce_0")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happySpecReduce_1")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happySpecReduce_2")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happySpecReduce_3")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyReduce")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyMonadReduce")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyGoto")),InlineSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) False AlwaysActive (UnQual (Ident "happyFail"))]-
− tests/examples/CParser.hs.prettyprinter.golden
@@ -1,6540 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# LANGUAGE MagicHash #-}-module Language.C.Parser.Parser- (parseC, translUnitP, extDeclP, statementP, expressionP) where-import Prelude hiding (reverse)-import qualified Data.List as List-import Control.Monad (mplus)-import Language.C.Parser.Builtin (builtinTypeNames)-import Language.C.Parser.Lexer (lexC, parseError)-import Language.C.Parser.Tokens- (CToken(..), GnuCTok(..), posLenOfTok)-import Language.C.Parser.ParserMonad- (P, failP, execParser, getNewName, addTypedef, shadowTypedef,- getCurrentPosition, enterScope, leaveScope, getLastToken,- getSavedToken, ParseError(..))-import Language.C.Data.RList-import Language.C.Data.InputStream-import Language.C.Data.Ident-import Language.C.Data.Name-import Language.C.Data.Node-import Language.C.Data.Position-import Language.C.Syntax-import Data.Array-import Array-import GHC.Exts-import GlaExts- -newtype HappyAbsSyn = HappyAbsSyn (() -> ())- -happyIn7 :: (CTranslUnit) -> (HappyAbsSyn)-happyIn7 x = unsafeCoerce# x- -{-# INLINE happyIn7 #-}- -happyOut7 :: (HappyAbsSyn) -> (CTranslUnit)-happyOut7 x = unsafeCoerce# x- -{-# INLINE happyOut7 #-}- -happyIn8 :: (Reversed [CExtDecl]) -> (HappyAbsSyn)-happyIn8 x = unsafeCoerce# x- -{-# INLINE happyIn8 #-}- -happyOut8 :: (HappyAbsSyn) -> (Reversed [CExtDecl])-happyOut8 x = unsafeCoerce# x- -{-# INLINE happyOut8 #-}- -happyIn9 :: (CExtDecl) -> (HappyAbsSyn)-happyIn9 x = unsafeCoerce# x- -{-# INLINE happyIn9 #-}- -happyOut9 :: (HappyAbsSyn) -> (CExtDecl)-happyOut9 x = unsafeCoerce# x- -{-# INLINE happyOut9 #-}- -happyIn10 :: (CFunDef) -> (HappyAbsSyn)-happyIn10 x = unsafeCoerce# x- -{-# INLINE happyIn10 #-}- -happyOut10 :: (HappyAbsSyn) -> (CFunDef)-happyOut10 x = unsafeCoerce# x- -{-# INLINE happyOut10 #-}- -happyIn11 :: (CDeclr) -> (HappyAbsSyn)-happyIn11 x = unsafeCoerce# x- -{-# INLINE happyIn11 #-}- -happyOut11 :: (HappyAbsSyn) -> (CDeclr)-happyOut11 x = unsafeCoerce# x- -{-# INLINE happyOut11 #-}- -happyIn12 :: (CStat) -> (HappyAbsSyn)-happyIn12 x = unsafeCoerce# x- -{-# INLINE happyIn12 #-}- -happyOut12 :: (HappyAbsSyn) -> (CStat)-happyOut12 x = unsafeCoerce# x- -{-# INLINE happyOut12 #-}- -happyIn13 :: (CStat) -> (HappyAbsSyn)-happyIn13 x = unsafeCoerce# x- -{-# INLINE happyIn13 #-}- -happyOut13 :: (HappyAbsSyn) -> (CStat)-happyOut13 x = unsafeCoerce# x- -{-# INLINE happyOut13 #-}- -happyIn14 :: (CStat) -> (HappyAbsSyn)-happyIn14 x = unsafeCoerce# x- -{-# INLINE happyIn14 #-}- -happyOut14 :: (HappyAbsSyn) -> (CStat)-happyOut14 x = unsafeCoerce# x- -{-# INLINE happyOut14 #-}- -happyIn15 :: (()) -> (HappyAbsSyn)-happyIn15 x = unsafeCoerce# x- -{-# INLINE happyIn15 #-}- -happyOut15 :: (HappyAbsSyn) -> (())-happyOut15 x = unsafeCoerce# x- -{-# INLINE happyOut15 #-}- -happyIn16 :: (()) -> (HappyAbsSyn)-happyIn16 x = unsafeCoerce# x- -{-# INLINE happyIn16 #-}- -happyOut16 :: (HappyAbsSyn) -> (())-happyOut16 x = unsafeCoerce# x- -{-# INLINE happyOut16 #-}- -happyIn17 :: (Reversed [CBlockItem]) -> (HappyAbsSyn)-happyIn17 x = unsafeCoerce# x- -{-# INLINE happyIn17 #-}- -happyOut17 :: (HappyAbsSyn) -> (Reversed [CBlockItem])-happyOut17 x = unsafeCoerce# x- -{-# INLINE happyOut17 #-}- -happyIn18 :: (CBlockItem) -> (HappyAbsSyn)-happyIn18 x = unsafeCoerce# x- -{-# INLINE happyIn18 #-}- -happyOut18 :: (HappyAbsSyn) -> (CBlockItem)-happyOut18 x = unsafeCoerce# x- -{-# INLINE happyOut18 #-}- -happyIn19 :: (CBlockItem) -> (HappyAbsSyn)-happyIn19 x = unsafeCoerce# x- -{-# INLINE happyIn19 #-}- -happyOut19 :: (HappyAbsSyn) -> (CBlockItem)-happyOut19 x = unsafeCoerce# x- -{-# INLINE happyOut19 #-}- -happyIn20 :: (CFunDef) -> (HappyAbsSyn)-happyIn20 x = unsafeCoerce# x- -{-# INLINE happyIn20 #-}- -happyOut20 :: (HappyAbsSyn) -> (CFunDef)-happyOut20 x = unsafeCoerce# x- -{-# INLINE happyOut20 #-}- -happyIn21 :: (Reversed [Ident]) -> (HappyAbsSyn)-happyIn21 x = unsafeCoerce# x- -{-# INLINE happyIn21 #-}- -happyOut21 :: (HappyAbsSyn) -> (Reversed [Ident])-happyOut21 x = unsafeCoerce# x- -{-# INLINE happyOut21 #-}- -happyIn22 :: (CStat) -> (HappyAbsSyn)-happyIn22 x = unsafeCoerce# x- -{-# INLINE happyIn22 #-}- -happyOut22 :: (HappyAbsSyn) -> (CStat)-happyOut22 x = unsafeCoerce# x- -{-# INLINE happyOut22 #-}- -happyIn23 :: (CStat) -> (HappyAbsSyn)-happyIn23 x = unsafeCoerce# x- -{-# INLINE happyIn23 #-}- -happyOut23 :: (HappyAbsSyn) -> (CStat)-happyOut23 x = unsafeCoerce# x- -{-# INLINE happyOut23 #-}- -happyIn24 :: (CStat) -> (HappyAbsSyn)-happyIn24 x = unsafeCoerce# x- -{-# INLINE happyIn24 #-}- -happyOut24 :: (HappyAbsSyn) -> (CStat)-happyOut24 x = unsafeCoerce# x- -{-# INLINE happyOut24 #-}- -happyIn25 :: (CStat) -> (HappyAbsSyn)-happyIn25 x = unsafeCoerce# x- -{-# INLINE happyIn25 #-}- -happyOut25 :: (HappyAbsSyn) -> (CStat)-happyOut25 x = unsafeCoerce# x- -{-# INLINE happyOut25 #-}- -happyIn26 :: (CAsmStmt) -> (HappyAbsSyn)-happyIn26 x = unsafeCoerce# x- -{-# INLINE happyIn26 #-}- -happyOut26 :: (HappyAbsSyn) -> (CAsmStmt)-happyOut26 x = unsafeCoerce# x- -{-# INLINE happyOut26 #-}- -happyIn27 :: (Maybe CTypeQual) -> (HappyAbsSyn)-happyIn27 x = unsafeCoerce# x- -{-# INLINE happyIn27 #-}- -happyOut27 :: (HappyAbsSyn) -> (Maybe CTypeQual)-happyOut27 x = unsafeCoerce# x- -{-# INLINE happyOut27 #-}- -happyIn28 :: ([CAsmOperand]) -> (HappyAbsSyn)-happyIn28 x = unsafeCoerce# x- -{-# INLINE happyIn28 #-}- -happyOut28 :: (HappyAbsSyn) -> ([CAsmOperand])-happyOut28 x = unsafeCoerce# x- -{-# INLINE happyOut28 #-}- -happyIn29 :: (Reversed [CAsmOperand]) -> (HappyAbsSyn)-happyIn29 x = unsafeCoerce# x- -{-# INLINE happyIn29 #-}- -happyOut29 :: (HappyAbsSyn) -> (Reversed [CAsmOperand])-happyOut29 x = unsafeCoerce# x- -{-# INLINE happyOut29 #-}- -happyIn30 :: (CAsmOperand) -> (HappyAbsSyn)-happyIn30 x = unsafeCoerce# x- -{-# INLINE happyIn30 #-}- -happyOut30 :: (HappyAbsSyn) -> (CAsmOperand)-happyOut30 x = unsafeCoerce# x- -{-# INLINE happyOut30 #-}- -happyIn31 :: (Reversed [CStrLit]) -> (HappyAbsSyn)-happyIn31 x = unsafeCoerce# x- -{-# INLINE happyIn31 #-}- -happyOut31 :: (HappyAbsSyn) -> (Reversed [CStrLit])-happyOut31 x = unsafeCoerce# x- -{-# INLINE happyOut31 #-}- -happyIn32 :: (CDecl) -> (HappyAbsSyn)-happyIn32 x = unsafeCoerce# x- -{-# INLINE happyIn32 #-}- -happyOut32 :: (HappyAbsSyn) -> (CDecl)-happyOut32 x = unsafeCoerce# x- -{-# INLINE happyOut32 #-}- -happyIn33 :: (Reversed [CDecl]) -> (HappyAbsSyn)-happyIn33 x = unsafeCoerce# x- -{-# INLINE happyIn33 #-}- -happyOut33 :: (HappyAbsSyn) -> (Reversed [CDecl])-happyOut33 x = unsafeCoerce# x- -{-# INLINE happyOut33 #-}- -happyIn34 :: (CDecl) -> (HappyAbsSyn)-happyIn34 x = unsafeCoerce# x- -{-# INLINE happyIn34 #-}- -happyOut34 :: (HappyAbsSyn) -> (CDecl)-happyOut34 x = unsafeCoerce# x- -{-# INLINE happyOut34 #-}- -happyIn35 :: ((Maybe CStrLit, [CAttr])) -> (HappyAbsSyn)-happyIn35 x = unsafeCoerce# x- -{-# INLINE happyIn35 #-}- -happyOut35 :: (HappyAbsSyn) -> ((Maybe CStrLit, [CAttr]))-happyOut35 x = unsafeCoerce# x- -{-# INLINE happyOut35 #-}- -happyIn36 :: (CDecl) -> (HappyAbsSyn)-happyIn36 x = unsafeCoerce# x- -{-# INLINE happyIn36 #-}- -happyOut36 :: (HappyAbsSyn) -> (CDecl)-happyOut36 x = unsafeCoerce# x- -{-# INLINE happyOut36 #-}- -happyIn37 :: ([CDeclSpec]) -> (HappyAbsSyn)-happyIn37 x = unsafeCoerce# x- -{-# INLINE happyIn37 #-}- -happyOut37 :: (HappyAbsSyn) -> ([CDeclSpec])-happyOut37 x = unsafeCoerce# x- -{-# INLINE happyOut37 #-}- -happyIn38 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn38 x = unsafeCoerce# x- -{-# INLINE happyIn38 #-}- -happyOut38 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut38 x = unsafeCoerce# x- -{-# INLINE happyOut38 #-}- -happyIn39 :: (CDeclSpec) -> (HappyAbsSyn)-happyIn39 x = unsafeCoerce# x- -{-# INLINE happyIn39 #-}- -happyOut39 :: (HappyAbsSyn) -> (CDeclSpec)-happyOut39 x = unsafeCoerce# x- -{-# INLINE happyOut39 #-}- -happyIn40 :: (CStorageSpec) -> (HappyAbsSyn)-happyIn40 x = unsafeCoerce# x- -{-# INLINE happyIn40 #-}- -happyOut40 :: (HappyAbsSyn) -> (CStorageSpec)-happyOut40 x = unsafeCoerce# x- -{-# INLINE happyOut40 #-}- -happyIn41 :: ([CDeclSpec]) -> (HappyAbsSyn)-happyIn41 x = unsafeCoerce# x- -{-# INLINE happyIn41 #-}- -happyOut41 :: (HappyAbsSyn) -> ([CDeclSpec])-happyOut41 x = unsafeCoerce# x- -{-# INLINE happyOut41 #-}- -happyIn42 :: (CTypeSpec) -> (HappyAbsSyn)-happyIn42 x = unsafeCoerce# x- -{-# INLINE happyIn42 #-}- -happyOut42 :: (HappyAbsSyn) -> (CTypeSpec)-happyOut42 x = unsafeCoerce# x- -{-# INLINE happyOut42 #-}- -happyIn43 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn43 x = unsafeCoerce# x- -{-# INLINE happyIn43 #-}- -happyOut43 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut43 x = unsafeCoerce# x- -{-# INLINE happyOut43 #-}- -happyIn44 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn44 x = unsafeCoerce# x- -{-# INLINE happyIn44 #-}- -happyOut44 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut44 x = unsafeCoerce# x- -{-# INLINE happyOut44 #-}- -happyIn45 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn45 x = unsafeCoerce# x- -{-# INLINE happyIn45 #-}- -happyOut45 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut45 x = unsafeCoerce# x- -{-# INLINE happyOut45 #-}- -happyIn46 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn46 x = unsafeCoerce# x- -{-# INLINE happyIn46 #-}- -happyOut46 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut46 x = unsafeCoerce# x- -{-# INLINE happyOut46 #-}- -happyIn47 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn47 x = unsafeCoerce# x- -{-# INLINE happyIn47 #-}- -happyOut47 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut47 x = unsafeCoerce# x- -{-# INLINE happyOut47 #-}- -happyIn48 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn48 x = unsafeCoerce# x- -{-# INLINE happyIn48 #-}- -happyOut48 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut48 x = unsafeCoerce# x- -{-# INLINE happyOut48 #-}- -happyIn49 :: (CTypeSpec) -> (HappyAbsSyn)-happyIn49 x = unsafeCoerce# x- -{-# INLINE happyIn49 #-}- -happyOut49 :: (HappyAbsSyn) -> (CTypeSpec)-happyOut49 x = unsafeCoerce# x- -{-# INLINE happyOut49 #-}- -happyIn50 :: (CStructUnion) -> (HappyAbsSyn)-happyIn50 x = unsafeCoerce# x- -{-# INLINE happyIn50 #-}- -happyOut50 :: (HappyAbsSyn) -> (CStructUnion)-happyOut50 x = unsafeCoerce# x- -{-# INLINE happyOut50 #-}- -happyIn51 :: (Located CStructTag) -> (HappyAbsSyn)-happyIn51 x = unsafeCoerce# x- -{-# INLINE happyIn51 #-}- -happyOut51 :: (HappyAbsSyn) -> (Located CStructTag)-happyOut51 x = unsafeCoerce# x- -{-# INLINE happyOut51 #-}- -happyIn52 :: (Reversed [CDecl]) -> (HappyAbsSyn)-happyIn52 x = unsafeCoerce# x- -{-# INLINE happyIn52 #-}- -happyOut52 :: (HappyAbsSyn) -> (Reversed [CDecl])-happyOut52 x = unsafeCoerce# x- -{-# INLINE happyOut52 #-}- -happyIn53 :: (CDecl) -> (HappyAbsSyn)-happyIn53 x = unsafeCoerce# x- -{-# INLINE happyIn53 #-}- -happyOut53 :: (HappyAbsSyn) -> (CDecl)-happyOut53 x = unsafeCoerce# x- -{-# INLINE happyOut53 #-}- -happyIn54 :: (CDecl) -> (HappyAbsSyn)-happyIn54 x = unsafeCoerce# x- -{-# INLINE happyIn54 #-}- -happyOut54 :: (HappyAbsSyn) -> (CDecl)-happyOut54 x = unsafeCoerce# x- -{-# INLINE happyOut54 #-}- -happyIn55 :: (CDecl) -> (HappyAbsSyn)-happyIn55 x = unsafeCoerce# x- -{-# INLINE happyIn55 #-}- -happyOut55 :: (HappyAbsSyn) -> (CDecl)-happyOut55 x = unsafeCoerce# x- -{-# INLINE happyOut55 #-}- -happyIn56 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn)-happyIn56 x = unsafeCoerce# x- -{-# INLINE happyIn56 #-}- -happyOut56 :: (HappyAbsSyn) -> ((Maybe CDeclr, Maybe CExpr))-happyOut56 x = unsafeCoerce# x- -{-# INLINE happyOut56 #-}- -happyIn57 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn)-happyIn57 x = unsafeCoerce# x- -{-# INLINE happyIn57 #-}- -happyOut57 :: (HappyAbsSyn) -> ((Maybe CDeclr, Maybe CExpr))-happyOut57 x = unsafeCoerce# x- -{-# INLINE happyOut57 #-}- -happyIn58 :: (CEnum) -> (HappyAbsSyn)-happyIn58 x = unsafeCoerce# x- -{-# INLINE happyIn58 #-}- -happyOut58 :: (HappyAbsSyn) -> (CEnum)-happyOut58 x = unsafeCoerce# x- -{-# INLINE happyOut58 #-}- -happyIn59 :: (Reversed [(Ident, Maybe CExpr)]) -> (HappyAbsSyn)-happyIn59 x = unsafeCoerce# x- -{-# INLINE happyIn59 #-}- -happyOut59 :: (HappyAbsSyn) -> (Reversed [(Ident, Maybe CExpr)])-happyOut59 x = unsafeCoerce# x- -{-# INLINE happyOut59 #-}- -happyIn60 :: ((Ident, Maybe CExpr)) -> (HappyAbsSyn)-happyIn60 x = unsafeCoerce# x- -{-# INLINE happyIn60 #-}- -happyOut60 :: (HappyAbsSyn) -> ((Ident, Maybe CExpr))-happyOut60 x = unsafeCoerce# x- -{-# INLINE happyOut60 #-}- -happyIn61 :: (CTypeQual) -> (HappyAbsSyn)-happyIn61 x = unsafeCoerce# x- -{-# INLINE happyIn61 #-}- -happyOut61 :: (HappyAbsSyn) -> (CTypeQual)-happyOut61 x = unsafeCoerce# x- -{-# INLINE happyOut61 #-}- -happyIn62 :: (Reversed [CTypeQual]) -> (HappyAbsSyn)-happyIn62 x = unsafeCoerce# x- -{-# INLINE happyIn62 #-}- -happyOut62 :: (HappyAbsSyn) -> (Reversed [CTypeQual])-happyOut62 x = unsafeCoerce# x- -{-# INLINE happyOut62 #-}- -happyIn63 :: (CDeclrR) -> (HappyAbsSyn)-happyIn63 x = unsafeCoerce# x- -{-# INLINE happyIn63 #-}- -happyOut63 :: (HappyAbsSyn) -> (CDeclrR)-happyOut63 x = unsafeCoerce# x- -{-# INLINE happyOut63 #-}- -happyIn64 :: (Maybe CStrLit) -> (HappyAbsSyn)-happyIn64 x = unsafeCoerce# x- -{-# INLINE happyIn64 #-}- -happyOut64 :: (HappyAbsSyn) -> (Maybe CStrLit)-happyOut64 x = unsafeCoerce# x- -{-# INLINE happyOut64 #-}- -happyIn65 :: (CDeclrR) -> (HappyAbsSyn)-happyIn65 x = unsafeCoerce# x- -{-# INLINE happyIn65 #-}- -happyOut65 :: (HappyAbsSyn) -> (CDeclrR)-happyOut65 x = unsafeCoerce# x- -{-# INLINE happyOut65 #-}- -happyIn66 :: (CDeclrR) -> (HappyAbsSyn)-happyIn66 x = unsafeCoerce# x- -{-# INLINE happyIn66 #-}- -happyOut66 :: (HappyAbsSyn) -> (CDeclrR)-happyOut66 x = unsafeCoerce# x- -{-# INLINE happyOut66 #-}- -happyIn67 :: (CDeclrR) -> (HappyAbsSyn)-happyIn67 x = unsafeCoerce# x- -{-# INLINE happyIn67 #-}- -happyOut67 :: (HappyAbsSyn) -> (CDeclrR)-happyOut67 x = unsafeCoerce# x- -{-# INLINE happyOut67 #-}- -happyIn68 :: (CDeclrR) -> (HappyAbsSyn)-happyIn68 x = unsafeCoerce# x- -{-# INLINE happyIn68 #-}- -happyOut68 :: (HappyAbsSyn) -> (CDeclrR)-happyOut68 x = unsafeCoerce# x- -{-# INLINE happyOut68 #-}- -happyIn69 :: (CDeclrR) -> (HappyAbsSyn)-happyIn69 x = unsafeCoerce# x- -{-# INLINE happyIn69 #-}- -happyOut69 :: (HappyAbsSyn) -> (CDeclrR)-happyOut69 x = unsafeCoerce# x- -{-# INLINE happyOut69 #-}- -happyIn70 :: (CDeclrR) -> (HappyAbsSyn)-happyIn70 x = unsafeCoerce# x- -{-# INLINE happyIn70 #-}- -happyOut70 :: (HappyAbsSyn) -> (CDeclrR)-happyOut70 x = unsafeCoerce# x- -{-# INLINE happyOut70 #-}- -happyIn71 :: (CDeclrR) -> (HappyAbsSyn)-happyIn71 x = unsafeCoerce# x- -{-# INLINE happyIn71 #-}- -happyOut71 :: (HappyAbsSyn) -> (CDeclrR)-happyOut71 x = unsafeCoerce# x- -{-# INLINE happyOut71 #-}- -happyIn72 :: (CDeclrR) -> (HappyAbsSyn)-happyIn72 x = unsafeCoerce# x- -{-# INLINE happyIn72 #-}- -happyOut72 :: (HappyAbsSyn) -> (CDeclrR)-happyOut72 x = unsafeCoerce# x- -{-# INLINE happyOut72 #-}- -happyIn73 :: (CDeclrR) -> (HappyAbsSyn)-happyIn73 x = unsafeCoerce# x- -{-# INLINE happyIn73 #-}- -happyOut73 :: (HappyAbsSyn) -> (CDeclrR)-happyOut73 x = unsafeCoerce# x- -{-# INLINE happyOut73 #-}- -happyIn74 :: (CDeclrR) -> (HappyAbsSyn)-happyIn74 x = unsafeCoerce# x- -{-# INLINE happyIn74 #-}- -happyOut74 :: (HappyAbsSyn) -> (CDeclrR)-happyOut74 x = unsafeCoerce# x- -{-# INLINE happyOut74 #-}- -happyIn75 :: (CDeclrR) -> (HappyAbsSyn)-happyIn75 x = unsafeCoerce# x- -{-# INLINE happyIn75 #-}- -happyOut75 :: (HappyAbsSyn) -> (CDeclrR)-happyOut75 x = unsafeCoerce# x- -{-# INLINE happyOut75 #-}- -happyIn76 :: (CDeclr) -> (HappyAbsSyn)-happyIn76 x = unsafeCoerce# x- -{-# INLINE happyIn76 #-}- -happyOut76 :: (HappyAbsSyn) -> (CDeclr)-happyOut76 x = unsafeCoerce# x- -{-# INLINE happyOut76 #-}- -happyIn77 :: (CDeclrR) -> (HappyAbsSyn)-happyIn77 x = unsafeCoerce# x- -{-# INLINE happyIn77 #-}- -happyOut77 :: (HappyAbsSyn) -> (CDeclrR)-happyOut77 x = unsafeCoerce# x- -{-# INLINE happyOut77 #-}- -happyIn78 :: (CDeclrR) -> (HappyAbsSyn)-happyIn78 x = unsafeCoerce# x- -{-# INLINE happyIn78 #-}- -happyOut78 :: (HappyAbsSyn) -> (CDeclrR)-happyOut78 x = unsafeCoerce# x- -{-# INLINE happyOut78 #-}- -happyIn79 :: (([CDecl], Bool)) -> (HappyAbsSyn)-happyIn79 x = unsafeCoerce# x- -{-# INLINE happyIn79 #-}- -happyOut79 :: (HappyAbsSyn) -> (([CDecl], Bool))-happyOut79 x = unsafeCoerce# x- -{-# INLINE happyOut79 #-}- -happyIn80 :: (Reversed [CDecl]) -> (HappyAbsSyn)-happyIn80 x = unsafeCoerce# x- -{-# INLINE happyIn80 #-}- -happyOut80 :: (HappyAbsSyn) -> (Reversed [CDecl])-happyOut80 x = unsafeCoerce# x- -{-# INLINE happyOut80 #-}- -happyIn81 :: (CDecl) -> (HappyAbsSyn)-happyIn81 x = unsafeCoerce# x- -{-# INLINE happyIn81 #-}- -happyOut81 :: (HappyAbsSyn) -> (CDecl)-happyOut81 x = unsafeCoerce# x- -{-# INLINE happyOut81 #-}- -happyIn82 :: (Reversed [Ident]) -> (HappyAbsSyn)-happyIn82 x = unsafeCoerce# x- -{-# INLINE happyIn82 #-}- -happyOut82 :: (HappyAbsSyn) -> (Reversed [Ident])-happyOut82 x = unsafeCoerce# x- -{-# INLINE happyOut82 #-}- -happyIn83 :: (CDecl) -> (HappyAbsSyn)-happyIn83 x = unsafeCoerce# x- -{-# INLINE happyIn83 #-}- -happyOut83 :: (HappyAbsSyn) -> (CDecl)-happyOut83 x = unsafeCoerce# x- -{-# INLINE happyOut83 #-}- -happyIn84 :: (CDeclrR) -> (HappyAbsSyn)-happyIn84 x = unsafeCoerce# x- -{-# INLINE happyIn84 #-}- -happyOut84 :: (HappyAbsSyn) -> (CDeclrR)-happyOut84 x = unsafeCoerce# x- -{-# INLINE happyOut84 #-}- -happyIn85 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)-happyIn85 x = unsafeCoerce# x- -{-# INLINE happyIn85 #-}- -happyOut85 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)-happyOut85 x = unsafeCoerce# x- -{-# INLINE happyOut85 #-}- -happyIn86 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)-happyIn86 x = unsafeCoerce# x- -{-# INLINE happyIn86 #-}- -happyOut86 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)-happyOut86 x = unsafeCoerce# x- -{-# INLINE happyOut86 #-}- -happyIn87 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)-happyIn87 x = unsafeCoerce# x- -{-# INLINE happyIn87 #-}- -happyOut87 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)-happyOut87 x = unsafeCoerce# x- -{-# INLINE happyOut87 #-}- -happyIn88 :: (CDeclrR) -> (HappyAbsSyn)-happyIn88 x = unsafeCoerce# x- -{-# INLINE happyIn88 #-}- -happyOut88 :: (HappyAbsSyn) -> (CDeclrR)-happyOut88 x = unsafeCoerce# x- -{-# INLINE happyOut88 #-}- -happyIn89 :: (CDeclrR) -> (HappyAbsSyn)-happyIn89 x = unsafeCoerce# x- -{-# INLINE happyIn89 #-}- -happyOut89 :: (HappyAbsSyn) -> (CDeclrR)-happyOut89 x = unsafeCoerce# x- -{-# INLINE happyOut89 #-}- -happyIn90 :: (CInit) -> (HappyAbsSyn)-happyIn90 x = unsafeCoerce# x- -{-# INLINE happyIn90 #-}- -happyOut90 :: (HappyAbsSyn) -> (CInit)-happyOut90 x = unsafeCoerce# x- -{-# INLINE happyOut90 #-}- -happyIn91 :: (Maybe CInit) -> (HappyAbsSyn)-happyIn91 x = unsafeCoerce# x- -{-# INLINE happyIn91 #-}- -happyOut91 :: (HappyAbsSyn) -> (Maybe CInit)-happyOut91 x = unsafeCoerce# x- -{-# INLINE happyOut91 #-}- -happyIn92 :: (Reversed CInitList) -> (HappyAbsSyn)-happyIn92 x = unsafeCoerce# x- -{-# INLINE happyIn92 #-}- -happyOut92 :: (HappyAbsSyn) -> (Reversed CInitList)-happyOut92 x = unsafeCoerce# x- -{-# INLINE happyOut92 #-}- -happyIn93 :: ([CDesignator]) -> (HappyAbsSyn)-happyIn93 x = unsafeCoerce# x- -{-# INLINE happyIn93 #-}- -happyOut93 :: (HappyAbsSyn) -> ([CDesignator])-happyOut93 x = unsafeCoerce# x- -{-# INLINE happyOut93 #-}- -happyIn94 :: (Reversed [CDesignator]) -> (HappyAbsSyn)-happyIn94 x = unsafeCoerce# x- -{-# INLINE happyIn94 #-}- -happyOut94 :: (HappyAbsSyn) -> (Reversed [CDesignator])-happyOut94 x = unsafeCoerce# x- -{-# INLINE happyOut94 #-}- -happyIn95 :: (CDesignator) -> (HappyAbsSyn)-happyIn95 x = unsafeCoerce# x- -{-# INLINE happyIn95 #-}- -happyOut95 :: (HappyAbsSyn) -> (CDesignator)-happyOut95 x = unsafeCoerce# x- -{-# INLINE happyOut95 #-}- -happyIn96 :: (CDesignator) -> (HappyAbsSyn)-happyIn96 x = unsafeCoerce# x- -{-# INLINE happyIn96 #-}- -happyOut96 :: (HappyAbsSyn) -> (CDesignator)-happyOut96 x = unsafeCoerce# x- -{-# INLINE happyOut96 #-}- -happyIn97 :: (CExpr) -> (HappyAbsSyn)-happyIn97 x = unsafeCoerce# x- -{-# INLINE happyIn97 #-}- -happyOut97 :: (HappyAbsSyn) -> (CExpr)-happyOut97 x = unsafeCoerce# x- -{-# INLINE happyOut97 #-}- -happyIn98 :: (Reversed [CDesignator]) -> (HappyAbsSyn)-happyIn98 x = unsafeCoerce# x- -{-# INLINE happyIn98 #-}- -happyOut98 :: (HappyAbsSyn) -> (Reversed [CDesignator])-happyOut98 x = unsafeCoerce# x- -{-# INLINE happyOut98 #-}- -happyIn99 :: (CExpr) -> (HappyAbsSyn)-happyIn99 x = unsafeCoerce# x- -{-# INLINE happyIn99 #-}- -happyOut99 :: (HappyAbsSyn) -> (CExpr)-happyOut99 x = unsafeCoerce# x- -{-# INLINE happyOut99 #-}- -happyIn100 :: (Reversed [CExpr]) -> (HappyAbsSyn)-happyIn100 x = unsafeCoerce# x- -{-# INLINE happyIn100 #-}- -happyOut100 :: (HappyAbsSyn) -> (Reversed [CExpr])-happyOut100 x = unsafeCoerce# x- -{-# INLINE happyOut100 #-}- -happyIn101 :: (CExpr) -> (HappyAbsSyn)-happyIn101 x = unsafeCoerce# x- -{-# INLINE happyIn101 #-}- -happyOut101 :: (HappyAbsSyn) -> (CExpr)-happyOut101 x = unsafeCoerce# x- -{-# INLINE happyOut101 #-}- -happyIn102 :: (Located CUnaryOp) -> (HappyAbsSyn)-happyIn102 x = unsafeCoerce# x- -{-# INLINE happyIn102 #-}- -happyOut102 :: (HappyAbsSyn) -> (Located CUnaryOp)-happyOut102 x = unsafeCoerce# x- -{-# INLINE happyOut102 #-}- -happyIn103 :: (CExpr) -> (HappyAbsSyn)-happyIn103 x = unsafeCoerce# x- -{-# INLINE happyIn103 #-}- -happyOut103 :: (HappyAbsSyn) -> (CExpr)-happyOut103 x = unsafeCoerce# x- -{-# INLINE happyOut103 #-}- -happyIn104 :: (CExpr) -> (HappyAbsSyn)-happyIn104 x = unsafeCoerce# x- -{-# INLINE happyIn104 #-}- -happyOut104 :: (HappyAbsSyn) -> (CExpr)-happyOut104 x = unsafeCoerce# x- -{-# INLINE happyOut104 #-}- -happyIn105 :: (CExpr) -> (HappyAbsSyn)-happyIn105 x = unsafeCoerce# x- -{-# INLINE happyIn105 #-}- -happyOut105 :: (HappyAbsSyn) -> (CExpr)-happyOut105 x = unsafeCoerce# x- -{-# INLINE happyOut105 #-}- -happyIn106 :: (CExpr) -> (HappyAbsSyn)-happyIn106 x = unsafeCoerce# x- -{-# INLINE happyIn106 #-}- -happyOut106 :: (HappyAbsSyn) -> (CExpr)-happyOut106 x = unsafeCoerce# x- -{-# INLINE happyOut106 #-}- -happyIn107 :: (CExpr) -> (HappyAbsSyn)-happyIn107 x = unsafeCoerce# x- -{-# INLINE happyIn107 #-}- -happyOut107 :: (HappyAbsSyn) -> (CExpr)-happyOut107 x = unsafeCoerce# x- -{-# INLINE happyOut107 #-}- -happyIn108 :: (CExpr) -> (HappyAbsSyn)-happyIn108 x = unsafeCoerce# x- -{-# INLINE happyIn108 #-}- -happyOut108 :: (HappyAbsSyn) -> (CExpr)-happyOut108 x = unsafeCoerce# x- -{-# INLINE happyOut108 #-}- -happyIn109 :: (CExpr) -> (HappyAbsSyn)-happyIn109 x = unsafeCoerce# x- -{-# INLINE happyIn109 #-}- -happyOut109 :: (HappyAbsSyn) -> (CExpr)-happyOut109 x = unsafeCoerce# x- -{-# INLINE happyOut109 #-}- -happyIn110 :: (CExpr) -> (HappyAbsSyn)-happyIn110 x = unsafeCoerce# x- -{-# INLINE happyIn110 #-}- -happyOut110 :: (HappyAbsSyn) -> (CExpr)-happyOut110 x = unsafeCoerce# x- -{-# INLINE happyOut110 #-}- -happyIn111 :: (CExpr) -> (HappyAbsSyn)-happyIn111 x = unsafeCoerce# x- -{-# INLINE happyIn111 #-}- -happyOut111 :: (HappyAbsSyn) -> (CExpr)-happyOut111 x = unsafeCoerce# x- -{-# INLINE happyOut111 #-}- -happyIn112 :: (CExpr) -> (HappyAbsSyn)-happyIn112 x = unsafeCoerce# x- -{-# INLINE happyIn112 #-}- -happyOut112 :: (HappyAbsSyn) -> (CExpr)-happyOut112 x = unsafeCoerce# x- -{-# INLINE happyOut112 #-}- -happyIn113 :: (CExpr) -> (HappyAbsSyn)-happyIn113 x = unsafeCoerce# x- -{-# INLINE happyIn113 #-}- -happyOut113 :: (HappyAbsSyn) -> (CExpr)-happyOut113 x = unsafeCoerce# x- -{-# INLINE happyOut113 #-}- -happyIn114 :: (CExpr) -> (HappyAbsSyn)-happyIn114 x = unsafeCoerce# x- -{-# INLINE happyIn114 #-}- -happyOut114 :: (HappyAbsSyn) -> (CExpr)-happyOut114 x = unsafeCoerce# x- -{-# INLINE happyOut114 #-}- -happyIn115 :: (CExpr) -> (HappyAbsSyn)-happyIn115 x = unsafeCoerce# x- -{-# INLINE happyIn115 #-}- -happyOut115 :: (HappyAbsSyn) -> (CExpr)-happyOut115 x = unsafeCoerce# x- -{-# INLINE happyOut115 #-}- -happyIn116 :: (Located CAssignOp) -> (HappyAbsSyn)-happyIn116 x = unsafeCoerce# x- -{-# INLINE happyIn116 #-}- -happyOut116 :: (HappyAbsSyn) -> (Located CAssignOp)-happyOut116 x = unsafeCoerce# x- -{-# INLINE happyOut116 #-}- -happyIn117 :: (CExpr) -> (HappyAbsSyn)-happyIn117 x = unsafeCoerce# x- -{-# INLINE happyIn117 #-}- -happyOut117 :: (HappyAbsSyn) -> (CExpr)-happyOut117 x = unsafeCoerce# x- -{-# INLINE happyOut117 #-}- -happyIn118 :: (Reversed [CExpr]) -> (HappyAbsSyn)-happyIn118 x = unsafeCoerce# x- -{-# INLINE happyIn118 #-}- -happyOut118 :: (HappyAbsSyn) -> (Reversed [CExpr])-happyOut118 x = unsafeCoerce# x- -{-# INLINE happyOut118 #-}- -happyIn119 :: (Maybe CExpr) -> (HappyAbsSyn)-happyIn119 x = unsafeCoerce# x- -{-# INLINE happyIn119 #-}- -happyOut119 :: (HappyAbsSyn) -> (Maybe CExpr)-happyOut119 x = unsafeCoerce# x- -{-# INLINE happyOut119 #-}- -happyIn120 :: (Maybe CExpr) -> (HappyAbsSyn)-happyIn120 x = unsafeCoerce# x- -{-# INLINE happyIn120 #-}- -happyOut120 :: (HappyAbsSyn) -> (Maybe CExpr)-happyOut120 x = unsafeCoerce# x- -{-# INLINE happyOut120 #-}- -happyIn121 :: (CExpr) -> (HappyAbsSyn)-happyIn121 x = unsafeCoerce# x- -{-# INLINE happyIn121 #-}- -happyOut121 :: (HappyAbsSyn) -> (CExpr)-happyOut121 x = unsafeCoerce# x- -{-# INLINE happyOut121 #-}- -happyIn122 :: (CConst) -> (HappyAbsSyn)-happyIn122 x = unsafeCoerce# x- -{-# INLINE happyIn122 #-}- -happyOut122 :: (HappyAbsSyn) -> (CConst)-happyOut122 x = unsafeCoerce# x- -{-# INLINE happyOut122 #-}- -happyIn123 :: (CStrLit) -> (HappyAbsSyn)-happyIn123 x = unsafeCoerce# x- -{-# INLINE happyIn123 #-}- -happyOut123 :: (HappyAbsSyn) -> (CStrLit)-happyOut123 x = unsafeCoerce# x- -{-# INLINE happyOut123 #-}- -happyIn124 :: (Reversed [CString]) -> (HappyAbsSyn)-happyIn124 x = unsafeCoerce# x- -{-# INLINE happyIn124 #-}- -happyOut124 :: (HappyAbsSyn) -> (Reversed [CString])-happyOut124 x = unsafeCoerce# x- -{-# INLINE happyOut124 #-}- -happyIn125 :: (Ident) -> (HappyAbsSyn)-happyIn125 x = unsafeCoerce# x- -{-# INLINE happyIn125 #-}- -happyOut125 :: (HappyAbsSyn) -> (Ident)-happyOut125 x = unsafeCoerce# x- -{-# INLINE happyOut125 #-}- -happyIn126 :: ([CAttr]) -> (HappyAbsSyn)-happyIn126 x = unsafeCoerce# x- -{-# INLINE happyIn126 #-}- -happyOut126 :: (HappyAbsSyn) -> ([CAttr])-happyOut126 x = unsafeCoerce# x- -{-# INLINE happyOut126 #-}- -happyIn127 :: ([CAttr]) -> (HappyAbsSyn)-happyIn127 x = unsafeCoerce# x- -{-# INLINE happyIn127 #-}- -happyOut127 :: (HappyAbsSyn) -> ([CAttr])-happyOut127 x = unsafeCoerce# x- -{-# INLINE happyOut127 #-}- -happyIn128 :: ([CAttr]) -> (HappyAbsSyn)-happyIn128 x = unsafeCoerce# x- -{-# INLINE happyIn128 #-}- -happyOut128 :: (HappyAbsSyn) -> ([CAttr])-happyOut128 x = unsafeCoerce# x- -{-# INLINE happyOut128 #-}- -happyIn129 :: (Reversed [CAttr]) -> (HappyAbsSyn)-happyIn129 x = unsafeCoerce# x- -{-# INLINE happyIn129 #-}- -happyOut129 :: (HappyAbsSyn) -> (Reversed [CAttr])-happyOut129 x = unsafeCoerce# x- -{-# INLINE happyOut129 #-}- -happyIn130 :: (Maybe CAttr) -> (HappyAbsSyn)-happyIn130 x = unsafeCoerce# x- -{-# INLINE happyIn130 #-}- -happyOut130 :: (HappyAbsSyn) -> (Maybe CAttr)-happyOut130 x = unsafeCoerce# x- -{-# INLINE happyOut130 #-}- -happyIn131 :: (Reversed [CExpr]) -> (HappyAbsSyn)-happyIn131 x = unsafeCoerce# x- -{-# INLINE happyIn131 #-}- -happyOut131 :: (HappyAbsSyn) -> (Reversed [CExpr])-happyOut131 x = unsafeCoerce# x- -{-# INLINE happyOut131 #-}- -happyInTok :: CToken -> (HappyAbsSyn)-happyInTok x = unsafeCoerce# x- -{-# INLINE happyInTok #-}- -happyOutTok :: (HappyAbsSyn) -> CToken-happyOutTok x = unsafeCoerce# x- -{-# INLINE happyOutTok #-}- -happyActOffsets :: HappyAddr-happyActOffsets- = HappyA#- "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#- -happyGotoOffsets :: HappyAddr-happyGotoOffsets- = HappyA#- "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#- -happyDefActions :: HappyAddr-happyDefActions- = HappyA#- "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255"#- -happyCheck :: HappyAddr-happyCheck- = HappyA#- "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255"#- -happyTable :: HappyAddr-happyTable- = HappyA#- "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#-happyReduceArr- = array (4, 463)- [(4, happyReduce_4), (5, happyReduce_5), (6, happyReduce_6),- (7, happyReduce_7), (8, happyReduce_8), (9, happyReduce_9),- (10, happyReduce_10), (11, happyReduce_11), (12, happyReduce_12),- (13, happyReduce_13), (14, happyReduce_14), (15, happyReduce_15),- (16, happyReduce_16), (17, happyReduce_17), (18, happyReduce_18),- (19, happyReduce_19), (20, happyReduce_20), (21, happyReduce_21),- (22, happyReduce_22), (23, happyReduce_23), (24, happyReduce_24),- (25, happyReduce_25), (26, happyReduce_26), (27, happyReduce_27),- (28, happyReduce_28), (29, happyReduce_29), (30, happyReduce_30),- (31, happyReduce_31), (32, happyReduce_32), (33, happyReduce_33),- (34, happyReduce_34), (35, happyReduce_35), (36, happyReduce_36),- (37, happyReduce_37), (38, happyReduce_38), (39, happyReduce_39),- (40, happyReduce_40), (41, happyReduce_41), (42, happyReduce_42),- (43, happyReduce_43), (44, happyReduce_44), (45, happyReduce_45),- (46, happyReduce_46), (47, happyReduce_47), (48, happyReduce_48),- (49, happyReduce_49), (50, happyReduce_50), (51, happyReduce_51),- (52, happyReduce_52), (53, happyReduce_53), (54, happyReduce_54),- (55, happyReduce_55), (56, happyReduce_56), (57, happyReduce_57),- (58, happyReduce_58), (59, happyReduce_59), (60, happyReduce_60),- (61, happyReduce_61), (62, happyReduce_62), (63, happyReduce_63),- (64, happyReduce_64), (65, happyReduce_65), (66, happyReduce_66),- (67, happyReduce_67), (68, happyReduce_68), (69, happyReduce_69),- (70, happyReduce_70), (71, happyReduce_71), (72, happyReduce_72),- (73, happyReduce_73), (74, happyReduce_74), (75, happyReduce_75),- (76, happyReduce_76), (77, happyReduce_77), (78, happyReduce_78),- (79, happyReduce_79), (80, happyReduce_80), (81, happyReduce_81),- (82, happyReduce_82), (83, happyReduce_83), (84, happyReduce_84),- (85, happyReduce_85), (86, happyReduce_86), (87, happyReduce_87),- (88, happyReduce_88), (89, happyReduce_89), (90, happyReduce_90),- (91, happyReduce_91), (92, happyReduce_92), (93, happyReduce_93),- (94, happyReduce_94), (95, happyReduce_95), (96, happyReduce_96),- (97, happyReduce_97), (98, happyReduce_98), (99, happyReduce_99),- (100, happyReduce_100), (101, happyReduce_101),- (102, happyReduce_102), (103, happyReduce_103),- (104, happyReduce_104), (105, happyReduce_105),- (106, happyReduce_106), (107, happyReduce_107),- (108, happyReduce_108), (109, happyReduce_109),- (110, happyReduce_110), (111, happyReduce_111),- (112, happyReduce_112), (113, happyReduce_113),- (114, happyReduce_114), (115, happyReduce_115),- (116, happyReduce_116), (117, happyReduce_117),- (118, happyReduce_118), (119, happyReduce_119),- (120, happyReduce_120), (121, happyReduce_121),- (122, happyReduce_122), (123, happyReduce_123),- (124, happyReduce_124), (125, happyReduce_125),- (126, happyReduce_126), (127, happyReduce_127),- (128, happyReduce_128), (129, happyReduce_129),- (130, happyReduce_130), (131, happyReduce_131),- (132, happyReduce_132), (133, happyReduce_133),- (134, happyReduce_134), (135, happyReduce_135),- (136, happyReduce_136), (137, happyReduce_137),- (138, happyReduce_138), (139, happyReduce_139),- (140, happyReduce_140), (141, happyReduce_141),- (142, happyReduce_142), (143, happyReduce_143),- (144, happyReduce_144), (145, happyReduce_145),- (146, happyReduce_146), (147, happyReduce_147),- (148, happyReduce_148), (149, happyReduce_149),- (150, happyReduce_150), (151, happyReduce_151),- (152, happyReduce_152), (153, happyReduce_153),- (154, happyReduce_154), (155, happyReduce_155),- (156, happyReduce_156), (157, happyReduce_157),- (158, happyReduce_158), (159, happyReduce_159),- (160, happyReduce_160), (161, happyReduce_161),- (162, happyReduce_162), (163, happyReduce_163),- (164, happyReduce_164), (165, happyReduce_165),- (166, happyReduce_166), (167, happyReduce_167),- (168, happyReduce_168), (169, happyReduce_169),- (170, happyReduce_170), (171, happyReduce_171),- (172, happyReduce_172), (173, happyReduce_173),- (174, happyReduce_174), (175, happyReduce_175),- (176, happyReduce_176), (177, happyReduce_177),- (178, happyReduce_178), (179, happyReduce_179),- (180, happyReduce_180), (181, happyReduce_181),- (182, happyReduce_182), (183, happyReduce_183),- (184, happyReduce_184), (185, happyReduce_185),- (186, happyReduce_186), (187, happyReduce_187),- (188, happyReduce_188), (189, happyReduce_189),- (190, happyReduce_190), (191, happyReduce_191),- (192, happyReduce_192), (193, happyReduce_193),- (194, happyReduce_194), (195, happyReduce_195),- (196, happyReduce_196), (197, happyReduce_197),- (198, happyReduce_198), (199, happyReduce_199),- (200, happyReduce_200), (201, happyReduce_201),- (202, happyReduce_202), (203, happyReduce_203),- (204, happyReduce_204), (205, happyReduce_205),- (206, happyReduce_206), (207, happyReduce_207),- (208, happyReduce_208), (209, happyReduce_209),- (210, happyReduce_210), (211, happyReduce_211),- (212, happyReduce_212), (213, happyReduce_213),- (214, happyReduce_214), (215, happyReduce_215),- (216, happyReduce_216), (217, happyReduce_217),- (218, happyReduce_218), (219, happyReduce_219),- (220, happyReduce_220), (221, happyReduce_221),- (222, happyReduce_222), (223, happyReduce_223),- (224, happyReduce_224), (225, happyReduce_225),- (226, happyReduce_226), (227, happyReduce_227),- (228, happyReduce_228), (229, happyReduce_229),- (230, happyReduce_230), (231, happyReduce_231),- (232, happyReduce_232), (233, happyReduce_233),- (234, happyReduce_234), (235, happyReduce_235),- (236, happyReduce_236), (237, happyReduce_237),- (238, happyReduce_238), (239, happyReduce_239),- (240, happyReduce_240), (241, happyReduce_241),- (242, happyReduce_242), (243, happyReduce_243),- (244, happyReduce_244), (245, happyReduce_245),- (246, happyReduce_246), (247, happyReduce_247),- (248, happyReduce_248), (249, happyReduce_249),- (250, happyReduce_250), (251, happyReduce_251),- (252, happyReduce_252), (253, happyReduce_253),- (254, happyReduce_254), (255, happyReduce_255),- (256, happyReduce_256), (257, happyReduce_257),- (258, happyReduce_258), (259, happyReduce_259),- (260, happyReduce_260), (261, happyReduce_261),- (262, happyReduce_262), (263, happyReduce_263),- (264, happyReduce_264), (265, happyReduce_265),- (266, happyReduce_266), (267, happyReduce_267),- (268, happyReduce_268), (269, happyReduce_269),- (270, happyReduce_270), (271, happyReduce_271),- (272, happyReduce_272), (273, happyReduce_273),- (274, happyReduce_274), (275, happyReduce_275),- (276, happyReduce_276), (277, happyReduce_277),- (278, happyReduce_278), (279, happyReduce_279),- (280, happyReduce_280), (281, happyReduce_281),- (282, happyReduce_282), (283, happyReduce_283),- (284, happyReduce_284), (285, happyReduce_285),- (286, happyReduce_286), (287, happyReduce_287),- (288, happyReduce_288), (289, happyReduce_289),- (290, happyReduce_290), (291, happyReduce_291),- (292, happyReduce_292), (293, happyReduce_293),- (294, happyReduce_294), (295, happyReduce_295),- (296, happyReduce_296), (297, happyReduce_297),- (298, happyReduce_298), (299, happyReduce_299),- (300, happyReduce_300), (301, happyReduce_301),- (302, happyReduce_302), (303, happyReduce_303),- (304, happyReduce_304), (305, happyReduce_305),- (306, happyReduce_306), (307, happyReduce_307),- (308, happyReduce_308), (309, happyReduce_309),- (310, happyReduce_310), (311, happyReduce_311),- (312, happyReduce_312), (313, happyReduce_313),- (314, happyReduce_314), (315, happyReduce_315),- (316, happyReduce_316), (317, happyReduce_317),- (318, happyReduce_318), (319, happyReduce_319),- (320, happyReduce_320), (321, happyReduce_321),- (322, happyReduce_322), (323, happyReduce_323),- (324, happyReduce_324), (325, happyReduce_325),- (326, happyReduce_326), (327, happyReduce_327),- (328, happyReduce_328), (329, happyReduce_329),- (330, happyReduce_330), (331, happyReduce_331),- (332, happyReduce_332), (333, happyReduce_333),- (334, happyReduce_334), (335, happyReduce_335),- (336, happyReduce_336), (337, happyReduce_337),- (338, happyReduce_338), (339, happyReduce_339),- (340, happyReduce_340), (341, happyReduce_341),- (342, happyReduce_342), (343, happyReduce_343),- (344, happyReduce_344), (345, happyReduce_345),- (346, happyReduce_346), (347, happyReduce_347),- (348, happyReduce_348), (349, happyReduce_349),- (350, happyReduce_350), (351, happyReduce_351),- (352, happyReduce_352), (353, happyReduce_353),- (354, happyReduce_354), (355, happyReduce_355),- (356, happyReduce_356), (357, happyReduce_357),- (358, happyReduce_358), (359, happyReduce_359),- (360, happyReduce_360), (361, happyReduce_361),- (362, happyReduce_362), (363, happyReduce_363),- (364, happyReduce_364), (365, happyReduce_365),- (366, happyReduce_366), (367, happyReduce_367),- (368, happyReduce_368), (369, happyReduce_369),- (370, happyReduce_370), (371, happyReduce_371),- (372, happyReduce_372), (373, happyReduce_373),- (374, happyReduce_374), (375, happyReduce_375),- (376, happyReduce_376), (377, happyReduce_377),- (378, happyReduce_378), (379, happyReduce_379),- (380, happyReduce_380), (381, happyReduce_381),- (382, happyReduce_382), (383, happyReduce_383),- (384, happyReduce_384), (385, happyReduce_385),- (386, happyReduce_386), (387, happyReduce_387),- (388, happyReduce_388), (389, happyReduce_389),- (390, happyReduce_390), (391, happyReduce_391),- (392, happyReduce_392), (393, happyReduce_393),- (394, happyReduce_394), (395, happyReduce_395),- (396, happyReduce_396), (397, happyReduce_397),- (398, happyReduce_398), (399, happyReduce_399),- (400, happyReduce_400), (401, happyReduce_401),- (402, happyReduce_402), (403, happyReduce_403),- (404, happyReduce_404), (405, happyReduce_405),- (406, happyReduce_406), (407, happyReduce_407),- (408, happyReduce_408), (409, happyReduce_409),- (410, happyReduce_410), (411, happyReduce_411),- (412, happyReduce_412), (413, happyReduce_413),- (414, happyReduce_414), (415, happyReduce_415),- (416, happyReduce_416), (417, happyReduce_417),- (418, happyReduce_418), (419, happyReduce_419),- (420, happyReduce_420), (421, happyReduce_421),- (422, happyReduce_422), (423, happyReduce_423),- (424, happyReduce_424), (425, happyReduce_425),- (426, happyReduce_426), (427, happyReduce_427),- (428, happyReduce_428), (429, happyReduce_429),- (430, happyReduce_430), (431, happyReduce_431),- (432, happyReduce_432), (433, happyReduce_433),- (434, happyReduce_434), (435, happyReduce_435),- (436, happyReduce_436), (437, happyReduce_437),- (438, happyReduce_438), (439, happyReduce_439),- (440, happyReduce_440), (441, happyReduce_441),- (442, happyReduce_442), (443, happyReduce_443),- (444, happyReduce_444), (445, happyReduce_445),- (446, happyReduce_446), (447, happyReduce_447),- (448, happyReduce_448), (449, happyReduce_449),- (450, happyReduce_450), (451, happyReduce_451),- (452, happyReduce_452), (453, happyReduce_453),- (454, happyReduce_454), (455, happyReduce_455),- (456, happyReduce_456), (457, happyReduce_457),- (458, happyReduce_458), (459, happyReduce_459),- (460, happyReduce_460), (461, happyReduce_461),- (462, happyReduce_462), (463, happyReduce_463)]-happy_n_terms = 102 :: Int-happy_n_nonterms = 125 :: Int-happyReduce_4 = happyMonadReduce 1# 0# happyReduction_4-happyReduction_4 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut8 happy_x_1 of- happy_var_1 -> (let decls = reverse happy_var_1 in- case decls of- [] -> do n <- getNewName- p <- getCurrentPosition- return $ CTranslUnit decls (mkNodeInfo' p (p, 0) n)- (d : ds) -> withNodeInfo d $ CTranslUnit decls))- (\ r -> happyReturn (happyIn7 r))-happyReduce_5 = happySpecReduce_0 1# happyReduction_5-happyReduction_5 = happyIn8 (empty)-happyReduce_6 = happySpecReduce_2 1# happyReduction_6-happyReduction_6 happy_x_2 happy_x_1- = case happyOut8 happy_x_1 of- happy_var_1 -> happyIn8 (happy_var_1)-happyReduce_7 = happySpecReduce_2 1# happyReduction_7-happyReduction_7 happy_x_2 happy_x_1- = case happyOut8 happy_x_1 of- happy_var_1 -> case happyOut9 happy_x_2 of- happy_var_2 -> happyIn8 (happy_var_1 `snoc` happy_var_2)-happyReduce_8 = happySpecReduce_1 2# happyReduction_8-happyReduction_8 happy_x_1- = case happyOut10 happy_x_1 of- happy_var_1 -> happyIn9 (CFDefExt happy_var_1)-happyReduce_9 = happySpecReduce_1 2# happyReduction_9-happyReduction_9 happy_x_1- = case happyOut32 happy_x_1 of- happy_var_1 -> happyIn9 (CDeclExt happy_var_1)-happyReduce_10 = happySpecReduce_2 2# happyReduction_10-happyReduction_10 happy_x_2 happy_x_1- = case happyOut9 happy_x_2 of- happy_var_2 -> happyIn9 (happy_var_2)-happyReduce_11 = happyMonadReduce 5# 2# happyReduction_11-happyReduction_11- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut123 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $ CAsmExt happy_var_3))- (\ r -> happyReturn (happyIn9 r))-happyReduce_12 = happyMonadReduce 2# 3# happyReduction_12-happyReduction_12- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut11 happy_x_1 of- happy_var_1 -> case happyOut14 happy_x_2 of- happy_var_2 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef [] happy_var_1 [] happy_var_2)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_13 = happyMonadReduce 3# 3# happyReduction_13-happyReduction_13- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef- (liftCAttrs happy_var_1)- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_14 = happyMonadReduce 3# 3# happyReduction_14-happyReduction_14- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef happy_var_1- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_15 = happyMonadReduce 3# 3# happyReduction_15-happyReduction_15- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef happy_var_1- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_16 = happyMonadReduce 3# 3# happyReduction_16-happyReduction_16- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef (reverse happy_var_1)- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_17 = happyMonadReduce 3# 3# happyReduction_17-happyReduction_17- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef- (liftTypeQuals happy_var_1)- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_18 = happyMonadReduce 4# 3# happyReduction_18-happyReduction_18- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut11 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (leaveScope >>- (withNodeInfo- happy_var_1- $- CFunDef- (liftTypeQuals- happy_var_1- ++- liftCAttrs- happy_var_2)- happy_var_3- []- happy_var_4)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_19 = happyMonadReduce 3# 3# happyReduction_19-happyReduction_19- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut76 happy_x_1 of- happy_var_1 -> case happyOut33 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CFunDef [] happy_var_1- (reverse happy_var_2)- happy_var_3))- (\ r -> happyReturn (happyIn10 r))-happyReduce_20 = happyMonadReduce 4# 3# happyReduction_20-happyReduction_20- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut76 happy_x_2 of- happy_var_2 -> case happyOut33 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (withNodeInfo- happy_var_2- $- CFunDef- (liftCAttrs- happy_var_1)- happy_var_2- (reverse- happy_var_3)- happy_var_4))- (\ r -> happyReturn (happyIn10 r))-happyReduce_21 = happyMonadReduce 4# 3# happyReduction_21-happyReduction_21- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut76 happy_x_2 of- happy_var_2 -> case happyOut33 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (withNodeInfo- happy_var_1- $- CFunDef- happy_var_1- happy_var_2- (reverse- happy_var_3)- happy_var_4))- (\ r -> happyReturn (happyIn10 r))-happyReduce_22 = happyMonadReduce 4# 3# happyReduction_22-happyReduction_22- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut76 happy_x_2 of- happy_var_2 -> case happyOut33 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (withNodeInfo- happy_var_1- $- CFunDef- happy_var_1- happy_var_2- (reverse- happy_var_3)- happy_var_4))- (\ r -> happyReturn (happyIn10 r))-happyReduce_23 = happyMonadReduce 4# 3# happyReduction_23-happyReduction_23- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut76 happy_x_2 of- happy_var_2 -> case happyOut33 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (withNodeInfo- happy_var_1- $- CFunDef- (reverse- happy_var_1)- happy_var_2- (reverse- happy_var_3)- happy_var_4))- (\ r -> happyReturn (happyIn10 r))-happyReduce_24 = happyMonadReduce 4# 3# happyReduction_24-happyReduction_24- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut76 happy_x_2 of- happy_var_2 -> case happyOut33 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (withNodeInfo- happy_var_1- $- CFunDef- (liftTypeQuals- happy_var_1)- happy_var_2- (reverse- happy_var_3)- happy_var_4))- (\ r -> happyReturn (happyIn10 r))-happyReduce_25 = happyMonadReduce 5# 3# happyReduction_25-happyReduction_25- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut76 happy_x_3 of- happy_var_3 -> case happyOut33 happy_x_4 of- happy_var_4 -> case- happyOut14- happy_x_5- of- happy_var_5 -> (withNodeInfo- happy_var_1- $- CFunDef- (liftTypeQuals- happy_var_1- ++- liftCAttrs- happy_var_2)- happy_var_3- (reverse- happy_var_4)- happy_var_5))- (\ r -> happyReturn (happyIn10 r))-happyReduce_26 = happyMonadReduce 1# 4# happyReduction_26-happyReduction_26 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut72 happy_x_1 of- happy_var_1 -> (let declr = reverseDeclr happy_var_1 in- enterScope >> doFuncParamDeclIdent declr >> return declr))- (\ r -> happyReturn (happyIn11 r))-happyReduce_27 = happySpecReduce_1 5# happyReduction_27-happyReduction_27 happy_x_1- = case happyOut13 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_28 = happySpecReduce_1 5# happyReduction_28-happyReduction_28 happy_x_1- = case happyOut14 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_29 = happySpecReduce_1 5# happyReduction_29-happyReduction_29 happy_x_1- = case happyOut22 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_30 = happySpecReduce_1 5# happyReduction_30-happyReduction_30 happy_x_1- = case happyOut23 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_31 = happySpecReduce_1 5# happyReduction_31-happyReduction_31 happy_x_1- = case happyOut24 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_32 = happySpecReduce_1 5# happyReduction_32-happyReduction_32 happy_x_1- = case happyOut25 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_33 = happyMonadReduce 1# 5# happyReduction_33-happyReduction_33 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut26 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 (CAsm happy_var_1)))- (\ r -> happyReturn (happyIn12 r))-happyReduce_34 = happyMonadReduce 4# 6# happyReduction_34-happyReduction_34- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut125 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut12 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CLabel happy_var_1 happy_var_4- happy_var_3))- (\ r -> happyReturn (happyIn13 r))-happyReduce_35 = happyMonadReduce 4# 6# happyReduction_35-happyReduction_35- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_2 of- happy_var_2 -> case happyOut12 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CCase happy_var_2 happy_var_4))- (\ r -> happyReturn (happyIn13 r))-happyReduce_36 = happyMonadReduce 3# 6# happyReduction_36-happyReduction_36- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut12 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $ CDefault happy_var_3))- (\ r -> happyReturn (happyIn13 r))-happyReduce_37 = happyMonadReduce 6# 6# happyReduction_37-happyReduction_37- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_2 of- happy_var_2 -> case happyOut121 happy_x_4 of- happy_var_4 -> case happyOut12 happy_x_6 of- happy_var_6 -> (withNodeInfo- happy_var_1- $- CCases- happy_var_2- happy_var_4- happy_var_6))- (\ r -> happyReturn (happyIn13 r))-happyReduce_38 = happyMonadReduce 5# 7# happyReduction_38-happyReduction_38- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut17 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CCompound [] (reverse happy_var_3)))- (\ r -> happyReturn (happyIn14 r))-happyReduce_39 = happyMonadReduce 6# 7# happyReduction_39-happyReduction_39- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut21 happy_x_3 of- happy_var_3 -> case happyOut17 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CCompound (reverse happy_var_3)- (reverse happy_var_4)))- (\ r -> happyReturn (happyIn14 r))-happyReduce_40 = happyMonadReduce 0# 8# happyReduction_40-happyReduction_40 (happyRest) tk- = happyThen ((enterScope)) (\ r -> happyReturn (happyIn15 r))-happyReduce_41 = happyMonadReduce 0# 9# happyReduction_41-happyReduction_41 (happyRest) tk- = happyThen ((leaveScope)) (\ r -> happyReturn (happyIn16 r))-happyReduce_42 = happySpecReduce_0 10# happyReduction_42-happyReduction_42 = happyIn17 (empty)-happyReduce_43 = happySpecReduce_2 10# happyReduction_43-happyReduction_43 happy_x_2 happy_x_1- = case happyOut17 happy_x_1 of- happy_var_1 -> case happyOut18 happy_x_2 of- happy_var_2 -> happyIn17 (happy_var_1 `snoc` happy_var_2)-happyReduce_44 = happySpecReduce_1 11# happyReduction_44-happyReduction_44 happy_x_1- = case happyOut12 happy_x_1 of- happy_var_1 -> happyIn18 (CBlockStmt happy_var_1)-happyReduce_45 = happySpecReduce_1 11# happyReduction_45-happyReduction_45 happy_x_1- = case happyOut19 happy_x_1 of- happy_var_1 -> happyIn18 (happy_var_1)-happyReduce_46 = happySpecReduce_1 12# happyReduction_46-happyReduction_46 happy_x_1- = case happyOut32 happy_x_1 of- happy_var_1 -> happyIn19 (CBlockDecl happy_var_1)-happyReduce_47 = happySpecReduce_1 12# happyReduction_47-happyReduction_47 happy_x_1- = case happyOut20 happy_x_1 of- happy_var_1 -> happyIn19 (CNestedFunDef happy_var_1)-happyReduce_48 = happySpecReduce_2 12# happyReduction_48-happyReduction_48 happy_x_2 happy_x_1- = case happyOut19 happy_x_2 of- happy_var_2 -> happyIn19 (happy_var_2)-happyReduce_49 = happyMonadReduce 3# 13# happyReduction_49-happyReduction_49- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef happy_var_1- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn20 r))-happyReduce_50 = happyMonadReduce 3# 13# happyReduction_50-happyReduction_50- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef happy_var_1- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn20 r))-happyReduce_51 = happyMonadReduce 3# 13# happyReduction_51-happyReduction_51- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef (reverse happy_var_1)- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn20 r))-happyReduce_52 = happyMonadReduce 3# 13# happyReduction_52-happyReduction_52- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef- (liftTypeQuals happy_var_1)- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn20 r))-happyReduce_53 = happyMonadReduce 4# 13# happyReduction_53-happyReduction_53- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut11 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (leaveScope >>- (withNodeInfo- happy_var_1- $- CFunDef- (liftTypeQuals- happy_var_1- ++- liftCAttrs- happy_var_2)- happy_var_3- []- happy_var_4)))- (\ r -> happyReturn (happyIn20 r))-happyReduce_54 = happySpecReduce_3 14# happyReduction_54-happyReduction_54 happy_x_3 happy_x_2 happy_x_1- = case happyOut82 happy_x_2 of- happy_var_2 -> happyIn21 (happy_var_2)-happyReduce_55 = happyReduce 4# 14# happyReduction_55-happyReduction_55- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut21 happy_x_1 of- happy_var_1 -> case happyOut82 happy_x_3 of- happy_var_3 -> happyIn21 (happy_var_1 `rappendr` happy_var_3)- `HappyStk` happyRest-happyReduce_56 = happyMonadReduce 1# 15# happyReduction_56-happyReduction_56 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CExpr Nothing))- (\ r -> happyReturn (happyIn22 r))-happyReduce_57 = happyMonadReduce 2# 15# happyReduction_57-happyReduction_57- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut117 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CExpr (Just happy_var_1)))- (\ r -> happyReturn (happyIn22 r))-happyReduce_58 = happyMonadReduce 5# 16# happyReduction_58-happyReduction_58- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> case happyOut12 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CIf happy_var_3 happy_var_5- Nothing))- (\ r -> happyReturn (happyIn23 r))-happyReduce_59 = happyMonadReduce 7# 16# happyReduction_59-happyReduction_59- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> case happyOut12 happy_x_5 of- happy_var_5 -> case happyOut12 happy_x_7 of- happy_var_7 -> (withNodeInfo- happy_var_1- $- CIf- happy_var_3- happy_var_5- (Just- happy_var_7)))- (\ r -> happyReturn (happyIn23 r))-happyReduce_60 = happyMonadReduce 5# 16# happyReduction_60-happyReduction_60- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> case happyOut12 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CSwitch happy_var_3 happy_var_5))- (\ r -> happyReturn (happyIn23 r))-happyReduce_61 = happyMonadReduce 5# 17# happyReduction_61-happyReduction_61- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> case happyOut12 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CWhile happy_var_3 happy_var_5- False))- (\ r -> happyReturn (happyIn24 r))-happyReduce_62 = happyMonadReduce 7# 17# happyReduction_62-happyReduction_62- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut12 happy_x_2 of- happy_var_2 -> case happyOut117 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CWhile happy_var_5 happy_var_2- True))- (\ r -> happyReturn (happyIn24 r))-happyReduce_63 = happyMonadReduce 9# 17# happyReduction_63-happyReduction_63- (happy_x_9 `HappyStk`- (happy_x_8 `HappyStk`- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut119 happy_x_3 of- happy_var_3 -> case happyOut119 happy_x_5 of- happy_var_5 -> case happyOut119 happy_x_7 of- happy_var_7 -> case- happyOut12- happy_x_9- of- happy_var_9 -> (withNodeInfo- happy_var_1- $- CFor- (Left- happy_var_3)- happy_var_5- happy_var_7- happy_var_9))- (\ r -> happyReturn (happyIn24 r))-happyReduce_64 = happyMonadReduce 10# 17# happyReduction_64-happyReduction_64- (happy_x_10 `HappyStk`- (happy_x_9 `HappyStk`- (happy_x_8 `HappyStk`- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut32 happy_x_4 of- happy_var_4 -> case happyOut119 happy_x_5 of- happy_var_5 -> case happyOut119 happy_x_7 of- happy_var_7 -> case- happyOut12- happy_x_9- of- happy_var_9 -> (withNodeInfo- happy_var_1- $- CFor- (Right- happy_var_4)- happy_var_5- happy_var_7- happy_var_9))- (\ r -> happyReturn (happyIn24 r))-happyReduce_65 = happyMonadReduce 3# 18# happyReduction_65-happyReduction_65- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $ CGoto happy_var_2))- (\ r -> happyReturn (happyIn25 r))-happyReduce_66 = happyMonadReduce 4# 18# happyReduction_66-happyReduction_66- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $ CGotoPtr happy_var_3))- (\ r -> happyReturn (happyIn25 r))-happyReduce_67 = happyMonadReduce 2# 18# happyReduction_67-happyReduction_67- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CCont))- (\ r -> happyReturn (happyIn25 r))-happyReduce_68 = happyMonadReduce 2# 18# happyReduction_68-happyReduction_68- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CBreak))- (\ r -> happyReturn (happyIn25 r))-happyReduce_69 = happyMonadReduce 3# 18# happyReduction_69-happyReduction_69- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut119 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $ CReturn happy_var_2))- (\ r -> happyReturn (happyIn25 r))-happyReduce_70 = happyMonadReduce 6# 19# happyReduction_70-happyReduction_70- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut27 happy_x_2 of- happy_var_2 -> case happyOut123 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CAsmStmt happy_var_2 happy_var_4- []- []- []))- (\ r -> happyReturn (happyIn26 r))-happyReduce_71 = happyMonadReduce 8# 19# happyReduction_71-happyReduction_71- (happy_x_8 `HappyStk`- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut27 happy_x_2 of- happy_var_2 -> case happyOut123 happy_x_4 of- happy_var_4 -> case happyOut28 happy_x_6 of- happy_var_6 -> (withNodeInfo- happy_var_1- $- CAsmStmt- happy_var_2- happy_var_4- happy_var_6- []- []))- (\ r -> happyReturn (happyIn26 r))-happyReduce_72 = happyMonadReduce 10# 19# happyReduction_72-happyReduction_72- (happy_x_10 `HappyStk`- (happy_x_9 `HappyStk`- (happy_x_8 `HappyStk`- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut27 happy_x_2 of- happy_var_2 -> case happyOut123 happy_x_4 of- happy_var_4 -> case happyOut28 happy_x_6 of- happy_var_6 -> case- happyOut28- happy_x_8- of- happy_var_8 -> (withNodeInfo- happy_var_1- $- CAsmStmt- happy_var_2- happy_var_4- happy_var_6- happy_var_8- []))- (\ r -> happyReturn (happyIn26 r))-happyReduce_73 = happyMonadReduce 12# 19# happyReduction_73-happyReduction_73- (happy_x_12 `HappyStk`- (happy_x_11 `HappyStk`- (happy_x_10 `HappyStk`- (happy_x_9 `HappyStk`- (happy_x_8 `HappyStk`- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut27 happy_x_2 of- happy_var_2 -> case happyOut123 happy_x_4 of- happy_var_4 -> case happyOut28 happy_x_6 of- happy_var_6 -> case- happyOut28- happy_x_8- of- happy_var_8 -> case- happyOut31- happy_x_10- of- happy_var_10 -> (withNodeInfo- happy_var_1- $- CAsmStmt- happy_var_2- happy_var_4- happy_var_6- happy_var_8- (reverse- happy_var_10)))- (\ r -> happyReturn (happyIn26 r))-happyReduce_74 = happySpecReduce_0 20# happyReduction_74-happyReduction_74 = happyIn27 (Nothing)-happyReduce_75 = happySpecReduce_1 20# happyReduction_75-happyReduction_75 happy_x_1- = case happyOut61 happy_x_1 of- happy_var_1 -> happyIn27 (Just happy_var_1)-happyReduce_76 = happySpecReduce_0 21# happyReduction_76-happyReduction_76 = happyIn28 ([])-happyReduce_77 = happySpecReduce_1 21# happyReduction_77-happyReduction_77 happy_x_1- = case happyOut29 happy_x_1 of- happy_var_1 -> happyIn28 (reverse happy_var_1)-happyReduce_78 = happySpecReduce_1 22# happyReduction_78-happyReduction_78 happy_x_1- = case happyOut30 happy_x_1 of- happy_var_1 -> happyIn29 (singleton happy_var_1)-happyReduce_79 = happySpecReduce_3 22# happyReduction_79-happyReduction_79 happy_x_3 happy_x_2 happy_x_1- = case happyOut29 happy_x_1 of- happy_var_1 -> case happyOut30 happy_x_3 of- happy_var_3 -> happyIn29 (happy_var_1 `snoc` happy_var_3)-happyReduce_80 = happyMonadReduce 4# 23# happyReduction_80-happyReduction_80- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut123 happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CAsmOperand Nothing happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn30 r))-happyReduce_81 = happyMonadReduce 7# 23# happyReduction_81-happyReduction_81- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- (CTokIdent _ happy_var_2) -> case happyOut123 happy_x_4 of- happy_var_4 -> case- happyOut117- happy_x_6- of- happy_var_6 -> (withNodeInfo- happy_var_1- $- CAsmOperand- (Just- happy_var_2)- happy_var_4- happy_var_6))- (\ r -> happyReturn (happyIn30 r))-happyReduce_82 = happyMonadReduce 7# 23# happyReduction_82-happyReduction_82- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- (CTokTyIdent _ happy_var_2) -> case happyOut123 happy_x_4 of- happy_var_4 -> case- happyOut117- happy_x_6- of- happy_var_6 -> (withNodeInfo- happy_var_1- $- CAsmOperand- (Just- happy_var_2)- happy_var_4- happy_var_6))- (\ r -> happyReturn (happyIn30 r))-happyReduce_83 = happySpecReduce_1 24# happyReduction_83-happyReduction_83 happy_x_1- = case happyOut123 happy_x_1 of- happy_var_1 -> happyIn31 (singleton happy_var_1)-happyReduce_84 = happySpecReduce_3 24# happyReduction_84-happyReduction_84 happy_x_3 happy_x_2 happy_x_1- = case happyOut31 happy_x_1 of- happy_var_1 -> case happyOut123 happy_x_3 of- happy_var_3 -> happyIn31 (happy_var_1 `snoc` happy_var_3)-happyReduce_85 = happyMonadReduce 2# 25# happyReduction_85-happyReduction_85- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut45 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CDecl (reverse happy_var_1) []))- (\ r -> happyReturn (happyIn32 r))-happyReduce_86 = happyMonadReduce 2# 25# happyReduction_86-happyReduction_86- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut46 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CDecl (reverse happy_var_1) []))- (\ r -> happyReturn (happyIn32 r))-happyReduce_87 = happyMonadReduce 2# 25# happyReduction_87-happyReduction_87- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut36 happy_x_1 of- happy_var_1 -> (case happy_var_1 of- CDecl declspecs dies at -> withLength at- (CDecl declspecs (List.reverse dies))))- (\ r -> happyReturn (happyIn32 r))-happyReduce_88 = happyMonadReduce 2# 25# happyReduction_88-happyReduction_88- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut34 happy_x_1 of- happy_var_1 -> (case happy_var_1 of- CDecl declspecs dies at -> withLength at- (CDecl declspecs (List.reverse dies))))- (\ r -> happyReturn (happyIn32 r))-happyReduce_89 = happySpecReduce_0 26# happyReduction_89-happyReduction_89 = happyIn33 (empty)-happyReduce_90 = happySpecReduce_2 26# happyReduction_90-happyReduction_90 happy_x_2 happy_x_1- = case happyOut33 happy_x_1 of- happy_var_1 -> case happyOut32 happy_x_2 of- happy_var_2 -> happyIn33 (happy_var_1 `snoc` happy_var_2)-happyReduce_91 = happyMonadReduce 4# 27# happyReduction_91-happyReduction_91- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut35 happy_x_3 of- happy_var_3 -> case happyOut91 happy_x_4 of- happy_var_4 -> (let declspecs- = reverse- happy_var_1- in- do declr <- withAsmNameAttrs- happy_var_3- happy_var_2- doDeclIdent- declspecs- declr- withNodeInfo- happy_var_1- $- CDecl- declspecs- [(Just- (reverseDeclr- declr),- happy_var_4,- Nothing)]))- (\ r -> happyReturn (happyIn34 r))-happyReduce_92 = happyMonadReduce 4# 27# happyReduction_92-happyReduction_92- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut35 happy_x_3 of- happy_var_3 -> case happyOut91 happy_x_4 of- happy_var_4 -> (let declspecs- = liftTypeQuals- happy_var_1- in- do declr <- withAsmNameAttrs- happy_var_3- happy_var_2- doDeclIdent- declspecs- declr- withNodeInfo- happy_var_1- $- CDecl- declspecs- [(Just- (reverseDeclr- declr),- happy_var_4,- Nothing)]))- (\ r -> happyReturn (happyIn34 r))-happyReduce_93 = happyMonadReduce 5# 27# happyReduction_93-happyReduction_93- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut72 happy_x_3 of- happy_var_3 -> case happyOut35 happy_x_4 of- happy_var_4 -> case- happyOut91- happy_x_5- of- happy_var_5 -> (let declspecs- = liftTypeQuals- happy_var_1- in- do declr <- withAsmNameAttrs- happy_var_4- happy_var_3- doDeclIdent- declspecs- declr- withNodeInfo- happy_var_1- $- CDecl- (declspecs- ++- liftCAttrs- happy_var_2)- [(Just- (reverseDeclr- declr),- happy_var_5,- Nothing)]))- (\ r -> happyReturn (happyIn34 r))-happyReduce_94 = happyMonadReduce 4# 27# happyReduction_94-happyReduction_94- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut35 happy_x_3 of- happy_var_3 -> case happyOut91 happy_x_4 of- happy_var_4 -> (let declspecs- = liftCAttrs- happy_var_1- in- do declr <- withAsmNameAttrs- happy_var_3- happy_var_2- doDeclIdent- declspecs- declr- withNodeInfo- happy_var_1- $- CDecl- declspecs- [(Just- (reverseDeclr- declr),- happy_var_4,- Nothing)]))- (\ r -> happyReturn (happyIn34 r))-happyReduce_95 = happyMonadReduce 6# 27# happyReduction_95-happyReduction_95- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOut34 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut72 happy_x_4 of- happy_var_4 -> case happyOut35 happy_x_5 of- happy_var_5 -> case- happyOut91- happy_x_6- of- happy_var_6 -> (case- happy_var_1- of- CDecl- declspecs- dies- at -> do declr <- withAsmNameAttrs- (fst- happy_var_5,- snd- happy_var_5- ++- happy_var_3)- happy_var_4- doDeclIdent- declspecs- declr- withLength- at- $- CDecl- declspecs- ((Just- (reverseDeclr- declr),- happy_var_6,- Nothing)- :- dies)))- (\ r -> happyReturn (happyIn34 r))-happyReduce_96 = happySpecReduce_2 28# happyReduction_96-happyReduction_96 happy_x_2 happy_x_1- = case happyOut64 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> happyIn35 ((happy_var_1, happy_var_2))-happyReduce_97 = happyMonadReduce 4# 29# happyReduction_97-happyReduction_97- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut63 happy_x_2 of- happy_var_2 -> case happyOut35 happy_x_3 of- happy_var_3 -> case happyOut91 happy_x_4 of- happy_var_4 -> (do declr <- withAsmNameAttrs- happy_var_3- happy_var_2- doDeclIdent- happy_var_1- declr- withNodeInfo- happy_var_1- $- CDecl- happy_var_1- [(Just- (reverseDeclr- declr),- happy_var_4,- Nothing)]))- (\ r -> happyReturn (happyIn36 r))-happyReduce_98 = happyMonadReduce 4# 29# happyReduction_98-happyReduction_98- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut63 happy_x_2 of- happy_var_2 -> case happyOut35 happy_x_3 of- happy_var_3 -> case happyOut91 happy_x_4 of- happy_var_4 -> (do declr <- withAsmNameAttrs- happy_var_3- happy_var_2- doDeclIdent- happy_var_1- declr- withNodeInfo- happy_var_1- $- CDecl- happy_var_1- [(Just- (reverseDeclr- declr),- happy_var_4,- Nothing)]))- (\ r -> happyReturn (happyIn36 r))-happyReduce_99 = happyMonadReduce 6# 29# happyReduction_99-happyReduction_99- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOut36 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut63 happy_x_4 of- happy_var_4 -> case happyOut35 happy_x_5 of- happy_var_5 -> case- happyOut91- happy_x_6- of- happy_var_6 -> (case- happy_var_1- of- CDecl- declspecs- dies- at -> do declr <- withAsmNameAttrs- (fst- happy_var_5,- snd- happy_var_5- ++- happy_var_3)- happy_var_4- doDeclIdent- declspecs- declr- return- (CDecl- declspecs- ((Just- (reverseDeclr- declr),- happy_var_6,- Nothing)- :- dies)- at)))- (\ r -> happyReturn (happyIn36 r))-happyReduce_100 = happySpecReduce_1 30# happyReduction_100-happyReduction_100 happy_x_1- = case happyOut43 happy_x_1 of- happy_var_1 -> happyIn37 (reverse happy_var_1)-happyReduce_101 = happySpecReduce_1 30# happyReduction_101-happyReduction_101 happy_x_1- = case happyOut45 happy_x_1 of- happy_var_1 -> happyIn37 (reverse happy_var_1)-happyReduce_102 = happySpecReduce_1 30# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut47 happy_x_1 of- happy_var_1 -> happyIn37 (reverse happy_var_1)-happyReduce_103 = happySpecReduce_1 31# happyReduction_103-happyReduction_103 happy_x_1- = case happyOut40 happy_x_1 of- happy_var_1 -> happyIn38 (singleton (CStorageSpec happy_var_1))-happyReduce_104 = happySpecReduce_2 31# happyReduction_104-happyReduction_104 happy_x_2 happy_x_1- = case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut40 happy_x_2 of- happy_var_2 -> happyIn38- (reverseList (liftCAttrs happy_var_1) `snoc`- (CStorageSpec happy_var_2))-happyReduce_105 = happySpecReduce_2 31# happyReduction_105-happyReduction_105 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut40 happy_x_2 of- happy_var_2 -> happyIn38- (rmap CTypeQual happy_var_1 `snoc`- CStorageSpec happy_var_2)-happyReduce_106 = happySpecReduce_3 31# happyReduction_106-happyReduction_106 happy_x_3 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut40 happy_x_3 of- happy_var_3 -> happyIn38- ((rmap CTypeQual happy_var_1- `rappend` liftCAttrs happy_var_2)- `snoc` CStorageSpec happy_var_3)-happyReduce_107 = happySpecReduce_2 31# happyReduction_107-happyReduction_107 happy_x_2 happy_x_1- = case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut39 happy_x_2 of- happy_var_2 -> happyIn38 (happy_var_1 `snoc` happy_var_2)-happyReduce_108 = happySpecReduce_2 31# happyReduction_108-happyReduction_108 happy_x_2 happy_x_1- = case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn38 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_109 = happySpecReduce_1 32# happyReduction_109-happyReduction_109 happy_x_1- = case happyOut40 happy_x_1 of- happy_var_1 -> happyIn39 (CStorageSpec happy_var_1)-happyReduce_110 = happySpecReduce_1 32# happyReduction_110-happyReduction_110 happy_x_1- = case happyOut61 happy_x_1 of- happy_var_1 -> happyIn39 (CTypeQual happy_var_1)-happyReduce_111 = happyMonadReduce 1# 33# happyReduction_111-happyReduction_111 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CTypedef))- (\ r -> happyReturn (happyIn40 r))-happyReduce_112 = happyMonadReduce 1# 33# happyReduction_112-happyReduction_112 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CExtern))- (\ r -> happyReturn (happyIn40 r))-happyReduce_113 = happyMonadReduce 1# 33# happyReduction_113-happyReduction_113 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CStatic))- (\ r -> happyReturn (happyIn40 r))-happyReduce_114 = happyMonadReduce 1# 33# happyReduction_114-happyReduction_114 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CAuto))- (\ r -> happyReturn (happyIn40 r))-happyReduce_115 = happyMonadReduce 1# 33# happyReduction_115-happyReduction_115 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CRegister))- (\ r -> happyReturn (happyIn40 r))-happyReduce_116 = happyMonadReduce 1# 33# happyReduction_116-happyReduction_116 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CThread))- (\ r -> happyReturn (happyIn40 r))-happyReduce_117 = happySpecReduce_1 34# happyReduction_117-happyReduction_117 happy_x_1- = case happyOut44 happy_x_1 of- happy_var_1 -> happyIn41 (reverse happy_var_1)-happyReduce_118 = happySpecReduce_1 34# happyReduction_118-happyReduction_118 happy_x_1- = case happyOut46 happy_x_1 of- happy_var_1 -> happyIn41 (reverse happy_var_1)-happyReduce_119 = happySpecReduce_1 34# happyReduction_119-happyReduction_119 happy_x_1- = case happyOut48 happy_x_1 of- happy_var_1 -> happyIn41 (reverse happy_var_1)-happyReduce_120 = happyMonadReduce 1# 35# happyReduction_120-happyReduction_120 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CVoidType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_121 = happyMonadReduce 1# 35# happyReduction_121-happyReduction_121 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CCharType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_122 = happyMonadReduce 1# 35# happyReduction_122-happyReduction_122 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CShortType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_123 = happyMonadReduce 1# 35# happyReduction_123-happyReduction_123 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CIntType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_124 = happyMonadReduce 1# 35# happyReduction_124-happyReduction_124 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CLongType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_125 = happyMonadReduce 1# 35# happyReduction_125-happyReduction_125 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CFloatType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_126 = happyMonadReduce 1# 35# happyReduction_126-happyReduction_126 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CDoubleType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_127 = happyMonadReduce 1# 35# happyReduction_127-happyReduction_127 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CSignedType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_128 = happyMonadReduce 1# 35# happyReduction_128-happyReduction_128 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CUnsigType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_129 = happyMonadReduce 1# 35# happyReduction_129-happyReduction_129 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CBoolType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_130 = happyMonadReduce 1# 35# happyReduction_130-happyReduction_130 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CComplexType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_131 = happySpecReduce_2 36# happyReduction_131-happyReduction_131 happy_x_2 happy_x_1- = case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut42 happy_x_2 of- happy_var_2 -> happyIn43 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_132 = happySpecReduce_2 36# happyReduction_132-happyReduction_132 happy_x_2 happy_x_1- = case happyOut44 happy_x_1 of- happy_var_1 -> case happyOut40 happy_x_2 of- happy_var_2 -> happyIn43- (happy_var_1 `snoc` CStorageSpec happy_var_2)-happyReduce_133 = happySpecReduce_2 36# happyReduction_133-happyReduction_133 happy_x_2 happy_x_1- = case happyOut43 happy_x_1 of- happy_var_1 -> case happyOut39 happy_x_2 of- happy_var_2 -> happyIn43 (happy_var_1 `snoc` happy_var_2)-happyReduce_134 = happySpecReduce_2 36# happyReduction_134-happyReduction_134 happy_x_2 happy_x_1- = case happyOut43 happy_x_1 of- happy_var_1 -> case happyOut42 happy_x_2 of- happy_var_2 -> happyIn43 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_135 = happySpecReduce_2 36# happyReduction_135-happyReduction_135 happy_x_2 happy_x_1- = case happyOut43 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn43 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_136 = happySpecReduce_1 37# happyReduction_136-happyReduction_136 happy_x_1- = case happyOut42 happy_x_1 of- happy_var_1 -> happyIn44 (singleton (CTypeSpec happy_var_1))-happyReduce_137 = happySpecReduce_2 37# happyReduction_137-happyReduction_137 happy_x_2 happy_x_1- = case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut42 happy_x_2 of- happy_var_2 -> happyIn44- ((reverseList $ liftCAttrs happy_var_1) `snoc`- (CTypeSpec happy_var_2))-happyReduce_138 = happySpecReduce_2 37# happyReduction_138-happyReduction_138 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut42 happy_x_2 of- happy_var_2 -> happyIn44- (rmap CTypeQual happy_var_1 `snoc`- CTypeSpec happy_var_2)-happyReduce_139 = happySpecReduce_3 37# happyReduction_139-happyReduction_139 happy_x_3 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut42 happy_x_3 of- happy_var_3 -> happyIn44- (rmap CTypeQual happy_var_1 `rappend`- (liftCAttrs happy_var_2)- `snoc` CTypeSpec happy_var_3)-happyReduce_140 = happySpecReduce_2 37# happyReduction_140-happyReduction_140 happy_x_2 happy_x_1- = case happyOut44 happy_x_1 of- happy_var_1 -> case happyOut61 happy_x_2 of- happy_var_2 -> happyIn44 (happy_var_1 `snoc` CTypeQual happy_var_2)-happyReduce_141 = happySpecReduce_2 37# happyReduction_141-happyReduction_141 happy_x_2 happy_x_1- = case happyOut44 happy_x_1 of- happy_var_1 -> case happyOut42 happy_x_2 of- happy_var_2 -> happyIn44 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_142 = happySpecReduce_2 37# happyReduction_142-happyReduction_142 happy_x_2 happy_x_1- = case happyOut44 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn44 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_143 = happySpecReduce_2 38# happyReduction_143-happyReduction_143 happy_x_2 happy_x_1- = case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut49 happy_x_2 of- happy_var_2 -> happyIn45 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_144 = happySpecReduce_2 38# happyReduction_144-happyReduction_144 happy_x_2 happy_x_1- = case happyOut46 happy_x_1 of- happy_var_1 -> case happyOut40 happy_x_2 of- happy_var_2 -> happyIn45- (happy_var_1 `snoc` CStorageSpec happy_var_2)-happyReduce_145 = happySpecReduce_2 38# happyReduction_145-happyReduction_145 happy_x_2 happy_x_1- = case happyOut45 happy_x_1 of- happy_var_1 -> case happyOut39 happy_x_2 of- happy_var_2 -> happyIn45 (happy_var_1 `snoc` happy_var_2)-happyReduce_146 = happySpecReduce_2 38# happyReduction_146-happyReduction_146 happy_x_2 happy_x_1- = case happyOut45 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn45 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_147 = happySpecReduce_1 39# happyReduction_147-happyReduction_147 happy_x_1- = case happyOut49 happy_x_1 of- happy_var_1 -> happyIn46 (singleton (CTypeSpec happy_var_1))-happyReduce_148 = happySpecReduce_2 39# happyReduction_148-happyReduction_148 happy_x_2 happy_x_1- = case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut49 happy_x_2 of- happy_var_2 -> happyIn46- ((reverseList $ liftCAttrs happy_var_1) `snoc`- (CTypeSpec happy_var_2))-happyReduce_149 = happySpecReduce_2 39# happyReduction_149-happyReduction_149 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut49 happy_x_2 of- happy_var_2 -> happyIn46- (rmap CTypeQual happy_var_1 `snoc`- CTypeSpec happy_var_2)-happyReduce_150 = happySpecReduce_3 39# happyReduction_150-happyReduction_150 happy_x_3 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut49 happy_x_3 of- happy_var_3 -> happyIn46- (rmap CTypeQual happy_var_1 `rappend`- (liftCAttrs happy_var_2)- `snoc` CTypeSpec happy_var_3)-happyReduce_151 = happySpecReduce_2 39# happyReduction_151-happyReduction_151 happy_x_2 happy_x_1- = case happyOut46 happy_x_1 of- happy_var_1 -> case happyOut61 happy_x_2 of- happy_var_2 -> happyIn46 (happy_var_1 `snoc` CTypeQual happy_var_2)-happyReduce_152 = happySpecReduce_2 39# happyReduction_152-happyReduction_152 happy_x_2 happy_x_1- = case happyOut46 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn46 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_153 = happySpecReduce_2 40# happyReduction_153-happyReduction_153 happy_x_2 happy_x_1- = case happyOut48 happy_x_1 of- happy_var_1 -> case happyOut40 happy_x_2 of- happy_var_2 -> happyIn47- (happy_var_1 `snoc` CStorageSpec happy_var_2)-happyReduce_154 = happyMonadReduce 2# 40# happyReduction_154-happyReduction_154- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $- \ at ->- happy_var_1 `snoc`- CTypeSpec- (CTypeDef happy_var_2 at)))- (\ r -> happyReturn (happyIn47 r))-happyReduce_155 = happyMonadReduce 5# 40# happyReduction_155-happyReduction_155- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> case happyOut117 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_2 $- \ at ->- happy_var_1 `snoc`- CTypeSpec- (CTypeOfExpr happy_var_4- at)))- (\ r -> happyReturn (happyIn47 r))-happyReduce_156 = happyMonadReduce 5# 40# happyReduction_156-happyReduction_156- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> case happyOut83 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_2 $- \ at ->- happy_var_1 `snoc`- CTypeSpec- (CTypeOfType happy_var_4- at)))- (\ r -> happyReturn (happyIn47 r))-happyReduce_157 = happySpecReduce_2 40# happyReduction_157-happyReduction_157 happy_x_2 happy_x_1- = case happyOut47 happy_x_1 of- happy_var_1 -> case happyOut39 happy_x_2 of- happy_var_2 -> happyIn47 (happy_var_1 `snoc` happy_var_2)-happyReduce_158 = happySpecReduce_2 40# happyReduction_158-happyReduction_158 happy_x_2 happy_x_1- = case happyOut47 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn47 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_159 = happyMonadReduce 1# 41# happyReduction_159-happyReduction_159 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- \ at ->- singleton (CTypeSpec (CTypeDef happy_var_1 at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_160 = happyMonadReduce 4# 41# happyReduction_160-happyReduction_160- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- \ at ->- singleton- (CTypeSpec (CTypeOfExpr happy_var_3 at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_161 = happyMonadReduce 4# 41# happyReduction_161-happyReduction_161- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- \ at ->- singleton- (CTypeSpec (CTypeOfType happy_var_3 at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_162 = happyMonadReduce 2# 41# happyReduction_162-happyReduction_162- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $- \ at ->- rmap CTypeQual happy_var_1 `snoc`- CTypeSpec- (CTypeDef happy_var_2 at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_163 = happyMonadReduce 5# 41# happyReduction_163-happyReduction_163- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> case happyOut117 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_2 $- \ at ->- rmap CTypeQual happy_var_1- `snoc`- CTypeSpec- (CTypeOfExpr happy_var_4- at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_164 = happyMonadReduce 5# 41# happyReduction_164-happyReduction_164- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> case happyOut83 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_2 $- \ at ->- rmap CTypeQual happy_var_1- `snoc`- CTypeSpec- (CTypeOfType happy_var_4- at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_165 = happyMonadReduce 2# 41# happyReduction_165-happyReduction_165- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $- \ at ->- reverseList- (liftCAttrs happy_var_1)- `snoc`- (CTypeSpec- (CTypeDef happy_var_2 at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_166 = happyMonadReduce 5# 41# happyReduction_166-happyReduction_166- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- \ at ->- reverseList (liftCAttrs happy_var_1) `snoc`- (CTypeSpec (CTypeOfExpr happy_var_4 at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_167 = happyMonadReduce 5# 41# happyReduction_167-happyReduction_167- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> case happyOut83 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_2 $- \ at ->- reverseList- (liftCAttrs happy_var_1)- `snoc`- (CTypeSpec- (CTypeOfType happy_var_4- at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_168 = happyMonadReduce 3# 41# happyReduction_168-happyReduction_168- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOutTok happy_x_3 of- (CTokTyIdent _ happy_var_3) -> (withNodeInfo- happy_var_3- $- \ at ->- rmap CTypeQual- happy_var_1- `rappend`- (liftCAttrs- happy_var_2)- `snoc`- CTypeSpec- (CTypeDef- happy_var_3- at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_169 = happyMonadReduce 6# 41# happyReduction_169-happyReduction_169- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOutTok happy_x_3 of- happy_var_3 -> case happyOut117 happy_x_5 of- happy_var_5 -> (withNodeInfo- happy_var_3- $- \ at ->- rmap- CTypeQual- happy_var_1- `rappend`- (liftCAttrs- happy_var_2)- `snoc`- CTypeSpec- (CTypeOfExpr- happy_var_5- at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_170 = happyMonadReduce 6# 41# happyReduction_170-happyReduction_170- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOutTok happy_x_3 of- happy_var_3 -> case happyOut83 happy_x_5 of- happy_var_5 -> (withNodeInfo- happy_var_3- $- \ at ->- rmap- CTypeQual- happy_var_1- `rappend`- (liftCAttrs- happy_var_2)- `snoc`- CTypeSpec- (CTypeOfType- happy_var_5- at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_171 = happySpecReduce_2 41# happyReduction_171-happyReduction_171 happy_x_2 happy_x_1- = case happyOut48 happy_x_1 of- happy_var_1 -> case happyOut61 happy_x_2 of- happy_var_2 -> happyIn48 (happy_var_1 `snoc` CTypeQual happy_var_2)-happyReduce_172 = happySpecReduce_2 41# happyReduction_172-happyReduction_172 happy_x_2 happy_x_1- = case happyOut48 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn48 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_173 = happyMonadReduce 1# 42# happyReduction_173-happyReduction_173 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut50 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CSUType happy_var_1))- (\ r -> happyReturn (happyIn49 r))-happyReduce_174 = happyMonadReduce 1# 42# happyReduction_174-happyReduction_174 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut58 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CEnumType happy_var_1))- (\ r -> happyReturn (happyIn49 r))-happyReduce_175 = happyMonadReduce 6# 43# happyReduction_175-happyReduction_175- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOut51 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut125 happy_x_3 of- happy_var_3 -> case happyOut52 happy_x_5 of- happy_var_5 -> (withNodeInfo- happy_var_1- $- CStruct- (unL- happy_var_1)- (Just- happy_var_3)- (Just $- reverse- happy_var_5)- happy_var_2))- (\ r -> happyReturn (happyIn50 r))-happyReduce_176 = happyMonadReduce 5# 43# happyReduction_176-happyReduction_176- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut51 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut52 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CStruct (unL happy_var_1) Nothing- (Just $ reverse happy_var_4)- happy_var_2))- (\ r -> happyReturn (happyIn50 r))-happyReduce_177 = happyMonadReduce 3# 43# happyReduction_177-happyReduction_177- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut51 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut125 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CStruct (unL happy_var_1)- (Just happy_var_3)- Nothing- happy_var_2))- (\ r -> happyReturn (happyIn50 r))-happyReduce_178 = happySpecReduce_1 44# happyReduction_178-happyReduction_178 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn51 (L CStructTag (posOf happy_var_1))-happyReduce_179 = happySpecReduce_1 44# happyReduction_179-happyReduction_179 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn51 (L CUnionTag (posOf happy_var_1))-happyReduce_180 = happySpecReduce_0 45# happyReduction_180-happyReduction_180 = happyIn52 (empty)-happyReduce_181 = happySpecReduce_2 45# happyReduction_181-happyReduction_181 happy_x_2 happy_x_1- = case happyOut52 happy_x_1 of- happy_var_1 -> happyIn52 (happy_var_1)-happyReduce_182 = happySpecReduce_2 45# happyReduction_182-happyReduction_182 happy_x_2 happy_x_1- = case happyOut52 happy_x_1 of- happy_var_1 -> case happyOut53 happy_x_2 of- happy_var_2 -> happyIn52 (happy_var_1 `snoc` happy_var_2)-happyReduce_183 = happySpecReduce_2 46# happyReduction_183-happyReduction_183 happy_x_2 happy_x_1- = case happyOut55 happy_x_1 of- happy_var_1 -> happyIn53- (case happy_var_1 of- CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at)-happyReduce_184 = happySpecReduce_2 46# happyReduction_184-happyReduction_184 happy_x_2 happy_x_1- = case happyOut54 happy_x_1 of- happy_var_1 -> happyIn53- (case happy_var_1 of- CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at)-happyReduce_185 = happySpecReduce_2 46# happyReduction_185-happyReduction_185 happy_x_2 happy_x_1- = case happyOut53 happy_x_2 of- happy_var_2 -> happyIn53 (happy_var_2)-happyReduce_186 = happyMonadReduce 3# 47# happyReduction_186-happyReduction_186- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut57 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- case happy_var_3 of- (d, s) -> CDecl- (liftTypeQuals- happy_var_1- ++- liftCAttrs- happy_var_2)- [(d, Nothing,- s)]))- (\ r -> happyReturn (happyIn54 r))-happyReduce_187 = happyMonadReduce 2# 47# happyReduction_187-happyReduction_187- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut57 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- case happy_var_2 of- (d, s) -> CDecl (liftCAttrs happy_var_1)- [(d, Nothing, s)]))- (\ r -> happyReturn (happyIn54 r))-happyReduce_188 = happyReduce 4# 47# happyReduction_188-happyReduction_188- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut54 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut57 happy_x_4 of- happy_var_4 -> happyIn54- (case happy_var_1 of- CDecl declspecs dies at -> case- happy_var_4- of- (Just- d,- s) -> CDecl- declspecs- ((Just- $- appendObjAttrs- happy_var_3- d,- Nothing,- s)- :- dies)- at- (Nothing,- s) -> CDecl- declspecs- ((Nothing,- Nothing,- s)- :- dies)- at)- `HappyStk` happyRest-happyReduce_189 = happyMonadReduce 3# 48# happyReduction_189-happyReduction_189- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut56 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- case happy_var_2 of- (Just d, s) -> CDecl- happy_var_1- [(Just $!- appendObjAttrs- happy_var_3- d,- Nothing,- s)]- (Nothing, s) -> CDecl- happy_var_1- [(Nothing,- Nothing,- s)]))- (\ r -> happyReturn (happyIn55 r))-happyReduce_190 = happyReduce 5# 48# happyReduction_190-happyReduction_190- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- = case happyOut55 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut56 happy_x_4 of- happy_var_4 -> case happyOut126 happy_x_5 of- happy_var_5 -> happyIn55- (case happy_var_1- of- CDecl- declspecs- dies- attr -> case- happy_var_4- of- (Just- d,- s) -> CDecl- declspecs- ((Just- $- appendObjAttrs- (happy_var_3- ++- happy_var_5)- d,- Nothing,- s)- :- dies)- attr- (Nothing,- s) -> CDecl- declspecs- ((Nothing,- Nothing,- s)- :- dies)- attr)- `HappyStk`- happyRest-happyReduce_191 = happyMonadReduce 1# 48# happyReduction_191-happyReduction_191 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))- (\ r -> happyReturn (happyIn55 r))-happyReduce_192 = happySpecReduce_1 49# happyReduction_192-happyReduction_192 happy_x_1- = case happyOut63 happy_x_1 of- happy_var_1 -> happyIn56- ((Just (reverseDeclr happy_var_1), Nothing))-happyReduce_193 = happySpecReduce_2 49# happyReduction_193-happyReduction_193 happy_x_2 happy_x_1- = case happyOut121 happy_x_2 of- happy_var_2 -> happyIn56 ((Nothing, Just happy_var_2))-happyReduce_194 = happySpecReduce_3 49# happyReduction_194-happyReduction_194 happy_x_3 happy_x_2 happy_x_1- = case happyOut63 happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_3 of- happy_var_3 -> happyIn56- ((Just (reverseDeclr happy_var_1), Just happy_var_3))-happyReduce_195 = happySpecReduce_1 50# happyReduction_195-happyReduction_195 happy_x_1- = case happyOut72 happy_x_1 of- happy_var_1 -> happyIn57- ((Just (reverseDeclr happy_var_1), Nothing))-happyReduce_196 = happySpecReduce_2 50# happyReduction_196-happyReduction_196 happy_x_2 happy_x_1- = case happyOut121 happy_x_2 of- happy_var_2 -> happyIn57 ((Nothing, Just happy_var_2))-happyReduce_197 = happySpecReduce_3 50# happyReduction_197-happyReduction_197 happy_x_3 happy_x_2 happy_x_1- = case happyOut72 happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_3 of- happy_var_3 -> happyIn57- ((Just (reverseDeclr happy_var_1), Just happy_var_3))-happyReduce_198 = happySpecReduce_2 50# happyReduction_198-happyReduction_198 happy_x_2 happy_x_1- = case happyOut57 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn57- (case happy_var_1 of- (Nothing, expr) -> (Nothing, expr)- (Just (CDeclr name derived asmname attrs node),- bsz) -> (Just- (CDeclr name derived asmname- (attrs ++ happy_var_2)- node),- bsz))-happyReduce_199 = happyMonadReduce 5# 51# happyReduction_199-happyReduction_199- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut59 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CEnum Nothing- (Just $ reverse happy_var_4)- happy_var_2))- (\ r -> happyReturn (happyIn58 r))-happyReduce_200 = happyMonadReduce 6# 51# happyReduction_200-happyReduction_200- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut59 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CEnum Nothing- (Just $ reverse happy_var_4)- happy_var_2))- (\ r -> happyReturn (happyIn58 r))-happyReduce_201 = happyMonadReduce 6# 51# happyReduction_201-happyReduction_201- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut125 happy_x_3 of- happy_var_3 -> case happyOut59 happy_x_5 of- happy_var_5 -> (withNodeInfo- happy_var_1- $- CEnum- (Just- happy_var_3)- (Just $- reverse- happy_var_5)- happy_var_2))- (\ r -> happyReturn (happyIn58 r))-happyReduce_202 = happyMonadReduce 7# 51# happyReduction_202-happyReduction_202- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut125 happy_x_3 of- happy_var_3 -> case happyOut59 happy_x_5 of- happy_var_5 -> (withNodeInfo- happy_var_1- $- CEnum- (Just- happy_var_3)- (Just $- reverse- happy_var_5)- happy_var_2))- (\ r -> happyReturn (happyIn58 r))-happyReduce_203 = happyMonadReduce 3# 51# happyReduction_203-happyReduction_203- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut125 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CEnum (Just happy_var_3) Nothing- happy_var_2))- (\ r -> happyReturn (happyIn58 r))-happyReduce_204 = happySpecReduce_1 52# happyReduction_204-happyReduction_204 happy_x_1- = case happyOut60 happy_x_1 of- happy_var_1 -> happyIn59 (singleton happy_var_1)-happyReduce_205 = happySpecReduce_3 52# happyReduction_205-happyReduction_205 happy_x_3 happy_x_2 happy_x_1- = case happyOut59 happy_x_1 of- happy_var_1 -> case happyOut60 happy_x_3 of- happy_var_3 -> happyIn59 (happy_var_1 `snoc` happy_var_3)-happyReduce_206 = happySpecReduce_1 53# happyReduction_206-happyReduction_206 happy_x_1- = case happyOut125 happy_x_1 of- happy_var_1 -> happyIn60 ((happy_var_1, Nothing))-happyReduce_207 = happySpecReduce_3 53# happyReduction_207-happyReduction_207 happy_x_3 happy_x_2 happy_x_1- = case happyOut125 happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_3 of- happy_var_3 -> happyIn60 ((happy_var_1, Just happy_var_3))-happyReduce_208 = happyMonadReduce 1# 54# happyReduction_208-happyReduction_208 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CConstQual))- (\ r -> happyReturn (happyIn61 r))-happyReduce_209 = happyMonadReduce 1# 54# happyReduction_209-happyReduction_209 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CVolatQual))- (\ r -> happyReturn (happyIn61 r))-happyReduce_210 = happyMonadReduce 1# 54# happyReduction_210-happyReduction_210 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CRestrQual))- (\ r -> happyReturn (happyIn61 r))-happyReduce_211 = happyMonadReduce 1# 54# happyReduction_211-happyReduction_211 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CInlineQual))- (\ r -> happyReturn (happyIn61 r))-happyReduce_212 = happySpecReduce_2 55# happyReduction_212-happyReduction_212 happy_x_2 happy_x_1- = case happyOut126 happy_x_1 of- happy_var_1 -> case happyOut61 happy_x_2 of- happy_var_2 -> happyIn62- (reverseList (map CAttrQual happy_var_1) `snoc`- happy_var_2)-happyReduce_213 = happySpecReduce_2 55# happyReduction_213-happyReduction_213 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut61 happy_x_2 of- happy_var_2 -> happyIn62 (happy_var_1 `snoc` happy_var_2)-happyReduce_214 = happySpecReduce_3 55# happyReduction_214-happyReduction_214 happy_x_3 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut61 happy_x_3 of- happy_var_3 -> happyIn62- ((happy_var_1 `rappend`- map CAttrQual happy_var_2)- `snoc` happy_var_3)-happyReduce_215 = happySpecReduce_1 56# happyReduction_215-happyReduction_215 happy_x_1- = case happyOut72 happy_x_1 of- happy_var_1 -> happyIn63 (happy_var_1)-happyReduce_216 = happySpecReduce_1 56# happyReduction_216-happyReduction_216 happy_x_1- = case happyOut65 happy_x_1 of- happy_var_1 -> happyIn63 (happy_var_1)-happyReduce_217 = happySpecReduce_0 57# happyReduction_217-happyReduction_217 = happyIn64 (Nothing)-happyReduce_218 = happyReduce 4# 57# happyReduction_218-happyReduction_218- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut123 happy_x_3 of- happy_var_3 -> happyIn64 (Just happy_var_3) `HappyStk` happyRest-happyReduce_219 = happySpecReduce_1 58# happyReduction_219-happyReduction_219 happy_x_1- = case happyOut69 happy_x_1 of- happy_var_1 -> happyIn65 (happy_var_1)-happyReduce_220 = happySpecReduce_1 58# happyReduction_220-happyReduction_220 happy_x_1- = case happyOut66 happy_x_1 of- happy_var_1 -> happyIn65 (happy_var_1)-happyReduce_221 = happyMonadReduce 1# 59# happyReduction_221-happyReduction_221 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- mkVarDeclr happy_var_1))- (\ r -> happyReturn (happyIn66 r))-happyReduce_222 = happyMonadReduce 2# 59# happyReduction_222-happyReduction_222- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokTyIdent _ happy_var_1) -> case happyOut85 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- \ at ->- happy_var_2- (mkVarDeclr happy_var_1 at)))- (\ r -> happyReturn (happyIn66 r))-happyReduce_223 = happySpecReduce_1 59# happyReduction_223-happyReduction_223 happy_x_1- = case happyOut67 happy_x_1 of- happy_var_1 -> happyIn66 (happy_var_1)-happyReduce_224 = happySpecReduce_1 60# happyReduction_224-happyReduction_224 happy_x_1- = case happyOut68 happy_x_1 of- happy_var_1 -> happyIn67 (happy_var_1)-happyReduce_225 = happyMonadReduce 2# 60# happyReduction_225-happyReduction_225- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut66 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_2 []))- (\ r -> happyReturn (happyIn67 r))-happyReduce_226 = happyMonadReduce 3# 60# happyReduction_226-happyReduction_226- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut66 happy_x_3 of- happy_var_3 -> (withAttribute happy_var_1- happy_var_2- $ ptrDeclr happy_var_3 []))- (\ r -> happyReturn (happyIn67 r))-happyReduce_227 = happyMonadReduce 3# 60# happyReduction_227-happyReduction_227- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut66 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn67 r))-happyReduce_228 = happyMonadReduce 4# 60# happyReduction_228-happyReduction_228- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut66 happy_x_4 of- happy_var_4 -> (withAttribute- happy_var_1- happy_var_3- $- ptrDeclr- happy_var_4- (reverse- happy_var_2)))- (\ r -> happyReturn (happyIn67 r))-happyReduce_229 = happySpecReduce_3 61# happyReduction_229-happyReduction_229 happy_x_3 happy_x_2 happy_x_1- = case happyOut67 happy_x_2 of- happy_var_2 -> happyIn68 (happy_var_2)-happyReduce_230 = happyReduce 4# 61# happyReduction_230-happyReduction_230- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut67 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_4 of- happy_var_4 -> happyIn68 (happy_var_4 happy_var_2) `HappyStk`- happyRest-happyReduce_231 = happyReduce 4# 61# happyReduction_231-happyReduction_231- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut67 happy_x_3 of- happy_var_3 -> happyIn68 (appendDeclrAttrs happy_var_2 happy_var_3)- `HappyStk` happyRest-happyReduce_232 = happyReduce 5# 61# happyReduction_232-happyReduction_232- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut67 happy_x_3 of- happy_var_3 -> case happyOut85 happy_x_5 of- happy_var_5 -> happyIn68- (appendDeclrAttrs happy_var_2- (happy_var_5 happy_var_3))- `HappyStk` happyRest-happyReduce_233 = happySpecReduce_1 62# happyReduction_233-happyReduction_233 happy_x_1- = case happyOut70 happy_x_1 of- happy_var_1 -> happyIn69 (happy_var_1)-happyReduce_234 = happyMonadReduce 4# 62# happyReduction_234-happyReduction_234- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut71 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3 []))- (\ r -> happyReturn (happyIn69 r))-happyReduce_235 = happyMonadReduce 5# 62# happyReduction_235-happyReduction_235- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut71 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_4- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn69 r))-happyReduce_236 = happyMonadReduce 6# 62# happyReduction_236-happyReduction_236- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut71 happy_x_5 of- happy_var_5 -> (withAttribute- happy_var_1- happy_var_3- $- ptrDeclr- happy_var_5- (reverse- happy_var_2)))- (\ r -> happyReturn (happyIn69 r))-happyReduce_237 = happyMonadReduce 2# 62# happyReduction_237-happyReduction_237- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut69 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_2 []))- (\ r -> happyReturn (happyIn69 r))-happyReduce_238 = happyMonadReduce 3# 62# happyReduction_238-happyReduction_238- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut69 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn69 r))-happyReduce_239 = happyMonadReduce 4# 62# happyReduction_239-happyReduction_239- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut69 happy_x_4 of- happy_var_4 -> (withAttribute- happy_var_1- happy_var_3- $- ptrDeclr- happy_var_4- (reverse- happy_var_2)))- (\ r -> happyReturn (happyIn69 r))-happyReduce_240 = happySpecReduce_3 63# happyReduction_240-happyReduction_240 happy_x_3 happy_x_2 happy_x_1- = case happyOut69 happy_x_2 of- happy_var_2 -> happyIn70 (happy_var_2)-happyReduce_241 = happyReduce 4# 63# happyReduction_241-happyReduction_241- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut71 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_3 of- happy_var_3 -> happyIn70 (happy_var_3 happy_var_2) `HappyStk`- happyRest-happyReduce_242 = happyReduce 4# 63# happyReduction_242-happyReduction_242- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut69 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_4 of- happy_var_4 -> happyIn70 (happy_var_4 happy_var_2) `HappyStk`- happyRest-happyReduce_243 = happyMonadReduce 1# 64# happyReduction_243-happyReduction_243 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- mkVarDeclr happy_var_1))- (\ r -> happyReturn (happyIn71 r))-happyReduce_244 = happySpecReduce_3 64# happyReduction_244-happyReduction_244 happy_x_3 happy_x_2 happy_x_1- = case happyOut71 happy_x_2 of- happy_var_2 -> happyIn71 (happy_var_2)-happyReduce_245 = happySpecReduce_1 65# happyReduction_245-happyReduction_245 happy_x_1- = case happyOut73 happy_x_1 of- happy_var_1 -> happyIn72 (happy_var_1)-happyReduce_246 = happySpecReduce_1 65# happyReduction_246-happyReduction_246 happy_x_1- = case happyOut75 happy_x_1 of- happy_var_1 -> happyIn72 (happy_var_1)-happyReduce_247 = happySpecReduce_1 66# happyReduction_247-happyReduction_247 happy_x_1- = case happyOut74 happy_x_1 of- happy_var_1 -> happyIn73 (happy_var_1)-happyReduce_248 = happyMonadReduce 2# 66# happyReduction_248-happyReduction_248- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_2 []))- (\ r -> happyReturn (happyIn73 r))-happyReduce_249 = happyMonadReduce 3# 66# happyReduction_249-happyReduction_249- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut72 happy_x_3 of- happy_var_3 -> (withAttribute happy_var_1- happy_var_2- $ ptrDeclr happy_var_3 []))- (\ r -> happyReturn (happyIn73 r))-happyReduce_250 = happyMonadReduce 3# 66# happyReduction_250-happyReduction_250- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut72 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn73 r))-happyReduce_251 = happyMonadReduce 4# 66# happyReduction_251-happyReduction_251- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut72 happy_x_4 of- happy_var_4 -> (withAttribute- happy_var_1- happy_var_3- $- ptrDeclr- happy_var_4- (reverse- happy_var_2)))- (\ r -> happyReturn (happyIn73 r))-happyReduce_252 = happySpecReduce_2 67# happyReduction_252-happyReduction_252 happy_x_2 happy_x_1- = case happyOut75 happy_x_1 of- happy_var_1 -> case happyOut85 happy_x_2 of- happy_var_2 -> happyIn74 (happy_var_2 happy_var_1)-happyReduce_253 = happySpecReduce_3 67# happyReduction_253-happyReduction_253 happy_x_3 happy_x_2 happy_x_1- = case happyOut73 happy_x_2 of- happy_var_2 -> happyIn74 (happy_var_2)-happyReduce_254 = happyReduce 4# 67# happyReduction_254-happyReduction_254- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut73 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_4 of- happy_var_4 -> happyIn74 (happy_var_4 happy_var_2) `HappyStk`- happyRest-happyReduce_255 = happyReduce 4# 67# happyReduction_255-happyReduction_255- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut73 happy_x_3 of- happy_var_3 -> happyIn74 (appendDeclrAttrs happy_var_2 happy_var_3)- `HappyStk` happyRest-happyReduce_256 = happyReduce 5# 67# happyReduction_256-happyReduction_256- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut73 happy_x_3 of- happy_var_3 -> case happyOut85 happy_x_5 of- happy_var_5 -> happyIn74- (appendDeclrAttrs happy_var_2- (happy_var_5 happy_var_3))- `HappyStk` happyRest-happyReduce_257 = happyMonadReduce 1# 68# happyReduction_257-happyReduction_257 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- mkVarDeclr happy_var_1))- (\ r -> happyReturn (happyIn75 r))-happyReduce_258 = happySpecReduce_3 68# happyReduction_258-happyReduction_258 happy_x_3 happy_x_2 happy_x_1- = case happyOut75 happy_x_2 of- happy_var_2 -> happyIn75 (happy_var_2)-happyReduce_259 = happyReduce 4# 68# happyReduction_259-happyReduction_259- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut75 happy_x_3 of- happy_var_3 -> happyIn75 (appendDeclrAttrs happy_var_2 happy_var_3)- `HappyStk` happyRest-happyReduce_260 = happySpecReduce_1 69# happyReduction_260-happyReduction_260 happy_x_1- = case happyOut77 happy_x_1 of- happy_var_1 -> happyIn76 (reverseDeclr happy_var_1)-happyReduce_261 = happySpecReduce_1 70# happyReduction_261-happyReduction_261 happy_x_1- = case happyOut78 happy_x_1 of- happy_var_1 -> happyIn77 (happy_var_1)-happyReduce_262 = happyMonadReduce 2# 70# happyReduction_262-happyReduction_262- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut77 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_2 []))- (\ r -> happyReturn (happyIn77 r))-happyReduce_263 = happyMonadReduce 3# 70# happyReduction_263-happyReduction_263- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut77 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn77 r))-happyReduce_264 = happyMonadReduce 4# 71# happyReduction_264-happyReduction_264- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut75 happy_x_1 of- happy_var_1 -> case happyOut82 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- funDeclr happy_var_1 (Left $ reverse happy_var_3)- []))- (\ r -> happyReturn (happyIn78 r))-happyReduce_265 = happySpecReduce_3 71# happyReduction_265-happyReduction_265 happy_x_3 happy_x_2 happy_x_1- = case happyOut77 happy_x_2 of- happy_var_2 -> happyIn78 (happy_var_2)-happyReduce_266 = happyReduce 4# 71# happyReduction_266-happyReduction_266- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut77 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_4 of- happy_var_4 -> happyIn78 (happy_var_4 happy_var_2) `HappyStk`- happyRest-happyReduce_267 = happySpecReduce_0 72# happyReduction_267-happyReduction_267 = happyIn79 (([], False))-happyReduce_268 = happySpecReduce_1 72# happyReduction_268-happyReduction_268 happy_x_1- = case happyOut80 happy_x_1 of- happy_var_1 -> happyIn79 ((reverse happy_var_1, False))-happyReduce_269 = happySpecReduce_3 72# happyReduction_269-happyReduction_269 happy_x_3 happy_x_2 happy_x_1- = case happyOut80 happy_x_1 of- happy_var_1 -> happyIn79 ((reverse happy_var_1, True))-happyReduce_270 = happySpecReduce_1 73# happyReduction_270-happyReduction_270 happy_x_1- = case happyOut81 happy_x_1 of- happy_var_1 -> happyIn80 (singleton happy_var_1)-happyReduce_271 = happySpecReduce_3 73# happyReduction_271-happyReduction_271 happy_x_3 happy_x_2 happy_x_1- = case happyOut80 happy_x_1 of- happy_var_1 -> case happyOut81 happy_x_3 of- happy_var_3 -> happyIn80 (happy_var_1 `snoc` happy_var_3)-happyReduce_272 = happyMonadReduce 1# 74# happyReduction_272-happyReduction_272 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))- (\ r -> happyReturn (happyIn81 r))-happyReduce_273 = happyMonadReduce 2# 74# happyReduction_273-happyReduction_273- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_274 = happyMonadReduce 3# 74# happyReduction_274-happyReduction_274- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just- (reverseDeclr $!- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_275 = happyMonadReduce 3# 74# happyReduction_275-happyReduction_275- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut66 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just- (reverseDeclr $!- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_276 = happyMonadReduce 1# 74# happyReduction_276-happyReduction_276 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CDecl (reverse happy_var_1) []))- (\ r -> happyReturn (happyIn81 r))-happyReduce_277 = happyMonadReduce 2# 74# happyReduction_277-happyReduction_277- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl (reverse happy_var_1)- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_278 = happyMonadReduce 3# 74# happyReduction_278-happyReduction_278- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl (reverse happy_var_1)- [(Just- (reverseDeclr $!- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_279 = happyMonadReduce 1# 74# happyReduction_279-happyReduction_279 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))- (\ r -> happyReturn (happyIn81 r))-happyReduce_280 = happyMonadReduce 2# 74# happyReduction_280-happyReduction_280- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_281 = happyMonadReduce 3# 74# happyReduction_281-happyReduction_281- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just- (reverseDeclr $!- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_282 = happyMonadReduce 3# 74# happyReduction_282-happyReduction_282- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut66 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just- (reverseDeclr $!- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_283 = happyMonadReduce 1# 74# happyReduction_283-happyReduction_283 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CDecl (liftTypeQuals happy_var_1) []))- (\ r -> happyReturn (happyIn81 r))-happyReduce_284 = happyMonadReduce 2# 74# happyReduction_284-happyReduction_284- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl- (liftTypeQuals happy_var_1 ++- liftCAttrs happy_var_2)- []))- (\ r -> happyReturn (happyIn81 r))-happyReduce_285 = happyMonadReduce 2# 74# happyReduction_285-happyReduction_285- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl (liftTypeQuals happy_var_1)- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_286 = happyMonadReduce 3# 74# happyReduction_286-happyReduction_286- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl (liftTypeQuals happy_var_1)- [(Just- (reverseDeclr $- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_287 = happySpecReduce_1 75# happyReduction_287-happyReduction_287 happy_x_1- = case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> happyIn82 (singleton happy_var_1)-happyReduce_288 = happySpecReduce_3 75# happyReduction_288-happyReduction_288 happy_x_3 happy_x_2 happy_x_1- = case happyOut82 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_3 of- (CTokIdent _ happy_var_3) -> happyIn82- (happy_var_1 `snoc` happy_var_3)-happyReduce_289 = happyMonadReduce 1# 76# happyReduction_289-happyReduction_289 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))- (\ r -> happyReturn (happyIn83 r))-happyReduce_290 = happyMonadReduce 2# 76# happyReduction_290-happyReduction_290- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn83 r))-happyReduce_291 = happyMonadReduce 2# 76# happyReduction_291-happyReduction_291- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl- (liftTypeQuals happy_var_1 ++- liftCAttrs happy_var_2)- []))- (\ r -> happyReturn (happyIn83 r))-happyReduce_292 = happyMonadReduce 2# 76# happyReduction_292-happyReduction_292- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl (liftTypeQuals happy_var_1)- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn83 r))-happyReduce_293 = happySpecReduce_1 77# happyReduction_293-happyReduction_293 happy_x_1- = case happyOut88 happy_x_1 of- happy_var_1 -> happyIn84 (happy_var_1)-happyReduce_294 = happySpecReduce_1 77# happyReduction_294-happyReduction_294 happy_x_1- = case happyOut89 happy_x_1 of- happy_var_1 -> happyIn84 (happy_var_1)-happyReduce_295 = happySpecReduce_1 77# happyReduction_295-happyReduction_295 happy_x_1- = case happyOut85 happy_x_1 of- happy_var_1 -> happyIn84 (happy_var_1 emptyDeclr)-happyReduce_296 = happySpecReduce_1 78# happyReduction_296-happyReduction_296 happy_x_1- = case happyOut86 happy_x_1 of- happy_var_1 -> happyIn85 (happy_var_1)-happyReduce_297 = happyMonadReduce 3# 78# happyReduction_297-happyReduction_297- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut79 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- \ at declr ->- case happy_var_2 of- (params, variadic) -> funDeclr declr- (Right- (params, variadic))- []- at))- (\ r -> happyReturn (happyIn85 r))-happyReduce_298 = happySpecReduce_1 79# happyReduction_298-happyReduction_298 happy_x_1- = case happyOut87 happy_x_1 of- happy_var_1 -> happyIn86 (happy_var_1)-happyReduce_299 = happySpecReduce_2 79# happyReduction_299-happyReduction_299 happy_x_2 happy_x_1- = case happyOut86 happy_x_1 of- happy_var_1 -> case happyOut87 happy_x_2 of- happy_var_2 -> happyIn86 (\ decl -> happy_var_2 (happy_var_1 decl))-happyReduce_300 = happyMonadReduce 3# 80# happyReduction_300-happyReduction_300- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut120 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- \ at declr ->- arrDeclr declr [] False False happy_var_2 at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_301 = happyMonadReduce 4# 80# happyReduction_301-happyReduction_301- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut120 happy_x_3 of- happy_var_3 -> (withAttributePF happy_var_1- happy_var_2- $- \ at declr ->- arrDeclr declr [] False False- happy_var_3- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_302 = happyMonadReduce 4# 80# happyReduction_302-happyReduction_302- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut120 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- \ at declr ->- arrDeclr declr- (reverse happy_var_2)- False- False- happy_var_3- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_303 = happyMonadReduce 5# 80# happyReduction_303-happyReduction_303- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut120 happy_x_4 of- happy_var_4 -> (withAttributePF- happy_var_1- happy_var_3- $- \ at declr ->- arrDeclr- declr- (reverse- happy_var_2)- False- False- happy_var_4- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_304 = happyMonadReduce 5# 80# happyReduction_304-happyReduction_304- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut115 happy_x_4 of- happy_var_4 -> (withAttributePF happy_var_1- happy_var_3- $- \ at declr ->- arrDeclr declr [] False True- (Just happy_var_4)- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_305 = happyMonadReduce 6# 80# happyReduction_305-happyReduction_305- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_3 of- happy_var_3 -> case happyOut126 happy_x_4 of- happy_var_4 -> case happyOut115 happy_x_5 of- happy_var_5 -> (withAttributePF- happy_var_1- happy_var_4- $- \ at declr ->- arrDeclr- declr- (reverse- happy_var_3)- False- True- (Just- happy_var_5)- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_306 = happyMonadReduce 7# 80# happyReduction_306-happyReduction_306- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut126 happy_x_5 of- happy_var_5 -> case- happyOut115- happy_x_6- of- happy_var_6 -> (withAttributePF- happy_var_1- (happy_var_3- ++- happy_var_5)- $- \ at- declr- ->- arrDeclr- declr- (reverse- happy_var_2)- False- True- (Just- happy_var_6)- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_307 = happyMonadReduce 4# 80# happyReduction_307-happyReduction_307- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withAttributePF happy_var_1 happy_var_3 $- \ at declr ->- arrDeclr declr [] True False Nothing at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_308 = happyMonadReduce 5# 80# happyReduction_308-happyReduction_308- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_4 of- happy_var_4 -> (withAttributePF happy_var_1- (happy_var_2 ++ happy_var_4)- $- \ at declr ->- arrDeclr declr [] True False- Nothing- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_309 = happyMonadReduce 5# 80# happyReduction_309-happyReduction_309- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_4 of- happy_var_4 -> (withAttributePF happy_var_1- happy_var_4- $- \ at declr ->- arrDeclr declr- (reverse happy_var_2)- True- False- Nothing- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_310 = happyMonadReduce 6# 80# happyReduction_310-happyReduction_310- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut126 happy_x_5 of- happy_var_5 -> (withAttributePF- happy_var_1- (happy_var_3- ++- happy_var_5)- $- \ at declr ->- arrDeclr- declr- (reverse- happy_var_2)- True- False- Nothing- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_311 = happyMonadReduce 1# 81# happyReduction_311-happyReduction_311 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ ptrDeclr emptyDeclr []))- (\ r -> happyReturn (happyIn88 r))-happyReduce_312 = happyMonadReduce 3# 81# happyReduction_312-happyReduction_312- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withAttribute happy_var_1- happy_var_3- $- ptrDeclr emptyDeclr- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn88 r))-happyReduce_313 = happyMonadReduce 2# 81# happyReduction_313-happyReduction_313- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_2 []))- (\ r -> happyReturn (happyIn88 r))-happyReduce_314 = happyMonadReduce 3# 81# happyReduction_314-happyReduction_314- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut84 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn88 r))-happyReduce_315 = happyMonadReduce 2# 81# happyReduction_315-happyReduction_315- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> (withAttribute happy_var_1 happy_var_2 $- ptrDeclr emptyDeclr []))- (\ r -> happyReturn (happyIn88 r))-happyReduce_316 = happyMonadReduce 3# 81# happyReduction_316-happyReduction_316- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut84 happy_x_3 of- happy_var_3 -> (withAttribute happy_var_1- happy_var_2- $ ptrDeclr happy_var_3 []))- (\ r -> happyReturn (happyIn88 r))-happyReduce_317 = happySpecReduce_3 82# happyReduction_317-happyReduction_317 happy_x_3 happy_x_2 happy_x_1- = case happyOut88 happy_x_2 of- happy_var_2 -> happyIn89 (happy_var_2)-happyReduce_318 = happySpecReduce_3 82# happyReduction_318-happyReduction_318 happy_x_3 happy_x_2 happy_x_1- = case happyOut89 happy_x_2 of- happy_var_2 -> happyIn89 (happy_var_2)-happyReduce_319 = happySpecReduce_3 82# happyReduction_319-happyReduction_319 happy_x_3 happy_x_2 happy_x_1- = case happyOut85 happy_x_2 of- happy_var_2 -> happyIn89 (happy_var_2 emptyDeclr)-happyReduce_320 = happyReduce 4# 82# happyReduction_320-happyReduction_320- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut88 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_4 of- happy_var_4 -> happyIn89 (happy_var_4 happy_var_2) `HappyStk`- happyRest-happyReduce_321 = happyReduce 4# 82# happyReduction_321-happyReduction_321- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut88 happy_x_3 of- happy_var_3 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_3)- `HappyStk` happyRest-happyReduce_322 = happyReduce 4# 82# happyReduction_322-happyReduction_322- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut89 happy_x_3 of- happy_var_3 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_3)- `HappyStk` happyRest-happyReduce_323 = happyReduce 4# 82# happyReduction_323-happyReduction_323- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_3 of- happy_var_3 -> happyIn89- (appendDeclrAttrs happy_var_2 (happy_var_3 emptyDeclr))- `HappyStk` happyRest-happyReduce_324 = happyReduce 5# 82# happyReduction_324-happyReduction_324- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut88 happy_x_3 of- happy_var_3 -> case happyOut85 happy_x_5 of- happy_var_5 -> happyIn89- (appendDeclrAttrs happy_var_2- (happy_var_5 happy_var_3))- `HappyStk` happyRest-happyReduce_325 = happySpecReduce_2 82# happyReduction_325-happyReduction_325 happy_x_2 happy_x_1- = case happyOut89 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_1)-happyReduce_326 = happyMonadReduce 1# 83# happyReduction_326-happyReduction_326 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut115 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CInitExpr happy_var_1))- (\ r -> happyReturn (happyIn90 r))-happyReduce_327 = happyMonadReduce 3# 83# happyReduction_327-happyReduction_327- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut92 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CInitList (reverse happy_var_2)))- (\ r -> happyReturn (happyIn90 r))-happyReduce_328 = happyMonadReduce 4# 83# happyReduction_328-happyReduction_328- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut92 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CInitList (reverse happy_var_2)))- (\ r -> happyReturn (happyIn90 r))-happyReduce_329 = happySpecReduce_0 84# happyReduction_329-happyReduction_329 = happyIn91 (Nothing)-happyReduce_330 = happySpecReduce_2 84# happyReduction_330-happyReduction_330 happy_x_2 happy_x_1- = case happyOut90 happy_x_2 of- happy_var_2 -> happyIn91 (Just happy_var_2)-happyReduce_331 = happySpecReduce_0 85# happyReduction_331-happyReduction_331 = happyIn92 (empty)-happyReduce_332 = happySpecReduce_1 85# happyReduction_332-happyReduction_332 happy_x_1- = case happyOut90 happy_x_1 of- happy_var_1 -> happyIn92 (singleton ([], happy_var_1))-happyReduce_333 = happySpecReduce_2 85# happyReduction_333-happyReduction_333 happy_x_2 happy_x_1- = case happyOut93 happy_x_1 of- happy_var_1 -> case happyOut90 happy_x_2 of- happy_var_2 -> happyIn92 (singleton (happy_var_1, happy_var_2))-happyReduce_334 = happySpecReduce_3 85# happyReduction_334-happyReduction_334 happy_x_3 happy_x_2 happy_x_1- = case happyOut92 happy_x_1 of- happy_var_1 -> case happyOut90 happy_x_3 of- happy_var_3 -> happyIn92 (happy_var_1 `snoc` ([], happy_var_3))-happyReduce_335 = happyReduce 4# 85# happyReduction_335-happyReduction_335- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut92 happy_x_1 of- happy_var_1 -> case happyOut93 happy_x_3 of- happy_var_3 -> case happyOut90 happy_x_4 of- happy_var_4 -> happyIn92- (happy_var_1 `snoc`- (happy_var_3, happy_var_4))- `HappyStk` happyRest-happyReduce_336 = happySpecReduce_2 86# happyReduction_336-happyReduction_336 happy_x_2 happy_x_1- = case happyOut94 happy_x_1 of- happy_var_1 -> happyIn93 (reverse happy_var_1)-happyReduce_337 = happyMonadReduce 2# 86# happyReduction_337-happyReduction_337- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut125 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- \ at -> [CMemberDesig happy_var_1 at]))- (\ r -> happyReturn (happyIn93 r))-happyReduce_338 = happySpecReduce_1 86# happyReduction_338-happyReduction_338 happy_x_1- = case happyOut96 happy_x_1 of- happy_var_1 -> happyIn93 ([happy_var_1])-happyReduce_339 = happySpecReduce_1 87# happyReduction_339-happyReduction_339 happy_x_1- = case happyOut95 happy_x_1 of- happy_var_1 -> happyIn94 (singleton happy_var_1)-happyReduce_340 = happySpecReduce_2 87# happyReduction_340-happyReduction_340 happy_x_2 happy_x_1- = case happyOut94 happy_x_1 of- happy_var_1 -> case happyOut95 happy_x_2 of- happy_var_2 -> happyIn94 (happy_var_1 `snoc` happy_var_2)-happyReduce_341 = happyMonadReduce 3# 88# happyReduction_341-happyReduction_341- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $ CArrDesig happy_var_2))- (\ r -> happyReturn (happyIn95 r))-happyReduce_342 = happyMonadReduce 2# 88# happyReduction_342-happyReduction_342- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CMemberDesig happy_var_2))- (\ r -> happyReturn (happyIn95 r))-happyReduce_343 = happySpecReduce_1 88# happyReduction_343-happyReduction_343 happy_x_1- = case happyOut96 happy_x_1 of- happy_var_1 -> happyIn95 (happy_var_1)-happyReduce_344 = happyMonadReduce 5# 89# happyReduction_344-happyReduction_344- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_2 of- happy_var_2 -> case happyOut121 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CRangeDesig happy_var_2- happy_var_4))- (\ r -> happyReturn (happyIn96 r))-happyReduce_345 = happyMonadReduce 1# 90# happyReduction_345-happyReduction_345 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- CVar happy_var_1))- (\ r -> happyReturn (happyIn97 r))-happyReduce_346 = happySpecReduce_1 90# happyReduction_346-happyReduction_346 happy_x_1- = case happyOut122 happy_x_1 of- happy_var_1 -> happyIn97 (CConst happy_var_1)-happyReduce_347 = happySpecReduce_1 90# happyReduction_347-happyReduction_347 happy_x_1- = case happyOut123 happy_x_1 of- happy_var_1 -> happyIn97 (CConst (liftStrLit happy_var_1))-happyReduce_348 = happySpecReduce_3 90# happyReduction_348-happyReduction_348 happy_x_3 happy_x_2 happy_x_1- = case happyOut117 happy_x_2 of- happy_var_2 -> happyIn97 (happy_var_2)-happyReduce_349 = happyMonadReduce 3# 90# happyReduction_349-happyReduction_349- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut14 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $ CStatExpr happy_var_2))- (\ r -> happyReturn (happyIn97 r))-happyReduce_350 = happyMonadReduce 6# 90# happyReduction_350-happyReduction_350- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut115 happy_x_3 of- happy_var_3 -> case happyOut83 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CBuiltinExpr .- CBuiltinVaArg happy_var_3- happy_var_5))- (\ r -> happyReturn (happyIn97 r))-happyReduce_351 = happyMonadReduce 6# 90# happyReduction_351-happyReduction_351- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_3 of- happy_var_3 -> case happyOut98 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CBuiltinExpr .- CBuiltinOffsetOf happy_var_3- (reverse happy_var_5)))- (\ r -> happyReturn (happyIn97 r))-happyReduce_352 = happyMonadReduce 6# 90# happyReduction_352-happyReduction_352- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_3 of- happy_var_3 -> case happyOut83 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CBuiltinExpr .- CBuiltinTypesCompatible- happy_var_3- happy_var_5))- (\ r -> happyReturn (happyIn97 r))-happyReduce_353 = happyMonadReduce 1# 91# happyReduction_353-happyReduction_353 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut125 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- singleton . CMemberDesig happy_var_1))- (\ r -> happyReturn (happyIn98 r))-happyReduce_354 = happyMonadReduce 3# 91# happyReduction_354-happyReduction_354- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut98 happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_3 $- (happy_var_1 `snoc`) . CMemberDesig happy_var_3))- (\ r -> happyReturn (happyIn98 r))-happyReduce_355 = happyMonadReduce 4# 91# happyReduction_355-happyReduction_355- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut98 happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_3 $- (happy_var_1 `snoc`) . CArrDesig happy_var_3))- (\ r -> happyReturn (happyIn98 r))-happyReduce_356 = happySpecReduce_1 92# happyReduction_356-happyReduction_356 happy_x_1- = case happyOut97 happy_x_1 of- happy_var_1 -> happyIn99 (happy_var_1)-happyReduce_357 = happyMonadReduce 4# 92# happyReduction_357-happyReduction_357- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CIndex happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn99 r))-happyReduce_358 = happyMonadReduce 3# 92# happyReduction_358-happyReduction_358- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CCall happy_var_1 []))- (\ r -> happyReturn (happyIn99 r))-happyReduce_359 = happyMonadReduce 4# 92# happyReduction_359-happyReduction_359- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> case happyOut100 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CCall happy_var_1 (reverse happy_var_3)))- (\ r -> happyReturn (happyIn99 r))-happyReduce_360 = happyMonadReduce 3# 92# happyReduction_360-happyReduction_360- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CMember happy_var_1 happy_var_3 False))- (\ r -> happyReturn (happyIn99 r))-happyReduce_361 = happyMonadReduce 3# 92# happyReduction_361-happyReduction_361- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CMember happy_var_1 happy_var_3 True))- (\ r -> happyReturn (happyIn99 r))-happyReduce_362 = happyMonadReduce 2# 92# happyReduction_362-happyReduction_362- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CUnary CPostIncOp happy_var_1))- (\ r -> happyReturn (happyIn99 r))-happyReduce_363 = happyMonadReduce 2# 92# happyReduction_363-happyReduction_363- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CUnary CPostDecOp happy_var_1))- (\ r -> happyReturn (happyIn99 r))-happyReduce_364 = happyMonadReduce 6# 92# happyReduction_364-happyReduction_364- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_2 of- happy_var_2 -> case happyOut92 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CCompoundLit happy_var_2- (reverse happy_var_5)))- (\ r -> happyReturn (happyIn99 r))-happyReduce_365 = happyMonadReduce 7# 92# happyReduction_365-happyReduction_365- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_2 of- happy_var_2 -> case happyOut92 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CCompoundLit happy_var_2- (reverse happy_var_5)))- (\ r -> happyReturn (happyIn99 r))-happyReduce_366 = happySpecReduce_1 93# happyReduction_366-happyReduction_366 happy_x_1- = case happyOut115 happy_x_1 of- happy_var_1 -> happyIn100 (singleton happy_var_1)-happyReduce_367 = happySpecReduce_3 93# happyReduction_367-happyReduction_367 happy_x_3 happy_x_2 happy_x_1- = case happyOut100 happy_x_1 of- happy_var_1 -> case happyOut115 happy_x_3 of- happy_var_3 -> happyIn100 (happy_var_1 `snoc` happy_var_3)-happyReduce_368 = happySpecReduce_1 94# happyReduction_368-happyReduction_368 happy_x_1- = case happyOut99 happy_x_1 of- happy_var_1 -> happyIn101 (happy_var_1)-happyReduce_369 = happyMonadReduce 2# 94# happyReduction_369-happyReduction_369- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CUnary CPreIncOp happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_370 = happyMonadReduce 2# 94# happyReduction_370-happyReduction_370- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CUnary CPreDecOp happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_371 = happySpecReduce_2 94# happyReduction_371-happyReduction_371 happy_x_2 happy_x_1- = case happyOut103 happy_x_2 of- happy_var_2 -> happyIn101 (happy_var_2)-happyReduce_372 = happyMonadReduce 2# 94# happyReduction_372-happyReduction_372- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut102 happy_x_1 of- happy_var_1 -> case happyOut103 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CUnary (unL happy_var_1) happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_373 = happyMonadReduce 2# 94# happyReduction_373-happyReduction_373- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CSizeofExpr happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_374 = happyMonadReduce 4# 94# happyReduction_374-happyReduction_374- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CSizeofType happy_var_3))- (\ r -> happyReturn (happyIn101 r))-happyReduce_375 = happyMonadReduce 2# 94# happyReduction_375-happyReduction_375- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CAlignofExpr happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_376 = happyMonadReduce 4# 94# happyReduction_376-happyReduction_376- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CAlignofType happy_var_3))- (\ r -> happyReturn (happyIn101 r))-happyReduce_377 = happyMonadReduce 2# 94# happyReduction_377-happyReduction_377- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CComplexReal happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_378 = happyMonadReduce 2# 94# happyReduction_378-happyReduction_378- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CComplexImag happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_379 = happyMonadReduce 2# 94# happyReduction_379-happyReduction_379- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CLabAddrExpr happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_380 = happySpecReduce_1 95# happyReduction_380-happyReduction_380 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CAdrOp (posOf happy_var_1))-happyReduce_381 = happySpecReduce_1 95# happyReduction_381-happyReduction_381 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CIndOp (posOf happy_var_1))-happyReduce_382 = happySpecReduce_1 95# happyReduction_382-happyReduction_382 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CPlusOp (posOf happy_var_1))-happyReduce_383 = happySpecReduce_1 95# happyReduction_383-happyReduction_383 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CMinOp (posOf happy_var_1))-happyReduce_384 = happySpecReduce_1 95# happyReduction_384-happyReduction_384 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CCompOp (posOf happy_var_1))-happyReduce_385 = happySpecReduce_1 95# happyReduction_385-happyReduction_385 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CNegOp (posOf happy_var_1))-happyReduce_386 = happySpecReduce_1 96# happyReduction_386-happyReduction_386 happy_x_1- = case happyOut101 happy_x_1 of- happy_var_1 -> happyIn103 (happy_var_1)-happyReduce_387 = happyMonadReduce 4# 96# happyReduction_387-happyReduction_387- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_2 of- happy_var_2 -> case happyOut103 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CCast happy_var_2 happy_var_4))- (\ r -> happyReturn (happyIn103 r))-happyReduce_388 = happySpecReduce_1 97# happyReduction_388-happyReduction_388 happy_x_1- = case happyOut103 happy_x_1 of- happy_var_1 -> happyIn104 (happy_var_1)-happyReduce_389 = happyMonadReduce 3# 97# happyReduction_389-happyReduction_389- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut104 happy_x_1 of- happy_var_1 -> case happyOut103 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CMulOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn104 r))-happyReduce_390 = happyMonadReduce 3# 97# happyReduction_390-happyReduction_390- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut104 happy_x_1 of- happy_var_1 -> case happyOut103 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CDivOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn104 r))-happyReduce_391 = happyMonadReduce 3# 97# happyReduction_391-happyReduction_391- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut104 happy_x_1 of- happy_var_1 -> case happyOut103 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CRmdOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn104 r))-happyReduce_392 = happySpecReduce_1 98# happyReduction_392-happyReduction_392 happy_x_1- = case happyOut104 happy_x_1 of- happy_var_1 -> happyIn105 (happy_var_1)-happyReduce_393 = happyMonadReduce 3# 98# happyReduction_393-happyReduction_393- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut105 happy_x_1 of- happy_var_1 -> case happyOut104 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CAddOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn105 r))-happyReduce_394 = happyMonadReduce 3# 98# happyReduction_394-happyReduction_394- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut105 happy_x_1 of- happy_var_1 -> case happyOut104 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CSubOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn105 r))-happyReduce_395 = happySpecReduce_1 99# happyReduction_395-happyReduction_395 happy_x_1- = case happyOut105 happy_x_1 of- happy_var_1 -> happyIn106 (happy_var_1)-happyReduce_396 = happyMonadReduce 3# 99# happyReduction_396-happyReduction_396- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut106 happy_x_1 of- happy_var_1 -> case happyOut105 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CShlOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn106 r))-happyReduce_397 = happyMonadReduce 3# 99# happyReduction_397-happyReduction_397- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut106 happy_x_1 of- happy_var_1 -> case happyOut105 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CShrOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn106 r))-happyReduce_398 = happySpecReduce_1 100# happyReduction_398-happyReduction_398 happy_x_1- = case happyOut106 happy_x_1 of- happy_var_1 -> happyIn107 (happy_var_1)-happyReduce_399 = happyMonadReduce 3# 100# happyReduction_399-happyReduction_399- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut107 happy_x_1 of- happy_var_1 -> case happyOut106 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CLeOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn107 r))-happyReduce_400 = happyMonadReduce 3# 100# happyReduction_400-happyReduction_400- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut107 happy_x_1 of- happy_var_1 -> case happyOut106 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CGrOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn107 r))-happyReduce_401 = happyMonadReduce 3# 100# happyReduction_401-happyReduction_401- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut107 happy_x_1 of- happy_var_1 -> case happyOut106 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CLeqOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn107 r))-happyReduce_402 = happyMonadReduce 3# 100# happyReduction_402-happyReduction_402- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut107 happy_x_1 of- happy_var_1 -> case happyOut106 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CGeqOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn107 r))-happyReduce_403 = happySpecReduce_1 101# happyReduction_403-happyReduction_403 happy_x_1- = case happyOut107 happy_x_1 of- happy_var_1 -> happyIn108 (happy_var_1)-happyReduce_404 = happyMonadReduce 3# 101# happyReduction_404-happyReduction_404- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut108 happy_x_1 of- happy_var_1 -> case happyOut107 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CEqOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn108 r))-happyReduce_405 = happyMonadReduce 3# 101# happyReduction_405-happyReduction_405- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut108 happy_x_1 of- happy_var_1 -> case happyOut107 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CNeqOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn108 r))-happyReduce_406 = happySpecReduce_1 102# happyReduction_406-happyReduction_406 happy_x_1- = case happyOut108 happy_x_1 of- happy_var_1 -> happyIn109 (happy_var_1)-happyReduce_407 = happyMonadReduce 3# 102# happyReduction_407-happyReduction_407- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut109 happy_x_1 of- happy_var_1 -> case happyOut108 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CAndOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn109 r))-happyReduce_408 = happySpecReduce_1 103# happyReduction_408-happyReduction_408 happy_x_1- = case happyOut109 happy_x_1 of- happy_var_1 -> happyIn110 (happy_var_1)-happyReduce_409 = happyMonadReduce 3# 103# happyReduction_409-happyReduction_409- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut110 happy_x_1 of- happy_var_1 -> case happyOut109 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CXorOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn110 r))-happyReduce_410 = happySpecReduce_1 104# happyReduction_410-happyReduction_410 happy_x_1- = case happyOut110 happy_x_1 of- happy_var_1 -> happyIn111 (happy_var_1)-happyReduce_411 = happyMonadReduce 3# 104# happyReduction_411-happyReduction_411- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut111 happy_x_1 of- happy_var_1 -> case happyOut110 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary COrOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn111 r))-happyReduce_412 = happySpecReduce_1 105# happyReduction_412-happyReduction_412 happy_x_1- = case happyOut111 happy_x_1 of- happy_var_1 -> happyIn112 (happy_var_1)-happyReduce_413 = happyMonadReduce 3# 105# happyReduction_413-happyReduction_413- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut112 happy_x_1 of- happy_var_1 -> case happyOut111 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CLndOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn112 r))-happyReduce_414 = happySpecReduce_1 106# happyReduction_414-happyReduction_414 happy_x_1- = case happyOut112 happy_x_1 of- happy_var_1 -> happyIn113 (happy_var_1)-happyReduce_415 = happyMonadReduce 3# 106# happyReduction_415-happyReduction_415- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut113 happy_x_1 of- happy_var_1 -> case happyOut112 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CLorOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn113 r))-happyReduce_416 = happySpecReduce_1 107# happyReduction_416-happyReduction_416 happy_x_1- = case happyOut113 happy_x_1 of- happy_var_1 -> happyIn114 (happy_var_1)-happyReduce_417 = happyMonadReduce 5# 107# happyReduction_417-happyReduction_417- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut113 happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> case happyOut114 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CCond happy_var_1- (Just happy_var_3)- happy_var_5))- (\ r -> happyReturn (happyIn114 r))-happyReduce_418 = happyMonadReduce 4# 107# happyReduction_418-happyReduction_418- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut113 happy_x_1 of- happy_var_1 -> case happyOut114 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CCond happy_var_1 Nothing happy_var_4))- (\ r -> happyReturn (happyIn114 r))-happyReduce_419 = happySpecReduce_1 108# happyReduction_419-happyReduction_419 happy_x_1- = case happyOut114 happy_x_1 of- happy_var_1 -> happyIn115 (happy_var_1)-happyReduce_420 = happyMonadReduce 3# 108# happyReduction_420-happyReduction_420- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut101 happy_x_1 of- happy_var_1 -> case happyOut116 happy_x_2 of- happy_var_2 -> case happyOut115 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CAssign (unL happy_var_2)- happy_var_1- happy_var_3))- (\ r -> happyReturn (happyIn115 r))-happyReduce_421 = happySpecReduce_1 109# happyReduction_421-happyReduction_421 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CAssignOp (posOf happy_var_1))-happyReduce_422 = happySpecReduce_1 109# happyReduction_422-happyReduction_422 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CMulAssOp (posOf happy_var_1))-happyReduce_423 = happySpecReduce_1 109# happyReduction_423-happyReduction_423 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CDivAssOp (posOf happy_var_1))-happyReduce_424 = happySpecReduce_1 109# happyReduction_424-happyReduction_424 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CRmdAssOp (posOf happy_var_1))-happyReduce_425 = happySpecReduce_1 109# happyReduction_425-happyReduction_425 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CAddAssOp (posOf happy_var_1))-happyReduce_426 = happySpecReduce_1 109# happyReduction_426-happyReduction_426 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CSubAssOp (posOf happy_var_1))-happyReduce_427 = happySpecReduce_1 109# happyReduction_427-happyReduction_427 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CShlAssOp (posOf happy_var_1))-happyReduce_428 = happySpecReduce_1 109# happyReduction_428-happyReduction_428 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CShrAssOp (posOf happy_var_1))-happyReduce_429 = happySpecReduce_1 109# happyReduction_429-happyReduction_429 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CAndAssOp (posOf happy_var_1))-happyReduce_430 = happySpecReduce_1 109# happyReduction_430-happyReduction_430 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CXorAssOp (posOf happy_var_1))-happyReduce_431 = happySpecReduce_1 109# happyReduction_431-happyReduction_431 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L COrAssOp (posOf happy_var_1))-happyReduce_432 = happySpecReduce_1 110# happyReduction_432-happyReduction_432 happy_x_1- = case happyOut115 happy_x_1 of- happy_var_1 -> happyIn117 (happy_var_1)-happyReduce_433 = happyMonadReduce 3# 110# happyReduction_433-happyReduction_433- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut115 happy_x_1 of- happy_var_1 -> case happyOut118 happy_x_3 of- happy_var_3 -> (let es = reverse happy_var_3 in- withNodeInfo es $ CComma (happy_var_1 : es)))- (\ r -> happyReturn (happyIn117 r))-happyReduce_434 = happySpecReduce_1 111# happyReduction_434-happyReduction_434 happy_x_1- = case happyOut115 happy_x_1 of- happy_var_1 -> happyIn118 (singleton happy_var_1)-happyReduce_435 = happySpecReduce_3 111# happyReduction_435-happyReduction_435 happy_x_3 happy_x_2 happy_x_1- = case happyOut118 happy_x_1 of- happy_var_1 -> case happyOut115 happy_x_3 of- happy_var_3 -> happyIn118 (happy_var_1 `snoc` happy_var_3)-happyReduce_436 = happySpecReduce_0 112# happyReduction_436-happyReduction_436 = happyIn119 (Nothing)-happyReduce_437 = happySpecReduce_1 112# happyReduction_437-happyReduction_437 happy_x_1- = case happyOut117 happy_x_1 of- happy_var_1 -> happyIn119 (Just happy_var_1)-happyReduce_438 = happySpecReduce_0 113# happyReduction_438-happyReduction_438 = happyIn120 (Nothing)-happyReduce_439 = happySpecReduce_1 113# happyReduction_439-happyReduction_439 happy_x_1- = case happyOut115 happy_x_1 of- happy_var_1 -> happyIn120 (Just happy_var_1)-happyReduce_440 = happySpecReduce_1 114# happyReduction_440-happyReduction_440 happy_x_1- = case happyOut114 happy_x_1 of- happy_var_1 -> happyIn121 (happy_var_1)-happyReduce_441 = happyMonadReduce 1# 115# happyReduction_441-happyReduction_441 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- case happy_var_1 of- CTokILit _ i -> CIntConst i))- (\ r -> happyReturn (happyIn122 r))-happyReduce_442 = happyMonadReduce 1# 115# happyReduction_442-happyReduction_442 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- case happy_var_1 of- CTokCLit _ c -> CCharConst c))- (\ r -> happyReturn (happyIn122 r))-happyReduce_443 = happyMonadReduce 1# 115# happyReduction_443-happyReduction_443 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- case happy_var_1 of- CTokFLit _ f -> CFloatConst f))- (\ r -> happyReturn (happyIn122 r))-happyReduce_444 = happyMonadReduce 1# 116# happyReduction_444-happyReduction_444 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- case happy_var_1 of- CTokSLit _ s -> CStrLit s))- (\ r -> happyReturn (happyIn123 r))-happyReduce_445 = happyMonadReduce 2# 116# happyReduction_445-happyReduction_445- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut124 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- case happy_var_1 of- CTokSLit _ s -> CStrLit- (concatCStrings- (s :- reverse happy_var_2))))- (\ r -> happyReturn (happyIn123 r))-happyReduce_446 = happySpecReduce_1 117# happyReduction_446-happyReduction_446 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn124- (case happy_var_1 of- CTokSLit _ s -> singleton s)-happyReduce_447 = happySpecReduce_2 117# happyReduction_447-happyReduction_447 happy_x_2 happy_x_1- = case happyOut124 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> happyIn124- (case happy_var_2 of- CTokSLit _ s -> happy_var_1 `snoc` s)-happyReduce_448 = happySpecReduce_1 118# happyReduction_448-happyReduction_448 happy_x_1- = case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> happyIn125 (happy_var_1)-happyReduce_449 = happySpecReduce_1 118# happyReduction_449-happyReduction_449 happy_x_1- = case happyOutTok happy_x_1 of- (CTokTyIdent _ happy_var_1) -> happyIn125 (happy_var_1)-happyReduce_450 = happySpecReduce_0 119# happyReduction_450-happyReduction_450 = happyIn126 ([])-happyReduce_451 = happySpecReduce_1 119# happyReduction_451-happyReduction_451 happy_x_1- = case happyOut127 happy_x_1 of- happy_var_1 -> happyIn126 (happy_var_1)-happyReduce_452 = happySpecReduce_1 120# happyReduction_452-happyReduction_452 happy_x_1- = case happyOut128 happy_x_1 of- happy_var_1 -> happyIn127 (happy_var_1)-happyReduce_453 = happySpecReduce_2 120# happyReduction_453-happyReduction_453 happy_x_2 happy_x_1- = case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn127 (happy_var_1 ++ happy_var_2)-happyReduce_454 = happyReduce 6# 121# happyReduction_454-happyReduction_454- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- = case happyOut129 happy_x_4 of- happy_var_4 -> happyIn128 (reverse happy_var_4) `HappyStk`- happyRest-happyReduce_455 = happySpecReduce_1 122# happyReduction_455-happyReduction_455 happy_x_1- = case happyOut130 happy_x_1 of- happy_var_1 -> happyIn129- (case happy_var_1 of- Nothing -> empty- Just attr -> singleton attr)-happyReduce_456 = happySpecReduce_3 122# happyReduction_456-happyReduction_456 happy_x_3 happy_x_2 happy_x_1- = case happyOut129 happy_x_1 of- happy_var_1 -> case happyOut130 happy_x_3 of- happy_var_3 -> happyIn129- ((maybe id (flip snoc) happy_var_3) happy_var_1)-happyReduce_457 = happySpecReduce_0 123# happyReduction_457-happyReduction_457 = happyIn130 (Nothing)-happyReduce_458 = happyMonadReduce 1# 123# happyReduction_458-happyReduction_458 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- Just . CAttr happy_var_1 []))- (\ r -> happyReturn (happyIn130 r))-happyReduce_459 = happyMonadReduce 1# 123# happyReduction_459-happyReduction_459 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- Just . CAttr (internalIdent "const") []))- (\ r -> happyReturn (happyIn130 r))-happyReduce_460 = happyMonadReduce 4# 123# happyReduction_460-happyReduction_460- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> case happyOut131 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- Just .- CAttr happy_var_1- (reverse happy_var_3)))- (\ r -> happyReturn (happyIn130 r))-happyReduce_461 = happyMonadReduce 3# 123# happyReduction_461-happyReduction_461- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- Just . CAttr happy_var_1 []))- (\ r -> happyReturn (happyIn130 r))-happyReduce_462 = happySpecReduce_1 124# happyReduction_462-happyReduction_462 happy_x_1- = case happyOut121 happy_x_1 of- happy_var_1 -> happyIn131 (singleton happy_var_1)-happyReduce_463 = happySpecReduce_3 124# happyReduction_463-happyReduction_463 happy_x_3 happy_x_2 happy_x_1- = case happyOut131 happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_3 of- happy_var_3 -> happyIn131 (happy_var_1 `snoc` happy_var_3)-happyNewToken action sts stk- = lexC- (\ tk ->- let cont i = happyDoAction i tk action sts stk in- case tk of- CTokEof -> happyDoAction 101# tk action sts stk- CTokLParen _ -> cont 1#- CTokRParen _ -> cont 2#- CTokLBracket _ -> cont 3#- CTokRBracket _ -> cont 4#- CTokArrow _ -> cont 5#- CTokDot _ -> cont 6#- CTokExclam _ -> cont 7#- CTokTilde _ -> cont 8#- CTokInc _ -> cont 9#- CTokDec _ -> cont 10#- CTokPlus _ -> cont 11#- CTokMinus _ -> cont 12#- CTokStar _ -> cont 13#- CTokSlash _ -> cont 14#- CTokPercent _ -> cont 15#- CTokAmper _ -> cont 16#- CTokShiftL _ -> cont 17#- CTokShiftR _ -> cont 18#- CTokLess _ -> cont 19#- CTokLessEq _ -> cont 20#- CTokHigh _ -> cont 21#- CTokHighEq _ -> cont 22#- CTokEqual _ -> cont 23#- CTokUnequal _ -> cont 24#- CTokHat _ -> cont 25#- CTokBar _ -> cont 26#- CTokAnd _ -> cont 27#- CTokOr _ -> cont 28#- CTokQuest _ -> cont 29#- CTokColon _ -> cont 30#- CTokAssign _ -> cont 31#- CTokPlusAss _ -> cont 32#- CTokMinusAss _ -> cont 33#- CTokStarAss _ -> cont 34#- CTokSlashAss _ -> cont 35#- CTokPercAss _ -> cont 36#- CTokAmpAss _ -> cont 37#- CTokHatAss _ -> cont 38#- CTokBarAss _ -> cont 39#- CTokSLAss _ -> cont 40#- CTokSRAss _ -> cont 41#- CTokComma _ -> cont 42#- CTokSemic _ -> cont 43#- CTokLBrace _ -> cont 44#- CTokRBrace _ -> cont 45#- CTokEllipsis _ -> cont 46#- CTokAlignof _ -> cont 47#- CTokAsm _ -> cont 48#- CTokAuto _ -> cont 49#- CTokBreak _ -> cont 50#- CTokBool _ -> cont 51#- CTokCase _ -> cont 52#- CTokChar _ -> cont 53#- CTokConst _ -> cont 54#- CTokContinue _ -> cont 55#- CTokComplex _ -> cont 56#- CTokDefault _ -> cont 57#- CTokDo _ -> cont 58#- CTokDouble _ -> cont 59#- CTokElse _ -> cont 60#- CTokEnum _ -> cont 61#- CTokExtern _ -> cont 62#- CTokFloat _ -> cont 63#- CTokFor _ -> cont 64#- CTokGoto _ -> cont 65#- CTokIf _ -> cont 66#- CTokInline _ -> cont 67#- CTokInt _ -> cont 68#- CTokLong _ -> cont 69#- CTokLabel _ -> cont 70#- CTokRegister _ -> cont 71#- CTokRestrict _ -> cont 72#- CTokReturn _ -> cont 73#- CTokShort _ -> cont 74#- CTokSigned _ -> cont 75#- CTokSizeof _ -> cont 76#- CTokStatic _ -> cont 77#- CTokStruct _ -> cont 78#- CTokSwitch _ -> cont 79#- CTokTypedef _ -> cont 80#- CTokTypeof _ -> cont 81#- CTokThread _ -> cont 82#- CTokUnion _ -> cont 83#- CTokUnsigned _ -> cont 84#- CTokVoid _ -> cont 85#- CTokVolatile _ -> cont 86#- CTokWhile _ -> cont 87#- CTokCLit _ _ -> cont 88#- CTokILit _ _ -> cont 89#- CTokFLit _ _ -> cont 90#- CTokSLit _ _ -> cont 91#- CTokIdent _ happy_dollar_dollar -> cont 92#- CTokTyIdent _ happy_dollar_dollar -> cont 93#- CTokGnuC GnuCAttrTok _ -> cont 94#- CTokGnuC GnuCExtTok _ -> cont 95#- CTokGnuC GnuCComplexReal _ -> cont 96#- CTokGnuC GnuCComplexImag _ -> cont 97#- CTokGnuC GnuCVaArg _ -> cont 98#- CTokGnuC GnuCOffsetof _ -> cont 99#- CTokGnuC GnuCTyCompat _ -> cont 100#- _ -> happyError' tk)-happyError_ tk = happyError' tk- -happyThen :: P a -> (a -> P b) -> P b-happyThen = (>>=)- -happyReturn :: a -> P a-happyReturn = (return)-happyThen1 = happyThen- -happyReturn1 :: a -> P a-happyReturn1 = happyReturn- -happyError' :: CToken -> P a-happyError' tk = (\ token -> happyError) tk-translation_unit = happySomeParser- where happySomeParser- = happyThen (happyParse 0#) (\ x -> happyReturn (happyOut7 x))-external_declaration = happySomeParser- where happySomeParser- = happyThen (happyParse 1#) (\ x -> happyReturn (happyOut9 x))-statement = happySomeParser- where happySomeParser- = happyThen (happyParse 2#) (\ x -> happyReturn (happyOut12 x))-expression = happySomeParser- where happySomeParser- = happyThen (happyParse 3#) (\ x -> happyReturn (happyOut117 x))-happySeq = happyDontSeq- -reverseList :: [a] -> Reversed [a]-reverseList = Reversed . List.reverse- -data Located a = L !a !Position- -unL :: Located a -> a-unL (L a pos) = a- -instance Pos (Located a) where- posOf (L _ pos) = pos- -{-# INLINE withNodeInfo #-}- -withNodeInfo :: (Pos node) => node -> (NodeInfo -> a) -> P a-withNodeInfo node mkAttrNode- = do name <- getNewName- lastTok <- getSavedToken- let firstPos = posOf node- let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok) name- attrs `seq` return (mkAttrNode attrs)- -{-# INLINE withLength #-}- -withLength :: NodeInfo -> (NodeInfo -> a) -> P a-withLength nodeinfo mkAttrNode- = do lastTok <- getSavedToken- let firstPos = posOfNode nodeinfo- let attrs- = mkNodeInfo' firstPos (posLenOfTok $! lastTok)- (maybe (error "nameOfNode") id (nameOfNode nodeinfo))- attrs `seq` return (mkAttrNode attrs)- -data CDeclrR = CDeclrR (Maybe Ident) (Reversed [CDerivedDeclr])- (Maybe CStrLit) [CAttr] NodeInfo- -reverseDeclr :: CDeclrR -> CDeclr-reverseDeclr (CDeclrR ide reversedDDs asmname cattrs at)- = CDeclr ide (reverse reversedDDs) asmname cattrs at- -instance CNode (CDeclrR) where- nodeInfo (CDeclrR _ _ _ _ n) = n- -instance Pos (CDeclrR) where- posOf (CDeclrR _ _ _ _ n) = posOf n- -{-# INLINE withAttribute #-}- -withAttribute ::- (Pos node) => node -> [CAttr] -> (NodeInfo -> CDeclrR) -> P CDeclrR-withAttribute node cattrs mkDeclrNode- = do name <- getNewName- let attrs = mkNodeInfo (posOf node) name- let newDeclr = appendDeclrAttrs cattrs $ mkDeclrNode attrs- attrs `seq` newDeclr `seq` return newDeclr- -{-# INLINE withAttributePF #-}- -withAttributePF ::- (Pos node) =>- node ->- [CAttr] ->- (NodeInfo -> CDeclrR -> CDeclrR) -> P (CDeclrR -> CDeclrR)-withAttributePF node cattrs mkDeclrCtor- = do name <- getNewName- let attrs = mkNodeInfo (posOf node) name- let newDeclr = appendDeclrAttrs cattrs . mkDeclrCtor attrs- attrs `seq` newDeclr `seq` return newDeclr- -appendObjAttrs :: [CAttr] -> CDeclr -> CDeclr-appendObjAttrs newAttrs- (CDeclr ident indirections asmname cAttrs at)- = CDeclr ident indirections asmname (cAttrs ++ newAttrs) at- -appendObjAttrsR :: [CAttr] -> CDeclrR -> CDeclrR-appendObjAttrsR newAttrs- (CDeclrR ident indirections asmname cAttrs at)- = CDeclrR ident indirections asmname (cAttrs ++ newAttrs) at- -setAsmName :: Maybe CStrLit -> CDeclrR -> P CDeclrR-setAsmName mAsmName (CDeclrR ident indirections oldName cattrs at)- = case combineName mAsmName oldName of- Left (n1, n2) -> failP (posOf n2)- ["Duplicate assembler name: ", showName n1, showName n2]- Right newName -> return $- CDeclrR ident indirections newName cattrs at- where combineName Nothing Nothing = Right Nothing- combineName Nothing oldname@(Just _) = Right oldname- combineName newname@(Just _) Nothing = Right newname- combineName (Just n1) (Just n2) = Left (n1, n2)- showName (CStrLit cstr _) = show cstr- -withAsmNameAttrs ::- (Maybe CStrLit, [CAttr]) -> CDeclrR -> P CDeclrR-withAsmNameAttrs (mAsmName, newAttrs) declr- = setAsmName mAsmName (appendObjAttrsR newAttrs declr)- -appendDeclrAttrs :: [CAttr] -> CDeclrR -> CDeclrR-appendDeclrAttrs newAttrs- (CDeclrR ident (Reversed []) asmname cattrs at)- = CDeclrR ident empty asmname (cattrs ++ newAttrs) at-appendDeclrAttrs newAttrs- (CDeclrR ident (Reversed (x : xs)) asmname cattrs at)- = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at- where appendAttrs (CPtrDeclr typeQuals at)- = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at- appendAttrs (CArrDeclr typeQuals arraySize at)- = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at- appendAttrs (CFunDeclr parameters cattrs at)- = CFunDeclr parameters (cattrs ++ newAttrs) at- -ptrDeclr :: CDeclrR -> [CTypeQual] -> NodeInfo -> CDeclrR-ptrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals- at- = CDeclrR ident (derivedDeclrs `snoc` CPtrDeclr tyquals at) asmname- cattrs- dat- -funDeclr ::- CDeclrR ->- (Either [Ident] ([CDecl], Bool)) -> [CAttr] -> NodeInfo -> CDeclrR-funDeclr (CDeclrR ident derivedDeclrs asmname dcattrs dat) params- cattrs at- = CDeclrR ident (derivedDeclrs `snoc` CFunDeclr params cattrs at)- asmname- dcattrs- dat- -arrDeclr ::- CDeclrR ->- [CTypeQual] -> Bool -> Bool -> Maybe CExpr -> NodeInfo -> CDeclrR-arrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals- var_sized static_size size_expr_opt at- = arr_sz `seq`- (CDeclrR ident (derivedDeclrs `snoc` CArrDeclr tyquals arr_sz at)- asmname- cattrs- dat)- where arr_sz- = case size_expr_opt of- Just e -> CArrSize static_size e- Nothing -> CNoArrSize var_sized- -liftTypeQuals :: Reversed [CTypeQual] -> [CDeclSpec]-liftTypeQuals = map CTypeQual . reverse- -liftCAttrs :: [CAttr] -> [CDeclSpec]-liftCAttrs = map (CTypeQual . CAttrQual)- -addTrailingAttrs ::- Reversed [CDeclSpec] -> [CAttr] -> Reversed [CDeclSpec]-addTrailingAttrs declspecs new_attrs- = case viewr declspecs of- (specs_init,- CTypeSpec- (CSUType (CStruct tag name (Just def) def_attrs su_node)- node)) -> (specs_init `snoc`- CTypeSpec- (CSUType- (CStruct tag name (Just def) (def_attrs ++ new_attrs) su_node)- node))- (specs_init,- CTypeSpec- (CEnumType (CEnum name (Just def) def_attrs e_node)- node)) -> (specs_init `snoc`- CTypeSpec- (CEnumType (CEnum name (Just def) (def_attrs ++ new_attrs) e_node)- node))- _ -> declspecs `rappend` (liftCAttrs new_attrs)- -instance (Pos a) => Pos [a] where- posOf (x : _) = posOf x- -instance (Pos a) => Pos (Reversed a) where- posOf (Reversed x) = posOf x- -emptyDeclr :: CDeclrR-emptyDeclr = CDeclrR Nothing empty Nothing [] undefNode- -mkVarDeclr :: Ident -> NodeInfo -> CDeclrR-mkVarDeclr ident = CDeclrR (Just ident) empty Nothing []- -doDeclIdent :: [CDeclSpec] -> CDeclrR -> P ()-doDeclIdent declspecs (CDeclrR mIdent _ _ _ _)- = case mIdent of- Nothing -> return ()- Just ident | any iypedef declspecs -> addTypedef ident- | otherwise -> shadowTypedef ident- where iypedef (CStorageSpec (CTypedef _)) = True- iypedef _ = False- -doFuncParamDeclIdent :: CDeclr -> P ()-doFuncParamDeclIdent (CDeclr _ (CFunDeclr params _ _ : _) _ _ _)- = sequence_- [case getCDeclrIdent declr of- Nothing -> return ()- Just ident -> shadowTypedef ident- | CDecl _ dle _ <- either (const []) fst params,- (Just declr, _, _) <- dle]-doFuncParamDeclIdent _ = return ()- -getCDeclrIdent :: CDeclr -> Maybe Ident-getCDeclrIdent (CDeclr mIdent _ _ _ _) = mIdent- -happyError :: P a-happyError = parseError- -parseC :: InputStream -> Position -> Either ParseError CTranslUnit-parseC input initialPosition- = fmap fst $- execParser translUnitP input initialPosition builtinTypeNames- (namesStartingFrom 0)- -translUnitP :: P CTranslUnit-translUnitP = translation_unit- -extDeclP :: P CExtDecl-extDeclP = external_declaration- -statementP :: P CStat-statementP = statement- -expressionP :: P CExpr-expressionP = expression- -data Happy_IntList = HappyCons Int# Happy_IntList- -infixr 9 `HappyStk`- -data HappyStk a = HappyStk a (HappyStk a)-happyParse start_state- = happyNewToken start_state notHappyAtAll notHappyAtAll-happyAccept 0# tk st sts (_ `HappyStk` (ans `HappyStk` _))- = happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _)- = (happyTcHack j (happyTcHack st)) (happyReturn1 ans)-happyDoAction i tk st- = case action of- 0# -> happyFail i tk st- - 1# -> happyAccept i tk st- n | (n <# (0# :: Int#)) -> (happyReduceArr ! rule) i tk st- where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))- n -> happyShift new_state i tk st- where new_state = (n -# (1# :: Int#))- where off = indexShortOffAddr happyActOffsets st- off_i = (off +# i)- check- = if (off_i >=# (0# :: Int#)) then- (indexShortOffAddr happyCheck off_i ==# i) else False- action- | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st-indexShortOffAddr (HappyA# arr) off- = narrow16Int# i intToInt16# i (i `iShiftL#` 16#) `iShiftRA#` 16#- where i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)- i = word2Int# ((high `shiftL#` 8#) `or#` low)- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- low = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 2#- -data HappyAddr = HappyA# Addr#-happyShift new_state 0# tk st sts stk@(x `HappyStk` _)- = let i = (case unsafeCoerce# x of- (I# (i)) -> i)- in happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)-happyShift new_state i tk st sts stk- = happyNewToken new_state (HappyCons (st) (sts))- ((happyInTok (tk)) `HappyStk` stk)-happySpecReduce_0 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)-happySpecReduce_1 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_)))- (v1 `HappyStk` stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))-happySpecReduce_2 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _- (HappyCons (_) (sts@((HappyCons (st@(action)) (_)))))- (v1 `HappyStk` (v2 `HappyStk` stk'))- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))-happySpecReduce_3 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _- (HappyCons (_)- ((HappyCons (_) (sts@((HappyCons (st@(action)) (_)))))))- (v1 `HappyStk` (v2 `HappyStk` (v3 `HappyStk` stk')))- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))-happyReduce k i fn 0# tk st sts stk = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk- = case happyDrop (k -# (1# :: Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) -> let r = fn stk in- happyDoSeq r (happyGoto nt j tk st1 sts1 r)-happyMonadReduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk- = happyThen1 (fn stk tk)- (\ r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))- where sts1@((HappyCons (st1@(action)) (_)))- = happyDrop k (HappyCons (st) (sts))- drop_stk = happyDropStk k stk-happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk- = happyThen1 (fn stk tk)- (\ r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))- where sts1@((HappyCons (st1@(action)) (_)))- = happyDrop k (HappyCons (st) (sts))- drop_stk = happyDropStk k stk- off = indexShortOffAddr happyGotoOffsets st1- off_i = (off +# nt)- new_state = indexShortOffAddr happyTable off_i-happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t-happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs)- = happyDropStk (n -# (1# :: Int#)) xs-happyGoto nt j tk st = happyDoAction j tk new_state- where off = indexShortOffAddr happyGotoOffsets st- off_i = (off +# nt)- new_state = indexShortOffAddr happyTable off_i-happyFail 0# tk old_st _ stk = happyError_ tk-happyFail i tk (action) sts stk- = happyDoAction 0# tk action sts- ((unsafeCoerce# (I# (i))) `HappyStk` stk)-notHappyAtAll = error "Internal Happy error\n"- -happyTcHack :: Int# -> a -> a-happyTcHack x y = y- -{-# INLINE happyTcHack #-}- -happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b- -{-# NOINLINE happyDoAction #-}- -{-# NOINLINE happyTable #-}- -{-# NOINLINE happyCheck #-}- -{-# NOINLINE happyActOffsets #-}- -{-# NOINLINE happyGotoOffsets #-}- -{-# NOINLINE happyDefActions #-}- -{-# NOINLINE happyShift #-}- -{-# NOINLINE happySpecReduce_0 #-}- -{-# NOINLINE happySpecReduce_1 #-}- -{-# NOINLINE happySpecReduce_2 #-}- -{-# NOINLINE happySpecReduce_3 #-}- -{-# NOINLINE happyReduce #-}- -{-# NOINLINE happyMonadReduce #-}- -{-# NOINLINE happyGoto #-}- -{-# NOINLINE happyFail #-}
tests/examples/CStyleLinePragmas.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/CStyleLinePragmas.hs", srcLine = 1, srcColumn = 1}) "Parse error: #"+ParseFailed (SrcLoc "tests/examples/CStyleLinePragmas.hs" 1 1) "Parse error: #"
tests/examples/CStyleLinePragmas.hs.parser.golden view
@@ -1,1 +1,2 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/CStyleLinePragmas.hs", srcLine = 1, srcColumn = 1}) "Parse error: #"+ParseFailed+ (SrcLoc "tests/examples/CStyleLinePragmas.hs" 1 1) "Parse error: #"
tests/examples/CStyleLinePragmas.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/CStyleLinePragmas.hs", srcLine = 1, srcColumn = 1}) "Parse error: #"+ParseFailed (SrcLoc "tests/examples/CStyleLinePragmas.hs" 1 1) "Parse error: #"
tests/examples/CStyleLinePragmas.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/CStyleLinePragmas.hs", srcLine = 1, srcColumn = 1}) "Parse error: #"+ParseFailed (SrcLoc "tests/examples/CStyleLinePragmas.hs" 1 1) "Parse error: #"
+ tests/examples/ClassContext.hs view
@@ -0,0 +1,2 @@+f :: Ord (i Int) => i Int -> i Int+f = undefined
+ tests/examples/ClassContext.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ClassContext.hs.parser.golden view
@@ -0,0 +1,228 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 1 1 1+ , SrcSpan "tests/examples/ClassContext.hs" 1 1 1 1+ , SrcSpan "tests/examples/ClassContext.hs" 1 1 1 1+ , SrcSpan "tests/examples/ClassContext.hs" 2 1 2 1+ , SrcSpan "tests/examples/ClassContext.hs" 3 1 3 1+ , SrcSpan "tests/examples/ClassContext.hs" 3 1 3 1+ ]+ }+ Nothing+ []+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 1 1 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 3 1 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 1 1 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 35+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ "Ord")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 10 1 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 10 1 11+ , SrcSpan "tests/examples/ClassContext.hs" 1 16 1 17+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 16+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12+ , srcInfoPoints = []+ }+ "i"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+ , srcInfoPoints = []+ }+ "Int")))))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 21 1 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 27 1 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 21 1 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 21 1 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 21 1 22+ , srcInfoPoints = []+ }+ "i"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 23 1 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 23 1 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 23 1 26+ , srcInfoPoints = []+ }+ "Int"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 30 1 35+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 30 1 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 30 1 31+ , srcInfoPoints = []+ }+ "i"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 32 1 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 32 1 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 32 1 35+ , srcInfoPoints = []+ }+ "Int"))))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 2 1 2 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 2 3 2 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 2 3 2 4 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 2 5 2 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 2 5 2 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 2 5 2 14+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ , []+ )
+ tests/examples/ClassContext.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ClassContext.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+f :: Ord (i Int) => i Int -> i Int+f = undefined
+ tests/examples/ClassDeclSrcSpan.hs view
@@ -0,0 +1,6 @@++class C1 a where+ toString :: a -> String++t1 :: String+t1 = "Hello"
+ tests/examples/ClassDeclSrcSpan.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ClassDeclSrcSpan.hs.parser.golden view
@@ -0,0 +1,204 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 1 2 1+ , SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 1 2 1+ , SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 1 2 1+ , SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 5 1 5 1+ , SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 6 1 6 1+ , SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 7 1 7 1+ , SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 7 1 7 1+ ]+ }+ Nothing+ []+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 1 3 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 1 2 6+ , SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 12 2 17+ , SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 5 3 5+ , SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 5 1 5 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 7 2 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 7 2 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 7 2 9+ , srcInfoPoints = []+ }+ "C1"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 5 3 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 14 3 16 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 5 3 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 14 3 16 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 5 3 13+ , srcInfoPoints = []+ }+ "toString"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 17 3 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 19 3 21 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 22 3 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 22 3 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 3 22 3 28+ , srcInfoPoints = []+ }+ "String")))))+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 5 1 5 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 5 4 5 6 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 5 1 5 3+ , srcInfoPoints = []+ }+ "t1"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 5 7 5 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 5 7 5 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 5 7 5 13+ , srcInfoPoints = []+ }+ "String")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 6 1 6 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 6 1 6 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 6 1 6 3+ , srcInfoPoints = []+ }+ "t1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 6 4 6 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 6 4 6 5 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 6 6 6 13+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassDeclSrcSpan.hs" 6 6 6 13+ , srcInfoPoints = []+ }+ "Hello"+ "Hello")))+ Nothing+ ]+ , []+ )
+ tests/examples/ClassDeclSrcSpan.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ClassDeclSrcSpan.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+class C1 a where+ toString :: a -> String++t1 :: String+t1 = "Hello"
tests/examples/ClassInstType.hs.parser.golden view
@@ -1,1 +1,1420 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 18, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 18, srcSpanStartColumn = 1, srcSpanEndLine = 18, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 18, srcSpanStartColumn = 1, srcSpanEndLine = 18, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 1, srcSpanStartColumn = 22, srcSpanEndLine = 1, srcSpanEndColumn = 27}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) "ClassInstType") Nothing Nothing)) [] [] [ClassDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 0}]}) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 3, srcSpanStartColumn = 7, srcSpanEndLine = 3, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 3, srcSpanStartColumn = 7, srcSpanEndLine = 3, srcSpanEndColumn = 10}, srcInfoPoints = []}) "Dir") [UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) "d")]) [] (Just [ClsDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 14}]}) (TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 14}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 11}, srcInfoPoints = []}) "localDir"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 15, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 17, srcSpanEndLine = 4, srcSpanEndColumn = 19}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 15, srcSpanEndLine = 4, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 15, srcSpanEndLine = 4, srcSpanEndColumn = 16}, srcInfoPoints = []}) "d")) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 20, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 20, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 20, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 20, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 23, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 23, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 4, srcSpanStartColumn = 23, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = []}) "FilePath"))))))]),InstDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 24, srcSpanEndLine = 6, srcSpanEndColumn = 29},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 0}]}) Nothing (IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 10, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 10, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 10, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) "Dir")) [TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 14, srcSpanEndLine = 6, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 14, srcSpanEndLine = 6, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 6, srcSpanStartColumn = 14, srcSpanEndLine = 6, srcSpanEndColumn = 23}, srcInfoPoints = []}) "Directory"))]) (Just [InsDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = []}) (FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 11}, srcInfoPoints = []}) "localDir") [PParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 12, srcSpanEndLine = 7, srcSpanEndColumn = 21}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 12, srcSpanEndLine = 7, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 20, srcSpanEndLine = 7, srcSpanEndColumn = 21}]}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 13, srcSpanEndLine = 7, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 13, srcSpanEndLine = 7, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 13, srcSpanEndLine = 7, srcSpanEndColumn = 18}, srcInfoPoints = []}) "Local")) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 19, srcSpanEndLine = 7, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 19, srcSpanEndLine = 7, srcSpanEndColumn = 20}, srcInfoPoints = []}) "f")])] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 22, srcSpanEndLine = 7, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 22, srcSpanEndLine = 7, srcSpanEndColumn = 23}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 24, srcSpanEndLine = 7, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 24, srcSpanEndLine = 7, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 24, srcSpanEndLine = 7, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 24, srcSpanEndLine = 7, srcSpanEndColumn = 30}, srcInfoPoints = []}) "return"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 31, srcSpanEndLine = 7, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 31, srcSpanEndLine = 7, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 7, srcSpanStartColumn = 31, srcSpanEndLine = 7, srcSpanEndColumn = 32}, srcInfoPoints = []}) "f"))))) Nothing,Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 11}, srcInfoPoints = []}) "localDir") [PParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 12, srcSpanEndLine = 9, srcSpanEndColumn = 74}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 12, srcSpanEndLine = 9, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 73, srcSpanEndLine = 9, srcSpanEndColumn = 74}]}) (PRec (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 13, srcSpanEndLine = 9, srcSpanEndColumn = 73}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 19, srcSpanEndLine = 9, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 27, srcSpanEndLine = 9, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 52, srcSpanEndLine = 9, srcSpanEndColumn = 53},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 72, srcSpanEndLine = 9, srcSpanEndColumn = 73}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 13, srcSpanEndLine = 9, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 13, srcSpanEndLine = 9, srcSpanEndColumn = 18}, srcInfoPoints = []}) "Darcs")) [PFieldPat (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 20, srcSpanEndLine = 9, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 23, srcSpanEndLine = 9, srcSpanEndColumn = 24}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 20, srcSpanEndLine = 9, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 20, srcSpanEndLine = 9, srcSpanEndColumn = 23}, srcInfoPoints = []}) "url")) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 24, srcSpanEndLine = 9, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 24, srcSpanEndLine = 9, srcSpanEndColumn = 27}, srcInfoPoints = []}) "url")),PFieldPat (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 28, srcSpanEndLine = 9, srcSpanEndColumn = 52}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 40, srcSpanEndLine = 9, srcSpanEndColumn = 41}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 28, srcSpanEndLine = 9, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 28, srcSpanEndLine = 9, srcSpanEndColumn = 40}, srcInfoPoints = []}) "darcsVersion")) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 41, srcSpanEndLine = 9, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 41, srcSpanEndLine = 9, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 41, srcSpanEndLine = 9, srcSpanEndColumn = 46}, srcInfoPoints = []}) "Patch")) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 47, srcSpanEndLine = 9, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 47, srcSpanEndLine = 9, srcSpanEndColumn = 52}, srcInfoPoints = []}) "patch")]),PFieldPat (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 53, srcSpanEndLine = 9, srcSpanEndColumn = 72}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 65, srcSpanEndLine = 9, srcSpanEndColumn = 66}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 53, srcSpanEndLine = 9, srcSpanEndColumn = 65}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 53, srcSpanEndLine = 9, srcSpanEndColumn = 65}, srcInfoPoints = []}) "subDirectory")) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 66, srcSpanEndLine = 9, srcSpanEndColumn = 72}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 66, srcSpanEndLine = 9, srcSpanEndColumn = 72}, srcInfoPoints = []}) "subDir"))])] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 75, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 75, srcSpanEndLine = 9, srcSpanEndColumn = 76}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 77, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 9, srcSpanStartColumn = 77, srcSpanEndLine = 9, srcSpanEndColumn = 79},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 5, srcSpanEndLine = 10, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 5, srcSpanEndLine = 11, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 12, srcSpanStartColumn = 5, srcSpanEndLine = 12, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 5, srcSpanEndLine = 13, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 14, srcSpanStartColumn = 5, srcSpanEndLine = 14, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 5, srcSpanEndLine = 10, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 9, srcSpanEndLine = 10, srcSpanEndColumn = 11}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 5, srcSpanEndLine = 10, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 5, srcSpanEndLine = 10, srcSpanEndColumn = 8}, srcInfoPoints = []}) "tmp")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 38}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 25}, srcInfoPoints = []}) "createTempDir"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 26, srcSpanEndLine = 10, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 26, srcSpanEndLine = 10, srcSpanEndColumn = 27}, srcInfoPoints = []}) 0 "0"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 28, srcSpanEndLine = 10, srcSpanEndColumn = 38}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 10, srcSpanStartColumn = 28, srcSpanEndLine = 10, srcSpanEndColumn = 38}, srcInfoPoints = []}) "haskelld" "haskelld"))),Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 5, srcSpanEndLine = 11, srcSpanEndColumn = 91}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 14, srcSpanEndLine = 11, srcSpanEndColumn = 16}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 5, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 5, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = []}) "darcsOut")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 17, srcSpanEndLine = 11, srcSpanEndColumn = 91}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 17, srcSpanEndLine = 11, srcSpanEndColumn = 42}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 17, srcSpanEndLine = 11, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 17, srcSpanEndLine = 11, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 17, srcSpanEndLine = 11, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 17, srcSpanEndLine = 11, srcSpanEndColumn = 32}, srcInfoPoints = []}) "runDarcsCommand"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 33, srcSpanEndLine = 11, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 33, srcSpanEndLine = 11, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 33, srcSpanEndLine = 11, srcSpanEndColumn = 36}, srcInfoPoints = []}) "tmp")))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 37, srcSpanEndLine = 11, srcSpanEndColumn = 42}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 37, srcSpanEndLine = 11, srcSpanEndColumn = 42}, srcInfoPoints = []}) "get" "get"))) (List (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 43, srcSpanEndLine = 11, srcSpanEndColumn = 91}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 43, srcSpanEndLine = 11, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 52, srcSpanEndLine = 11, srcSpanEndColumn = 53},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 65, srcSpanEndLine = 11, srcSpanEndColumn = 66},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 81, srcSpanEndLine = 11, srcSpanEndColumn = 82},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 85, srcSpanEndLine = 11, srcSpanEndColumn = 86},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 90, srcSpanEndLine = 11, srcSpanEndColumn = 91}]}) [Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 44, srcSpanEndLine = 11, srcSpanEndColumn = 52}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 44, srcSpanEndLine = 11, srcSpanEndColumn = 52}, srcInfoPoints = []}) "--lazy" "--lazy"),Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 53, srcSpanEndLine = 11, srcSpanEndColumn = 65}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 53, srcSpanEndLine = 11, srcSpanEndColumn = 65}, srcInfoPoints = []}) "--to-match" "--to-match"),InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 66, srcSpanEndLine = 11, srcSpanEndColumn = 81}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 66, srcSpanEndLine = 11, srcSpanEndColumn = 73}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 66, srcSpanEndLine = 11, srcSpanEndColumn = 73}, srcInfoPoints = []}) "hash " "hash ")) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 73, srcSpanEndLine = 11, srcSpanEndColumn = 75}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 73, srcSpanEndLine = 11, srcSpanEndColumn = 75}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 73, srcSpanEndLine = 11, srcSpanEndColumn = 75}, srcInfoPoints = []}) "++"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 76, srcSpanEndLine = 11, srcSpanEndColumn = 81}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 76, srcSpanEndLine = 11, srcSpanEndColumn = 81}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 76, srcSpanEndLine = 11, srcSpanEndColumn = 81}, srcInfoPoints = []}) "patch"))),Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 82, srcSpanEndLine = 11, srcSpanEndColumn = 85}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 82, srcSpanEndLine = 11, srcSpanEndColumn = 85}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 82, srcSpanEndLine = 11, srcSpanEndColumn = 85}, srcInfoPoints = []}) "url")),Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 86, srcSpanEndLine = 11, srcSpanEndColumn = 90}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 11, srcSpanStartColumn = 86, srcSpanEndLine = 11, srcSpanEndColumn = 90}, srcInfoPoints = []}) "fs" "fs")])),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 12, srcSpanStartColumn = 5, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 12, srcSpanStartColumn = 5, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 12, srcSpanStartColumn = 5, srcSpanEndLine = 12, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 12, srcSpanStartColumn = 5, srcSpanEndLine = 12, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 12, srcSpanStartColumn = 5, srcSpanEndLine = 12, srcSpanEndColumn = 10}, srcInfoPoints = []}) "print"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) "darcsOut")))),LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 5, srcSpanEndLine = 14, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 5, srcSpanEndLine = 13, srcSpanEndColumn = 8}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 14, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 14, srcSpanStartColumn = 5, srcSpanEndLine = 14, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 40}, srcInfoPoints = []}) (PTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 21, srcSpanEndLine = 13, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 24, srcSpanEndLine = 13, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 28, srcSpanEndLine = 13, srcSpanEndColumn = 29}]}) Boxed [PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 10, srcSpanEndLine = 13, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 10, srcSpanEndLine = 13, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 10, srcSpanEndLine = 13, srcSpanEndColumn = 21}, srcInfoPoints = []}) "ExitSuccess")) [],PLit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 22, srcSpanEndLine = 13, srcSpanEndColumn = 24}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 22, srcSpanEndLine = 13, srcSpanEndColumn = 24}, srcInfoPoints = []}) "" ""),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 25, srcSpanEndLine = 13, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 25, srcSpanEndLine = 13, srcSpanEndColumn = 28}, srcInfoPoints = []}) "out")]) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 30, srcSpanEndLine = 13, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 30, srcSpanEndLine = 13, srcSpanEndColumn = 31}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 32, srcSpanEndLine = 13, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 32, srcSpanEndLine = 13, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 13, srcSpanStartColumn = 32, srcSpanEndLine = 13, srcSpanEndColumn = 40}, srcInfoPoints = []}) "darcsOut")))) Nothing]),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 14, srcSpanStartColumn = 5, srcSpanEndLine = 14, srcSpanEndColumn = 14}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 14, srcSpanStartColumn = 5, srcSpanEndLine = 14, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 14, srcSpanStartColumn = 5, srcSpanEndLine = 14, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 14, srcSpanStartColumn = 5, srcSpanEndLine = 14, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 14, srcSpanStartColumn = 5, srcSpanEndLine = 14, srcSpanEndColumn = 10}, srcInfoPoints = []}) "print"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 14, srcSpanStartColumn = 11, srcSpanEndLine = 14, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 14, srcSpanStartColumn = 11, srcSpanEndLine = 14, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 14, srcSpanStartColumn = 11, srcSpanEndLine = 14, srcSpanEndColumn = 14}, srcInfoPoints = []}) "out")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 37}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 11}, srcInfoPoints = []}) "return"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 12, srcSpanEndLine = 15, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 12, srcSpanEndLine = 15, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 12, srcSpanEndLine = 15, srcSpanEndColumn = 13}, srcInfoPoints = []}) "$"))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 37}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 17}, srcInfoPoints = []}) "tmp"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 18, srcSpanEndLine = 15, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 18, srcSpanEndLine = 15, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 18, srcSpanEndLine = 15, srcSpanEndColumn = 21}, srcInfoPoints = []}) "</>"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 22, srcSpanEndLine = 15, srcSpanEndColumn = 26}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 22, srcSpanEndLine = 15, srcSpanEndColumn = 26}, srcInfoPoints = []}) "fs" "fs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 27, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 27, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 27, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) "</>"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 31, srcSpanEndLine = 15, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 31, srcSpanEndLine = 15, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 15, srcSpanStartColumn = 31, srcSpanEndLine = 15, srcSpanEndColumn = 37}, srcInfoPoints = []}) "subDir")))))])) Nothing])]),TypeDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 10, srcSpanEndLine = 17, srcSpanEndColumn = 11}]}) (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 6, srcSpanEndLine = 17, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 6, srcSpanEndLine = 17, srcSpanEndColumn = 9}, srcInfoPoints = []}) "URL") []) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 12, srcSpanEndLine = 17, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 12, srcSpanEndLine = 17, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ClassInstType.hs", srcSpanStartLine = 17, srcSpanStartColumn = 12, srcSpanEndLine = 17, srcSpanEndColumn = 18}, srcInfoPoints = []}) "String")))],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 1 1 18 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 1 1 1 1+ , SrcSpan "tests/examples/ClassInstType.hs" 1 1 1 1+ , SrcSpan "tests/examples/ClassInstType.hs" 3 1 3 1+ , SrcSpan "tests/examples/ClassInstType.hs" 6 1 6 1+ , SrcSpan "tests/examples/ClassInstType.hs" 17 1 17 1+ , SrcSpan "tests/examples/ClassInstType.hs" 18 1 18 1+ , SrcSpan "tests/examples/ClassInstType.hs" 18 1 18 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 1 1 1 7+ , SrcSpan "tests/examples/ClassInstType.hs" 1 22 1 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 1 8 1 21+ , srcInfoPoints = []+ }+ "ClassInstType")+ Nothing+ Nothing))+ []+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 3 1 4 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 3 1 3 6+ , SrcSpan "tests/examples/ClassInstType.hs" 3 13 3 18+ , SrcSpan "tests/examples/ClassInstType.hs" 4 3 4 3+ , SrcSpan "tests/examples/ClassInstType.hs" 6 1 6 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 3 7 3 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 3 7 3 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 3 7 3 10+ , srcInfoPoints = []+ }+ "Dir"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ "d")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 4 3 4 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 4 12 4 14 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 4 3 4 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 4 12 4 14 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 4 3 4 11+ , srcInfoPoints = []+ }+ "localDir"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 4 15 4 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 4 17 4 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ "d"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 4 20 4 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 4 20 4 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 4 20 4 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 4 20 4 22+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 4 23 4 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 4 23 4 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 4 23 4 31+ , srcInfoPoints = []+ }+ "FilePath"))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 6 1 17 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 6 1 6 9+ , SrcSpan "tests/examples/ClassInstType.hs" 6 24 6 29+ , SrcSpan "tests/examples/ClassInstType.hs" 7 3 7 3+ , SrcSpan "tests/examples/ClassInstType.hs" 9 3 9 3+ , SrcSpan "tests/examples/ClassInstType.hs" 17 1 17 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 6 10 6 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 6 10 6 23+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 6 10 6 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 6 10 6 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 6 10 6 13+ , srcInfoPoints = []+ }+ "Dir")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 6 14 6 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 6 14 6 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 6 14 6 23+ , srcInfoPoints = []+ }+ "Directory")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 7 3 15 37+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 7 3 15 37+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 7 3 7 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 7 3 7 11+ , srcInfoPoints = []+ }+ "localDir")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 7 12 7 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 7 12 7 13+ , SrcSpan "tests/examples/ClassInstType.hs" 7 20 7 21+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 7 13 7 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 7 13 7 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 7 13 7 18+ , srcInfoPoints = []+ }+ "Local"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ "f")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 7 22 7 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 7 22 7 23 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 7 24 7 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 7 24 7 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 7 24 7 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 7 24 7 30+ , srcInfoPoints = []+ }+ "return")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 7 31 7 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 7 31 7 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 7 31 7 32+ , srcInfoPoints = []+ }+ "f")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 9 3 15 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 9 3 9 11+ , srcInfoPoints = []+ }+ "localDir")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 9 12 9 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 9 12 9 13+ , SrcSpan "tests/examples/ClassInstType.hs" 9 73 9 74+ ]+ }+ (PRec+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 9 13 9 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 9 19 9 20+ , SrcSpan "tests/examples/ClassInstType.hs" 9 27 9 28+ , SrcSpan "tests/examples/ClassInstType.hs" 9 52 9 53+ , SrcSpan "tests/examples/ClassInstType.hs" 9 72 9 73+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 13 9 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 13 9 18+ , srcInfoPoints = []+ }+ "Darcs"))+ [ PFieldPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 20 9 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 9 23 9 24 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 20 9 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 20 9 23+ , srcInfoPoints = []+ }+ "url"))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 24 9 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 24 9 27+ , srcInfoPoints = []+ }+ "url"))+ , PFieldPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 28 9 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 9 40 9 41 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 28 9 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 28 9 40+ , srcInfoPoints = []+ }+ "darcsVersion"))+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 41 9 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 41 9 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 9 41 9 46+ , srcInfoPoints = []+ }+ "Patch"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 47 9 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 9 47 9 52+ , srcInfoPoints = []+ }+ "patch")+ ])+ , PFieldPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 53 9 72+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 9 65 9 66 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 53 9 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 53 9 65+ , srcInfoPoints = []+ }+ "subDirectory"))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 66 9 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 66 9 72+ , srcInfoPoints = []+ }+ "subDir"))+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 75 15 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 9 75 9 76 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 9 77 15 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 9 77 9 79+ , SrcSpan "tests/examples/ClassInstType.hs" 10 5 10 5+ , SrcSpan "tests/examples/ClassInstType.hs" 11 5 11 5+ , SrcSpan "tests/examples/ClassInstType.hs" 12 5 12 5+ , SrcSpan "tests/examples/ClassInstType.hs" 13 5 13 5+ , SrcSpan "tests/examples/ClassInstType.hs" 14 5 14 5+ , SrcSpan "tests/examples/ClassInstType.hs" 15 5 15 5+ , SrcSpan "tests/examples/ClassInstType.hs" 17 1 17 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 10 5 10 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 10 9 10 11 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 10 5 10 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 10 5 10 8+ , srcInfoPoints = []+ }+ "tmp"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 10 12 10 38+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 10 12 10 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 10 12 10 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 10 12 10 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 10+ 12+ 10+ 25+ , srcInfoPoints = []+ }+ "createTempDir")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 10 26 10 27+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 10 26 10 27+ , srcInfoPoints = []+ }+ 0+ "0")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 10 28 10 38+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 10 28 10 38+ , srcInfoPoints = []+ }+ "haskelld"+ "haskelld")))+ , Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 11 5 11 91+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 11 14 11 16 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 11 5 11 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 11 5 11 13+ , srcInfoPoints = []+ }+ "darcsOut"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 11 17 11 91+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 11 17 11 42+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 17 11 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 17 11 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 11+ 17+ 11+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 11+ 17+ 11+ 32+ , srcInfoPoints = []+ }+ "runDarcsCommand")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 33 11 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 11+ 33+ 11+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 11+ 33+ 11+ 36+ , srcInfoPoints = []+ }+ "tmp"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 37 11 42+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 37 11 42+ , srcInfoPoints = []+ }+ "get"+ "get")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 11 43 11 91+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ClassInstType.hs" 11 43 11 44+ , SrcSpan+ "tests/examples/ClassInstType.hs" 11 52 11 53+ , SrcSpan+ "tests/examples/ClassInstType.hs" 11 65 11 66+ , SrcSpan+ "tests/examples/ClassInstType.hs" 11 81 11 82+ , SrcSpan+ "tests/examples/ClassInstType.hs" 11 85 11 86+ , SrcSpan+ "tests/examples/ClassInstType.hs" 11 90 11 91+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 44 11 52+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 44 11 52+ , srcInfoPoints = []+ }+ "--lazy"+ "--lazy")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 53 11 65+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 53 11 65+ , srcInfoPoints = []+ }+ "--to-match"+ "--to-match")+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 66 11 81+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 66 11 73+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 11+ 66+ 11+ 73+ , srcInfoPoints = []+ }+ "hash "+ "hash "))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 73 11 75+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 11+ 73+ 11+ 75+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 11+ 73+ 11+ 75+ , srcInfoPoints = []+ }+ "++")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 76 11 81+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 11+ 76+ 11+ 81+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 11+ 76+ 11+ 81+ , srcInfoPoints = []+ }+ "patch")))+ , Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 82 11 85+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 82 11 85+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 11+ 82+ 11+ 85+ , srcInfoPoints = []+ }+ "url"))+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 86 11 90+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 11 86 11 90+ , srcInfoPoints = []+ }+ "fs"+ "fs")+ ]))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 12 5 12 19+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 12 5 12 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 12 5 12 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 12 5 12 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 12 5 12 10+ , srcInfoPoints = []+ }+ "print")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 12 11 12 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 12 11 12 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 12 11 12 19+ , srcInfoPoints = []+ }+ "darcsOut"))))+ , LetStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 13 5 13 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 13 5 13 8 ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 13 9 13 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 13 9 13 9+ , SrcSpan "tests/examples/ClassInstType.hs" 14 5 14 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 13 9 13 40+ , srcInfoPoints = []+ }+ (PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 13 9 13 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ClassInstType.hs" 13 9 13 10+ , SrcSpan+ "tests/examples/ClassInstType.hs" 13 21 13 22+ , SrcSpan+ "tests/examples/ClassInstType.hs" 13 24 13 25+ , SrcSpan+ "tests/examples/ClassInstType.hs" 13 28 13 29+ ]+ }+ Boxed+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 13+ 10+ 13+ 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 13+ 10+ 13+ 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 13+ 10+ 13+ 21+ , srcInfoPoints = []+ }+ "ExitSuccess"))+ []+ , PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 13+ 22+ 13+ 24+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 13+ 22+ 13+ 24+ , srcInfoPoints = []+ })+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 13+ 22+ 13+ 24+ , srcInfoPoints = []+ }+ ""+ "")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 13+ 25+ 13+ 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 13+ 25+ 13+ 28+ , srcInfoPoints = []+ }+ "out")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 13 30 13 40+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ClassInstType.hs" 13 30 13 31+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 13 32 13 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 13+ 32+ 13+ 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 13+ 32+ 13+ 40+ , srcInfoPoints = []+ }+ "darcsOut"))))+ Nothing+ ])+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 14 5 14 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 14 5 14 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 14 5 14 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 14 5 14 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 14 5 14 10+ , srcInfoPoints = []+ }+ "print")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 14 11 14 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 14 11 14 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 14 11 14 14+ , srcInfoPoints = []+ }+ "out"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 15 5 15 37+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 15 5 15 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 15 5 15 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 5 15 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 5 15 11+ , srcInfoPoints = []+ }+ "return")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 15 12 15 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 12 15 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 12 15 13+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 15 14 15 37+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 14 15 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 14 15 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 15+ 14+ 15+ 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 15+ 14+ 15+ 17+ , srcInfoPoints = []+ }+ "tmp")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 18 15 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 15+ 18+ 15+ 21+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 15+ 18+ 15+ 21+ , srcInfoPoints = []+ }+ "</>")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 22 15 26+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 15+ 22+ 15+ 26+ , srcInfoPoints = []+ }+ "fs"+ "fs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 27 15 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 27 15 30+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 15+ 27+ 15+ 30+ , srcInfoPoints = []+ }+ "</>")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 31 15 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs" 15 31 15 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ClassInstType.hs"+ 15+ 31+ 15+ 37+ , srcInfoPoints = []+ }+ "subDir")))))+ ]))+ Nothing+ ])+ ])+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 17 1 17 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassInstType.hs" 17 1 17 5+ , SrcSpan "tests/examples/ClassInstType.hs" 17 10 17 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 17 6 17 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassInstType.hs" 17 6 17 9+ , srcInfoPoints = []+ }+ "URL"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 17 12 17 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 17 12 17 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassInstType.hs" 17 12 17 18+ , srcInfoPoints = []+ }+ "String")))+ ]+ , []+ )
tests/examples/ClassInstType.hs.prettyprinter.golden view
@@ -1,9 +1,8 @@ module ClassInstType where- + class Dir d where- localDir :: d -> IO FilePath- + instance Dir Directory where localDir (Local f) = return f localDir@@ -16,5 +15,5 @@ let (ExitSuccess, "", out) = darcsOut print out return $ tmp </> "fs" </> subDir- + type URL = String
+ tests/examples/ClosedTypeFamily.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeFamilies, DataKinds #-}++module ClosedTypeFamily where++type family Eq x y where+ Eq x x = True+ Eq x y = False+
+ tests/examples/ClosedTypeFamily.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ClosedTypeFamily.hs.parser.golden view
@@ -0,0 +1,293 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClosedTypeFamily.hs" 1 1 1 1+ , SrcSpan "tests/examples/ClosedTypeFamily.hs" 3 1 3 1+ , SrcSpan "tests/examples/ClosedTypeFamily.hs" 3 1 3 1+ , SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 1 5 1+ , SrcSpan "tests/examples/ClosedTypeFamily.hs" 9 1 9 1+ , SrcSpan "tests/examples/ClosedTypeFamily.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 3 1 3 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClosedTypeFamily.hs" 3 1 3 7+ , SrcSpan "tests/examples/ClosedTypeFamily.hs" 3 25 3 30+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 3 8 3 24+ , srcInfoPoints = []+ }+ "ClosedTypeFamily")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 1 1 1 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClosedTypeFamily.hs" 1 1 1 13+ , SrcSpan "tests/examples/ClosedTypeFamily.hs" 1 26 1 27+ , SrcSpan "tests/examples/ClosedTypeFamily.hs" 1 38 1 41+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 1 28 1 37+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ ]+ []+ [ ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 1 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 1 5 5+ , SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 6 5 12+ , SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 20 5 25+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 13 5 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 13 5 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 13 5 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 13 5 15+ , srcInfoPoints = []+ }+ "Eq"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ "x")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ "y")))+ Nothing+ Nothing+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 3 6 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 10 6 11 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 3 6 9+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 3 6 7+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 3 6 5+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 3 6 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 3 6 5+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 6 6 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 6 6 7+ , srcInfoPoints = []+ }+ "x")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ "x")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 12 6 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 12 6 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 6 12 6 16+ , srcInfoPoints = []+ }+ "True")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 3 7 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 10 7 11 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 3 7 9+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 3 7 7+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 3 7 5+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 3 7 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 3 7 5+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 6 7 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 6 7 7+ , srcInfoPoints = []+ }+ "x")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 8 7 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 8 7 9+ , srcInfoPoints = []+ }+ "y")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 12 7 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 12 7 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClosedTypeFamily.hs" 7 12 7 17+ , srcInfoPoints = []+ }+ "False")))+ ]+ ]+ , []+ )
+ tests/examples/ClosedTypeFamily.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ClosedTypeFamily.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeFamilies, DataKinds #-}+module ClosedTypeFamily where++type family Eq x y where+ Eq x x = True+ Eq x y = False
+ tests/examples/Completesig03A.hs view
@@ -0,0 +1,6 @@+module Completesig03A where++data A = A | B++{-# COMPLETE A #-}+
+ tests/examples/Completesig03A.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Completesig03A.hs.parser.golden view
@@ -0,0 +1,123 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 1+ , SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 1+ , SrcSpan "tests/examples/Completesig03A.hs" 3 1 3 1+ , SrcSpan "tests/examples/Completesig03A.hs" 5 1 5 1+ , SrcSpan "tests/examples/Completesig03A.hs" 7 1 7 1+ , SrcSpan "tests/examples/Completesig03A.hs" 7 1 7 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 7+ , SrcSpan "tests/examples/Completesig03A.hs" 1 23 1 28+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 1 8 1 22+ , srcInfoPoints = []+ }+ "Completesig03A")+ Nothing+ Nothing))+ []+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 1 3 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Completesig03A.hs" 3 8 3 9+ , SrcSpan "tests/examples/Completesig03A.hs" 3 12 3 13+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "A"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ "A")+ [])+ , QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ "B")+ [])+ ]+ []+ , CompletePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 5 1 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Completesig03A.hs" 5 1 5 13+ , SrcSpan "tests/examples/Completesig03A.hs" 5 16 5 19+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ "A"+ ]+ Nothing+ ]+ , []+ )
+ tests/examples/Completesig03A.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Completesig03A.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+module Completesig03A where++data A = A+ | B++{-# COMPLETE A #-}
tests/examples/ConstraintKinds.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ConstraintKinds #-}-class Foo a where +{-# LANGUAGE MultiParamTypeClasses #-}+class Foo a where data Bar a type Bazable a b = (Bar a ~ Maybe b)
tests/examples/ConstraintKinds.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ConstraintKinds.hs", srcLine = 8, srcColumn = 1}) "Parse error in type: Bar a ~ Maybe b"+Match
tests/examples/ConstraintKinds.hs.parser.golden view
@@ -1,1 +1,493 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ConstraintKinds.hs", srcLine = 8, srcColumn = 1}) "Parse error in type: Bar a ~ Maybe b"+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 1 1 11 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 1 1 1 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 2 1 2 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 3 1 3 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 4 1 4 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 4 1 4 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 4 1 4 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 6 1 6 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 7 1 7 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 9 1 9 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 10 1 10 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 11 1 11 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 11 1 11 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 1 1 1 13+ , SrcSpan "tests/examples/ConstraintKinds.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 2 1 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 2 1 2 13+ , SrcSpan "tests/examples/ConstraintKinds.hs" 2 30 2 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 2 14 2 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 3 1 3 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 3 1 3 13+ , SrcSpan "tests/examples/ConstraintKinds.hs" 3 36 3 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 3 14 3 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds.hs" 4 1 6 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 4 1 4 6+ , SrcSpan "tests/examples/ConstraintKinds.hs" 4 13 4 18+ , SrcSpan "tests/examples/ConstraintKinds.hs" 6 1 6 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 6 1 6 1+ , SrcSpan "tests/examples/ConstraintKinds.hs" 6 0 6 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 4 7 4 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 4 7 4 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 4 7 4 10+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just [])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds.hs" 6 1 6 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 6 6 6 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds.hs" 6 6 6 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds.hs" 6 6 6 9+ , srcInfoPoints = []+ }+ "Bar"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 6 10 6 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 6 10 6 11+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 1 7 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 7 1 7 5+ , SrcSpan "tests/examples/ConstraintKinds.hs" 7 18 7 19+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 6 7 17+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 6 7 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 6 7 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 6 7 13+ , srcInfoPoints = []+ }+ "Bazable"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ "b")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 20 7 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 7 20 7 21+ , SrcSpan "tests/examples/ConstraintKinds.hs" 7 36 7 37+ ]+ }+ (TyEquals+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 21 7 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 7 27 7 28 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 21 7 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 21 7 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 21 7 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 21 7 24+ , srcInfoPoints = []+ }+ "Bar")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 29 7 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 29 7 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 29 7 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 29 7 34+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 35 7 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 7 35 7 36+ , srcInfoPoints = []+ }+ "b")))))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 1 9 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 5 9 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds.hs" 9 1 9 4+ , srcInfoPoints = []+ }+ "baz"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 29+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+ , srcInfoPoints = []+ }+ "Bazable")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19+ , srcInfoPoints = []+ }+ "b"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 23 9 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 25 9 27 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 23 9 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 23 9 24+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 28 9 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 28 9 29+ , srcInfoPoints = []+ }+ "a"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 10 1 10 9+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 10 1 10 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 10 1 10 4+ , srcInfoPoints = []+ }+ "baz"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 10 5 10 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 10 5 10 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 10 7 10 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 10 7 10 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 10 7 10 9+ , srcInfoPoints = []+ }+ "id"))))+ Nothing+ ]+ , []+ )
tests/examples/ConstraintKinds.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ConstraintKinds.hs", srcLine = 8, srcColumn = 1}) "Parse error in type: Bar a ~ Maybe b"+Match
tests/examples/ConstraintKinds.hs.prettyprinter.golden view
@@ -1,1 +1,12 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ConstraintKinds.hs", srcLine = 8, srcColumn = 1}) "Parse error in type: Bar a ~ Maybe b"+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}++class Foo a where++data Bar a++type Bazable a b = (Bar a ~ Maybe b)++baz :: Bazable a b => a -> a+baz = id
+ tests/examples/ConstraintKinds2.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RankNTypes #-}++data Dict p where+ Dict :: p => Dict p
+ tests/examples/ConstraintKinds2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ConstraintKinds2.hs.parser.golden view
@@ -0,0 +1,216 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 1 1 1 1+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 2 1 2 1+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 3 1 3 1+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 5 1 5 1+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 5 1 5 1+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 5 1 5 1+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 7 1 7 1+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 1 1 1 13+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 2 1 2 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 2 1 2 13+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 2 20 2 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 2 14 2 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 3 1 3 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 3 1 3 13+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 3 25 3 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 3 14 3 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ ]+ []+ [ GDataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 5 1 7 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 5 13 5 18+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 6 5 6 5+ , SrcSpan "tests/examples/ConstraintKinds2.hs" 7 1 7 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 5 1 5 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 5 6 5 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 5 6 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 5 6 5 10+ , srcInfoPoints = []+ }+ "Dict"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ "p")))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 5 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 10 6 12 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 5 6 9+ , srcInfoPoints = []+ }+ "Dict")+ Nothing+ Nothing+ Nothing+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 24+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ "p")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 18 6 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 18 6 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 18 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 18 6 22+ , srcInfoPoints = []+ }+ "Dict")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ "p"))))+ ]+ []+ ]+ , []+ )
+ tests/examples/ConstraintKinds2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ConstraintKinds2.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE RankNTypes #-}++data Dict p where+ Dict :: p => Dict p
+ tests/examples/ConstraintKinds3.hs view
@@ -0,0 +1,7 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}++class Foo c a where++ bar :: (c a) => a -> a+
+ tests/examples/ConstraintKinds3.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ConstraintKinds3.hs.parser.golden view
@@ -0,0 +1,246 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds3.hs" 1 1 1 1+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 2 1 2 1+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 4 1 4 1+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 4 1 4 1+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 4 1 4 1+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 8 1 8 1+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 8 1 8 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds3.hs" 1 1 1 13+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 2 1 2 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds3.hs" 2 1 2 13+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 2 36 2 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 2 14 2 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 4 1 6 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds3.hs" 4 1 4 6+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 4 15 4 20+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 6 3 6 3+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 8 1 8 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 4 7 4 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 4 7 4 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 4 7 4 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 4 7 4 10+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ "c")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 3 6 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 7 6 9 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 3 6 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 7 6 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 3 6 6+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 10 6 25+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 10 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 10 6 11+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 6 14 6 15+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 6 16 6 18+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 10 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 10 6 11+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 6 14 6 15+ , SrcSpan "tests/examples/ConstraintKinds3.hs" 6 16 6 18+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 14+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 11 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "c"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ "a")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 19 6 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 21 6 23 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 19 6 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 19 6 20+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 24 6 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 24 6 25+ , srcInfoPoints = []+ }+ "a")))))+ ])+ ]+ , []+ )
+ tests/examples/ConstraintKinds3.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ConstraintKinds3.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}++class Foo c a where+ bar :: (c a) => a -> a
+ tests/examples/ConstructorAndClassOperators.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE TypeOperators, MultiParamTypeClasses #-}++ins :: (:=>) b h => b :- h++data (:><:) a b = (:><:) a b
+ tests/examples/ConstructorAndClassOperators.hs.exactprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeOperators, MultiParamTypeClasses #-}++ins :: (:=>) b h => b :- h++data :><: a b = :><: a b+
+ tests/examples/ConstructorAndClassOperators.hs.parser.golden view
@@ -0,0 +1,354 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 1 1 1 1+ , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 1 3 1+ , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 1 3 1+ , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 1 3 1+ , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 1 5 1+ , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 6 1 6 1+ , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 1 1 1 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 1 1 1 13+ , SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 1 27 1 28+ , SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 1 51 1 54+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 1 29 1 50+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 1 3 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 5 3 7+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "ins"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 27+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 13+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 9+ , SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs"+ 3+ 9+ 3+ 12+ , SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs"+ 3+ 12+ 3+ 13+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs"+ 3+ 9+ 3+ 12+ , srcInfoPoints = []+ }+ ":=>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17+ , srcInfoPoints = []+ }+ "h"))))))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 21 3 27+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ "b"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 23 3 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 23 3 25+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 23 3 25+ , srcInfoPoints = []+ }+ ":-")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 26 3 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 26 3 27+ , srcInfoPoints = []+ }+ "h"))))+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 1 5 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 5 17 5 18+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 1 5 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 6 5 16+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 6 5 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 6 5 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 6 5 7+ , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 7 5 11+ , SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 5 11 5 12+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 7 5 11+ , srcInfoPoints = []+ }+ ":><:"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 13 5 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 13 5 14+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 19 5 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 19 5 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 20 5 24+ , srcInfoPoints = []+ }+ ":><:")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 26 5 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 26 5 27+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 28 5 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 5 28 5 29+ , srcInfoPoints = []+ }+ "b")+ ])+ ]+ []+ ]+ , []+ )
+ tests/examples/ConstructorAndClassOperators.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ConstructorAndClassOperators.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE TypeOperators, MultiParamTypeClasses #-}++ins :: (:=>) b h => b :- h++data (:><:) a b = (:><:) a b
+ tests/examples/ContextOrdering.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE ConstraintKinds #-}+module ContextOrdering where++foo :: (x m a) => Int+foo = 5
+ tests/examples/ContextOrdering.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ContextOrdering.hs.parser.golden view
@@ -0,0 +1,208 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 1 1 1 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 4 1 4 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 6 1 6 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 6 1 6 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 7+ , SrcSpan "tests/examples/ContextOrdering.hs" 2 24 2 29+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 2 8 2 23+ , srcInfoPoints = []+ }+ "ContextOrdering")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 1 1 1 13+ , SrcSpan "tests/examples/ContextOrdering.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 1 4 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 4 5 4 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 22+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 9+ , SrcSpan "tests/examples/ContextOrdering.hs" 4 14 4 15+ , SrcSpan "tests/examples/ContextOrdering.hs" 4 16 4 18+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 9+ , SrcSpan "tests/examples/ContextOrdering.hs" 4 14 4 15+ , SrcSpan "tests/examples/ContextOrdering.hs" 4 16 4 18+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ "x"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ "m")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "a")))))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ "Int"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 8+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 5 5 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 5 5 5 6 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ 5+ "5")))+ Nothing+ ]+ , []+ )
+ tests/examples/ContextOrdering.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ContextOrdering.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE ConstraintKinds #-}+module ContextOrdering where++foo :: (x m a) => Int+foo = 5
tests/examples/CxtWhitespace.hs.exactprinter.golden view
@@ -1,7 +1,1 @@--- is not ok-instance (Eq h) => Eq h---- is ok-instance ( Eq h, Eq h) => Eq h--+Match
tests/examples/CxtWhitespace.hs.parser.golden view
@@ -1,1 +1,268 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1}]}) Nothing [] [] [InstDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 9}]}) (Just (CxParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 10, srcSpanEndLine = 2, srcSpanEndColumn = 20}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 10, srcSpanEndLine = 2, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 16, srcSpanEndLine = 2, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 18, srcSpanEndLine = 2, srcSpanEndColumn = 20}]}) (CxSingle (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 12, srcSpanEndLine = 2, srcSpanEndColumn = 16}, srcInfoPoints = []}) (ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 12, srcSpanEndLine = 2, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 12, srcSpanEndLine = 2, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 12, srcSpanEndLine = 2, srcSpanEndColumn = 14}, srcInfoPoints = []}) "Eq")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 15, srcSpanEndLine = 2, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 15, srcSpanEndLine = 2, srcSpanEndColumn = 16}, srcInfoPoints = []}) "h")])))) (IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 23}, srcInfoPoints = []}) "Eq")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 24, srcSpanEndLine = 2, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 24, srcSpanEndLine = 2, srcSpanEndColumn = 25}, srcInfoPoints = []}) "h")]) Nothing,InstDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 9}]}) (Just (CxTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 22, srcSpanEndLine = 5, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 24, srcSpanEndLine = 5, srcSpanEndColumn = 26}]}) [ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) "Eq")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 15, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 15, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) "h")],ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = []}) "Eq")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) "h")]])) (IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 27, srcSpanEndLine = 5, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 27, srcSpanEndLine = 5, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 27, srcSpanEndLine = 5, srcSpanEndColumn = 29}, srcInfoPoints = []}) "Eq")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = []}) "h")]) Nothing],[Comment False (SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13}) " is not ok",Comment False (SrcSpan {srcSpanFilename = "tests/examples/CxtWhitespace.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 9}) " is ok"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/CxtWhitespace.hs" 2 1 2 1+ , SrcSpan "tests/examples/CxtWhitespace.hs" 2 1 2 1+ , SrcSpan "tests/examples/CxtWhitespace.hs" 2 1 2 1+ , SrcSpan "tests/examples/CxtWhitespace.hs" 5 1 5 1+ , SrcSpan "tests/examples/CxtWhitespace.hs" 7 1 7 1+ , SrcSpan "tests/examples/CxtWhitespace.hs" 7 1 7 1+ ]+ }+ Nothing+ []+ []+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 1 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/CxtWhitespace.hs" 2 1 2 9 ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 10 2 25+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 10 2 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/CxtWhitespace.hs" 2 10 2 11+ , SrcSpan "tests/examples/CxtWhitespace.hs" 2 16 2 17+ , SrcSpan "tests/examples/CxtWhitespace.hs" 2 18 2 20+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 10 2 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/CxtWhitespace.hs" 2 10 2 11+ , SrcSpan "tests/examples/CxtWhitespace.hs" 2 16 2 17+ , SrcSpan "tests/examples/CxtWhitespace.hs" 2 18 2 20+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ "h")))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 21 2 25+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 21 2 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 21 2 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 21 2 23+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ "h"))))+ Nothing+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 1 5 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/CxtWhitespace.hs" 5 1 5 9 ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 10 5 31+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 10 5 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/CxtWhitespace.hs" 5 10 5 11+ , SrcSpan "tests/examples/CxtWhitespace.hs" 5 16 5 17+ , SrcSpan "tests/examples/CxtWhitespace.hs" 5 22 5 23+ , SrcSpan "tests/examples/CxtWhitespace.hs" 5 24 5 26+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ "h")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ "h")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 27 5 31+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 27 5 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 27 5 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 27 5 29+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 30 5 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 30 5 31+ , srcInfoPoints = []+ }+ "h"))))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/CxtWhitespace.hs" 1 1 1 13)+ " is not ok"+ , Comment+ False (SrcSpan "tests/examples/CxtWhitespace.hs" 4 1 4 9) " is ok"+ ]+ )
tests/examples/CxtWhitespace.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- instance (Eq h) => Eq h- + instance (Eq h, Eq h) => Eq h
tests/examples/DataHeadParen.hs.parser.golden view
@@ -1,1 +1,129 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 2, srcSpanStartColumn = 22, srcSpanEndLine = 2, srcSpanEndColumn = 27}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 21}, srcInfoPoints = []}) "DataHeadParen") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 31}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = []}) "TypeOperators"]] [] [DataDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 19}]}) (DataType (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 5}, srcInfoPoints = []})) Nothing (DHParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 6, srcSpanEndLine = 4, srcSpanEndColumn = 16}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 6, srcSpanEndLine = 4, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 15, srcSpanEndLine = 4, srcSpanEndColumn = 16}]}) (DHInfix (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 9}, srcInfoPoints = []}) "a1")) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 12}, srcInfoPoints = []}) ":<") (UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) "a2")))) [QualConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 20, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) Nothing Nothing (ConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 20, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataHeadParen.hs", srcSpanStartLine = 4, srcSpanStartColumn = 20, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) "Foo") [])] Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataHeadParen.hs" 1 1 1 1+ , SrcSpan "tests/examples/DataHeadParen.hs" 2 1 2 1+ , SrcSpan "tests/examples/DataHeadParen.hs" 2 1 2 1+ , SrcSpan "tests/examples/DataHeadParen.hs" 4 1 4 1+ , SrcSpan "tests/examples/DataHeadParen.hs" 5 1 5 1+ , SrcSpan "tests/examples/DataHeadParen.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataHeadParen.hs" 2 1 2 7+ , SrcSpan "tests/examples/DataHeadParen.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "DataHeadParen")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataHeadParen.hs" 1 1 1 13+ , SrcSpan "tests/examples/DataHeadParen.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 1 4 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataHeadParen.hs" 4 18 4 19 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 1 4 5+ , srcInfoPoints = []+ })+ Nothing+ (DHParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 6 4 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataHeadParen.hs" 4 6 4 7+ , SrcSpan "tests/examples/DataHeadParen.hs" 4 15 4 16+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 7 4 15+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 7 4 15+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 7 4 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 7 4 9+ , srcInfoPoints = []+ }+ "a1"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 10 4 12+ , srcInfoPoints = []+ }+ ":<"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 13 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 13 4 15+ , srcInfoPoints = []+ }+ "a2"))))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 20 4 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 20 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataHeadParen.hs" 4 20 4 23+ , srcInfoPoints = []+ }+ "Foo")+ [])+ ]+ []+ ]+ , []+ )
tests/examples/DataHeadParen.hs.prettyprinter.golden view
@@ -1,4 +1,4 @@ {-# LANGUAGE TypeOperators #-} module DataHeadParen where- -data (:<) a1 a2 = Foo++data (a1 :< a2) = Foo
tests/examples/DataKinds.hs view
@@ -1,15 +1,24 @@ {-# LANGUAGE KindSignatures #-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-} class C1 (a :: Bool {- 1 -}) where c :: proxy a -> Int class C2 (a :: [ * ]) -class C3 (a :: [(Int, Double)])+data Baz = Baz+data Foo = Foo +class C3 (a :: [(Baz, Foo)])+ class C4 (a :: ( * )) ++class C5 (a :: App foo baz)++class C6 (a :: (parens))+ data X (a :: [*]) x1 = undefined :: X '[Int]@@ -19,3 +28,7 @@ y1 = undefined :: Y '(Double, True) y2 = undefined :: Y '(Double, 'False {-comment-})+++z1 = undefined :: X [ a -> b, X '[] ]+z2 = undefined :: Y (a -> b, True)
tests/examples/DataKinds.hs.parser.golden view
@@ -1,1 +1,1523 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 22, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 1, srcSpanEndLine = 16, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 1, srcSpanEndLine = 18, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 1, srcSpanEndLine = 20, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 1, srcSpanEndLine = 21, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 22, srcSpanStartColumn = 1, srcSpanEndLine = 22, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 22, srcSpanStartColumn = 1, srcSpanEndLine = 22, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 1, srcSpanStartColumn = 29, srcSpanEndLine = 1, srcSpanEndColumn = 32}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 28}, srcInfoPoints = []}) "KindSignatures"],LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 2, srcSpanStartColumn = 24, srcSpanEndLine = 2, srcSpanEndColumn = 27}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 2, srcSpanStartColumn = 14, srcSpanEndLine = 2, srcSpanEndColumn = 23}, srcInfoPoints = []}) "DataKinds"]] [] [ClassDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 30, srcSpanEndLine = 4, srcSpanEndColumn = 35},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 0}]}) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 9}, srcInfoPoints = []}) "C1") [KindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 28, srcSpanEndLine = 4, srcSpanEndColumn = 29}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 11, srcSpanEndLine = 4, srcSpanEndColumn = 12}, srcInfoPoints = []}) "a") (KindVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 20}, srcInfoPoints = []}) "Bool")))]) [] (Just [ClsDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 7, srcSpanEndLine = 5, srcSpanEndColumn = 9}]}) (TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 7, srcSpanEndLine = 5, srcSpanEndColumn = 9}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 6}, srcInfoPoints = []}) "c"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 20}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 15}, srcInfoPoints = []}) "proxy")) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) "a"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 24}, srcInfoPoints = []}) "Int")))))]),ClassDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 6}]}) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 7, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 7, srcSpanEndColumn = 9}, srcInfoPoints = []}) "C2") [KindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 10, srcSpanEndLine = 7, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 10, srcSpanEndLine = 7, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 13, srcSpanEndLine = 7, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 21, srcSpanEndLine = 7, srcSpanEndColumn = 22}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 11, srcSpanEndLine = 7, srcSpanEndColumn = 12}, srcInfoPoints = []}) "a") (KindList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 16, srcSpanEndLine = 7, srcSpanEndColumn = 21}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 16, srcSpanEndLine = 7, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 20, srcSpanEndLine = 7, srcSpanEndColumn = 21}]}) [KindStar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 7, srcSpanStartColumn = 18, srcSpanEndLine = 7, srcSpanEndColumn = 19}, srcInfoPoints = []})])]) [] Nothing,ClassDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 6}]}) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 7, srcSpanEndLine = 9, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 7, srcSpanEndLine = 9, srcSpanEndColumn = 9}, srcInfoPoints = []}) "C3") [KindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 10, srcSpanEndLine = 9, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 10, srcSpanEndLine = 9, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 13, srcSpanEndLine = 9, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 31, srcSpanEndLine = 9, srcSpanEndColumn = 32}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 11, srcSpanEndLine = 9, srcSpanEndColumn = 12}, srcInfoPoints = []}) "a") (KindList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 16, srcSpanEndLine = 9, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 16, srcSpanEndLine = 9, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 30, srcSpanEndLine = 9, srcSpanEndColumn = 31}]}) [KindTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 17, srcSpanEndLine = 9, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 17, srcSpanEndLine = 9, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 21, srcSpanEndLine = 9, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 29, srcSpanEndLine = 9, srcSpanEndColumn = 30}]}) [KindVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 18, srcSpanEndLine = 9, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 18, srcSpanEndLine = 9, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 18, srcSpanEndLine = 9, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Int")),KindVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 23, srcSpanEndLine = 9, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 23, srcSpanEndLine = 9, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 9, srcSpanStartColumn = 23, srcSpanEndLine = 9, srcSpanEndColumn = 29}, srcInfoPoints = []}) "Double"))]])]) [] Nothing,ClassDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 6}]}) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 7, srcSpanEndLine = 11, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 7, srcSpanEndLine = 11, srcSpanEndColumn = 9}, srcInfoPoints = []}) "C4") [KindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 10, srcSpanEndLine = 11, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 10, srcSpanEndLine = 11, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 13, srcSpanEndLine = 11, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 21, srcSpanEndLine = 11, srcSpanEndColumn = 22}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 12}, srcInfoPoints = []}) "a") (KindParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 16, srcSpanEndLine = 11, srcSpanEndColumn = 21}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 16, srcSpanEndLine = 11, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 20, srcSpanEndLine = 11, srcSpanEndColumn = 21}]}) (KindStar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 11, srcSpanStartColumn = 18, srcSpanEndLine = 11, srcSpanEndColumn = 19}, srcInfoPoints = []})))]) [] Nothing,DataDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 5}, srcInfoPoints = []}) (DataType (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 5}, srcInfoPoints = []})) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 6, srcSpanEndLine = 13, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 6, srcSpanEndLine = 13, srcSpanEndColumn = 7}, srcInfoPoints = []}) "X") [KindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 8, srcSpanEndLine = 13, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 8, srcSpanEndLine = 13, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 11, srcSpanEndLine = 13, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 17, srcSpanEndLine = 13, srcSpanEndColumn = 18}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 10}, srcInfoPoints = []}) "a") (KindList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 14, srcSpanEndLine = 13, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 14, srcSpanEndLine = 13, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 16, srcSpanEndLine = 13, srcSpanEndColumn = 17}]}) [KindStar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 13, srcSpanStartColumn = 15, srcSpanEndLine = 13, srcSpanEndColumn = 16}, srcInfoPoints = []})])]) [] Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 27}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 3}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 3}, srcInfoPoints = []}) "x1")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 4, srcSpanEndLine = 15, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 4, srcSpanEndLine = 15, srcSpanEndColumn = 5}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 6, srcSpanEndLine = 15, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 16, srcSpanEndLine = 15, srcSpanEndColumn = 18}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 6, srcSpanEndLine = 15, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 6, srcSpanEndLine = 15, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 6, srcSpanEndLine = 15, srcSpanEndColumn = 15}, srcInfoPoints = []}) "undefined"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 19, srcSpanEndLine = 15, srcSpanEndColumn = 27}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 19, srcSpanEndLine = 15, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 19, srcSpanEndLine = 15, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 19, srcSpanEndLine = 15, srcSpanEndColumn = 20}, srcInfoPoints = []}) "X"))) (TyPromoted (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 21, srcSpanEndLine = 15, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 21, srcSpanEndLine = 15, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 26, srcSpanEndLine = 15, srcSpanEndColumn = 27}]}) (PromotedList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 21, srcSpanEndLine = 15, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 21, srcSpanEndLine = 15, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 26, srcSpanEndLine = 15, srcSpanEndColumn = 27}]}) True [PromotedCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 23, srcSpanEndLine = 15, srcSpanEndColumn = 26}, srcInfoPoints = []}) False (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 23, srcSpanEndLine = 15, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 15, srcSpanStartColumn = 23, srcSpanEndLine = 15, srcSpanEndColumn = 26}, srcInfoPoints = []}) "Int"))]))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 1, srcSpanEndLine = 16, srcSpanEndColumn = 35}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 1, srcSpanEndLine = 16, srcSpanEndColumn = 3}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 1, srcSpanEndLine = 16, srcSpanEndColumn = 3}, srcInfoPoints = []}) "x2")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 4, srcSpanEndLine = 16, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 4, srcSpanEndLine = 16, srcSpanEndColumn = 5}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 6, srcSpanEndLine = 16, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 16, srcSpanEndLine = 16, srcSpanEndColumn = 18}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 6, srcSpanEndLine = 16, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 6, srcSpanEndLine = 16, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 6, srcSpanEndLine = 16, srcSpanEndColumn = 15}, srcInfoPoints = []}) "undefined"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 19, srcSpanEndLine = 16, srcSpanEndColumn = 35}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 19, srcSpanEndLine = 16, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 19, srcSpanEndLine = 16, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 19, srcSpanEndLine = 16, srcSpanEndColumn = 20}, srcInfoPoints = []}) "X"))) (TyPromoted (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 21, srcSpanEndLine = 16, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 21, srcSpanEndLine = 16, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 26, srcSpanEndLine = 16, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 34, srcSpanEndLine = 16, srcSpanEndColumn = 35}]}) (PromotedList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 21, srcSpanEndLine = 16, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 21, srcSpanEndLine = 16, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 26, srcSpanEndLine = 16, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 34, srcSpanEndLine = 16, srcSpanEndColumn = 35}]}) True [PromotedCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 23, srcSpanEndLine = 16, srcSpanEndColumn = 26}, srcInfoPoints = []}) False (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 23, srcSpanEndLine = 16, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 23, srcSpanEndLine = 16, srcSpanEndColumn = 26}, srcInfoPoints = []}) "Int")),PromotedCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 28, srcSpanEndLine = 16, srcSpanEndColumn = 34}, srcInfoPoints = []}) False (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 28, srcSpanEndLine = 16, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 16, srcSpanStartColumn = 28, srcSpanEndLine = 16, srcSpanEndColumn = 34}, srcInfoPoints = []}) "Double"))]))))) Nothing,DataDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 1, srcSpanEndLine = 18, srcSpanEndColumn = 5}, srcInfoPoints = []}) (DataType (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 1, srcSpanEndLine = 18, srcSpanEndColumn = 5}, srcInfoPoints = []})) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 6, srcSpanEndLine = 18, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 6, srcSpanEndLine = 18, srcSpanEndColumn = 7}, srcInfoPoints = []}) "Y") [KindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 8, srcSpanEndLine = 18, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 8, srcSpanEndLine = 18, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 11, srcSpanEndLine = 18, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 23, srcSpanEndLine = 18, srcSpanEndColumn = 24}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 9, srcSpanEndLine = 18, srcSpanEndColumn = 10}, srcInfoPoints = []}) "a") (KindTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 14, srcSpanEndLine = 18, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 14, srcSpanEndLine = 18, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 16, srcSpanEndLine = 18, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 22, srcSpanEndLine = 18, srcSpanEndColumn = 23}]}) [KindStar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 15, srcSpanEndLine = 18, srcSpanEndColumn = 16}, srcInfoPoints = []}),KindVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 18, srcSpanEndLine = 18, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 18, srcSpanEndLine = 18, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 18, srcSpanStartColumn = 18, srcSpanEndLine = 18, srcSpanEndColumn = 22}, srcInfoPoints = []}) "Bool"))])]) [] Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 1, srcSpanEndLine = 20, srcSpanEndColumn = 36}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 1, srcSpanEndLine = 20, srcSpanEndColumn = 3}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 1, srcSpanEndLine = 20, srcSpanEndColumn = 3}, srcInfoPoints = []}) "y1")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 4, srcSpanEndLine = 20, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 4, srcSpanEndLine = 20, srcSpanEndColumn = 5}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 6, srcSpanEndLine = 20, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 16, srcSpanEndLine = 20, srcSpanEndColumn = 18}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 6, srcSpanEndLine = 20, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 6, srcSpanEndLine = 20, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 6, srcSpanEndLine = 20, srcSpanEndColumn = 15}, srcInfoPoints = []}) "undefined"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 19, srcSpanEndLine = 20, srcSpanEndColumn = 36}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 19, srcSpanEndLine = 20, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 19, srcSpanEndLine = 20, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 19, srcSpanEndLine = 20, srcSpanEndColumn = 20}, srcInfoPoints = []}) "Y"))) (TyPromoted (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 21, srcSpanEndLine = 20, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 21, srcSpanEndLine = 20, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 29, srcSpanEndLine = 20, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 35, srcSpanEndLine = 20, srcSpanEndColumn = 36}]}) (PromotedTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 21, srcSpanEndLine = 20, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 21, srcSpanEndLine = 20, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 29, srcSpanEndLine = 20, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 35, srcSpanEndLine = 20, srcSpanEndColumn = 36}]}) [PromotedCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 23, srcSpanEndLine = 20, srcSpanEndColumn = 29}, srcInfoPoints = []}) False (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 23, srcSpanEndLine = 20, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 23, srcSpanEndLine = 20, srcSpanEndColumn = 29}, srcInfoPoints = []}) "Double")),PromotedCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 31, srcSpanEndLine = 20, srcSpanEndColumn = 35}, srcInfoPoints = []}) False (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 31, srcSpanEndLine = 20, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 20, srcSpanStartColumn = 31, srcSpanEndLine = 20, srcSpanEndColumn = 35}, srcInfoPoints = []}) "True"))]))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 1, srcSpanEndLine = 21, srcSpanEndColumn = 50}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 1, srcSpanEndLine = 21, srcSpanEndColumn = 3}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 1, srcSpanEndLine = 21, srcSpanEndColumn = 3}, srcInfoPoints = []}) "y2")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 4, srcSpanEndLine = 21, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 4, srcSpanEndLine = 21, srcSpanEndColumn = 5}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 6, srcSpanEndLine = 21, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 16, srcSpanEndLine = 21, srcSpanEndColumn = 18}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 6, srcSpanEndLine = 21, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 6, srcSpanEndLine = 21, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 6, srcSpanEndLine = 21, srcSpanEndColumn = 15}, srcInfoPoints = []}) "undefined"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 19, srcSpanEndLine = 21, srcSpanEndColumn = 50}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 19, srcSpanEndLine = 21, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 19, srcSpanEndLine = 21, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 19, srcSpanEndLine = 21, srcSpanEndColumn = 20}, srcInfoPoints = []}) "Y"))) (TyPromoted (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 21, srcSpanEndLine = 21, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 21, srcSpanEndLine = 21, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 29, srcSpanEndLine = 21, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 49, srcSpanEndLine = 21, srcSpanEndColumn = 50}]}) (PromotedTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 21, srcSpanEndLine = 21, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 21, srcSpanEndLine = 21, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 29, srcSpanEndLine = 21, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 49, srcSpanEndLine = 21, srcSpanEndColumn = 50}]}) [PromotedCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 23, srcSpanEndLine = 21, srcSpanEndColumn = 29}, srcInfoPoints = []}) False (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 23, srcSpanEndLine = 21, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 23, srcSpanEndLine = 21, srcSpanEndColumn = 29}, srcInfoPoints = []}) "Double")),PromotedCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 31, srcSpanEndLine = 21, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 31, srcSpanEndLine = 21, srcSpanEndColumn = 32}]}) True (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 32, srcSpanEndLine = 21, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 32, srcSpanEndLine = 21, srcSpanEndColumn = 37}, srcInfoPoints = []}) "False"))]))))) Nothing],[Comment True (SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 28}) " 1 ",Comment True (SrcSpan {srcSpanFilename = "tests/examples/DataKinds.hs", srcSpanStartLine = 21, srcSpanStartColumn = 38, srcSpanEndLine = 21, srcSpanEndColumn = 49}) "comment"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 1 1 35 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 1 1 1 1+ , SrcSpan "tests/examples/DataKinds.hs" 2 1 2 1+ , SrcSpan "tests/examples/DataKinds.hs" 3 1 3 1+ , SrcSpan "tests/examples/DataKinds.hs" 5 1 5 1+ , SrcSpan "tests/examples/DataKinds.hs" 5 1 5 1+ , SrcSpan "tests/examples/DataKinds.hs" 5 1 5 1+ , SrcSpan "tests/examples/DataKinds.hs" 8 1 8 1+ , SrcSpan "tests/examples/DataKinds.hs" 10 1 10 1+ , SrcSpan "tests/examples/DataKinds.hs" 11 1 11 1+ , SrcSpan "tests/examples/DataKinds.hs" 13 1 13 1+ , SrcSpan "tests/examples/DataKinds.hs" 15 1 15 1+ , SrcSpan "tests/examples/DataKinds.hs" 18 1 18 1+ , SrcSpan "tests/examples/DataKinds.hs" 20 1 20 1+ , SrcSpan "tests/examples/DataKinds.hs" 22 1 22 1+ , SrcSpan "tests/examples/DataKinds.hs" 24 1 24 1+ , SrcSpan "tests/examples/DataKinds.hs" 25 1 25 1+ , SrcSpan "tests/examples/DataKinds.hs" 27 1 27 1+ , SrcSpan "tests/examples/DataKinds.hs" 29 1 29 1+ , SrcSpan "tests/examples/DataKinds.hs" 30 1 30 1+ , SrcSpan "tests/examples/DataKinds.hs" 33 1 33 1+ , SrcSpan "tests/examples/DataKinds.hs" 34 1 34 1+ , SrcSpan "tests/examples/DataKinds.hs" 35 1 35 1+ , SrcSpan "tests/examples/DataKinds.hs" 35 1 35 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 1 1 1 13+ , SrcSpan "tests/examples/DataKinds.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "KindSignatures"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 2 1 2 13+ , SrcSpan "tests/examples/DataKinds.hs" 2 24 2 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 2 14 2 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 3 1 3 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 3 1 3 13+ , SrcSpan "tests/examples/DataKinds.hs" 3 24 3 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 3 14 3 23+ , srcInfoPoints = []+ }+ "PolyKinds"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 1 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 5 1 5 6+ , SrcSpan "tests/examples/DataKinds.hs" 5 30 5 35+ , SrcSpan "tests/examples/DataKinds.hs" 6 5 6 5+ , SrcSpan "tests/examples/DataKinds.hs" 8 1 8 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 7 5 29+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 7 5 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 7 5 9+ , srcInfoPoints = []+ }+ "C1"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 10 5 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 5 10 5 11+ , SrcSpan "tests/examples/DataKinds.hs" 5 13 5 15+ , SrcSpan "tests/examples/DataKinds.hs" 5 28 5 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ "a")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 16 5 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 16 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 16 5 20+ , srcInfoPoints = []+ }+ "Bool")))))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 5 6 24+ , srcInfoPoints = [ SrcSpan "tests/examples/DataKinds.hs" 6 7 6 9 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 5 6 24+ , srcInfoPoints = [ SrcSpan "tests/examples/DataKinds.hs" 6 7 6 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 5 6 6+ , srcInfoPoints = []+ }+ "c"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 10 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 6 18 6 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 10 6 17+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 10 6 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 10 6 15+ , srcInfoPoints = []+ }+ "proxy"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 21 6 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 21 6 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 6 21 6 24+ , srcInfoPoints = []+ }+ "Int")))))+ ])+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 1 8 22+ , srcInfoPoints = [ SrcSpan "tests/examples/DataKinds.hs" 8 1 8 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 7 8 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 7 8 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 7 8 9+ , srcInfoPoints = []+ }+ "C2"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 10 8 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 8 10 8 11+ , SrcSpan "tests/examples/DataKinds.hs" 8 13 8 15+ , SrcSpan "tests/examples/DataKinds.hs" 8 21 8 22+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 11 8 12+ , srcInfoPoints = []+ }+ "a")+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 16 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 8 16 8 17+ , SrcSpan "tests/examples/DataKinds.hs" 8 20 8 21+ ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 18 8 19+ , srcInfoPoints = []+ }))))+ []+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 10 1 10 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 10 10 10 11 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 10 1 10 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 10 6 10 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 10 6 10 9+ , srcInfoPoints = []+ }+ "Baz"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 10 12 10 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 10 12 10 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 10 12 10 15+ , srcInfoPoints = []+ }+ "Baz")+ [])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 11 1 11 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 11 10 11 11 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 11 1 11 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 11 6 11 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 11 6 11 9+ , srcInfoPoints = []+ }+ "Foo"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 11 12 11 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 11 12 11 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 11 12 11 15+ , srcInfoPoints = []+ }+ "Foo")+ [])+ ]+ []+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 1 13 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 13 1 13 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 7 13 29+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 7 13 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 7 13 9+ , srcInfoPoints = []+ }+ "C3"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 10 13 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 13 10 13 11+ , SrcSpan "tests/examples/DataKinds.hs" 13 13 13 15+ , SrcSpan "tests/examples/DataKinds.hs" 13 28 13 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 11 13 12+ , srcInfoPoints = []+ }+ "a")+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 16 13 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 13 16 13 17+ , SrcSpan "tests/examples/DataKinds.hs" 13 27 13 28+ ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 17 13 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 13 17 13 18+ , SrcSpan "tests/examples/DataKinds.hs" 13 21 13 22+ , SrcSpan "tests/examples/DataKinds.hs" 13 26 13 27+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 18 13 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 18 13 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 18 13 21+ , srcInfoPoints = []+ }+ "Baz"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 23 13 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 23 13 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 23 13 26+ , srcInfoPoints = []+ }+ "Foo"))+ ]))))+ []+ Nothing+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 1 15 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 15 1 15 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 7 15 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 7 15 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 7 15 9+ , srcInfoPoints = []+ }+ "C4"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 10 15 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 15 10 15 11+ , SrcSpan "tests/examples/DataKinds.hs" 15 13 15 15+ , SrcSpan "tests/examples/DataKinds.hs" 15 21 15 22+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ "a")+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 16 15 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 15 16 15 17+ , SrcSpan "tests/examples/DataKinds.hs" 15 20 15 21+ ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 18 15 19+ , srcInfoPoints = []+ }))))+ []+ Nothing+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 1 18 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 18 1 18 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 7 18 28+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 7 18 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 7 18 9+ , srcInfoPoints = []+ }+ "C5"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 10 18 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 18 10 18 11+ , SrcSpan "tests/examples/DataKinds.hs" 18 13 18 15+ , SrcSpan "tests/examples/DataKinds.hs" 18 27 18 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 11 18 12+ , srcInfoPoints = []+ }+ "a")+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 19+ , srcInfoPoints = []+ }+ "App")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23+ , srcInfoPoints = []+ }+ "foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27+ , srcInfoPoints = []+ }+ "baz")))))+ []+ Nothing+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 1 20 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 20 1 20 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 7 20 25+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 7 20 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 7 20 9+ , srcInfoPoints = []+ }+ "C6"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 10 20 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 20 10 20 11+ , SrcSpan "tests/examples/DataKinds.hs" 20 13 20 15+ , SrcSpan "tests/examples/DataKinds.hs" 20 24 20 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 11 20 12+ , srcInfoPoints = []+ }+ "a")+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 16 20 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 20 16 20 17+ , SrcSpan "tests/examples/DataKinds.hs" 20 23 20 24+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23+ , srcInfoPoints = []+ }+ "parens")))))+ []+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 1 22 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 1 22 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 6 22 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 6 22 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 6 22 7+ , srcInfoPoints = []+ }+ "X"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 8 22 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 22 8 22 9+ , SrcSpan "tests/examples/DataKinds.hs" 22 11 22 13+ , SrcSpan "tests/examples/DataKinds.hs" 22 17 22 18+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 9 22 10+ , srcInfoPoints = []+ }+ "a")+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 14 22 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 22 14 22 15+ , SrcSpan "tests/examples/DataKinds.hs" 22 16 22 17+ ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 15 22 16+ , srcInfoPoints = []+ }))))+ []+ []+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 1 24 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 1 24 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 1 24 3+ , srcInfoPoints = []+ }+ "x1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 4 24 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 24 4 24 5 ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 6 24 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 24 16 24 18 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 6 24 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 6 24 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 6 24 15+ , srcInfoPoints = []+ }+ "undefined")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 19 24 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 19 24 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 19 24 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 19 24 20+ , srcInfoPoints = []+ }+ "X")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 21 24 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 24 21 24 22+ , SrcSpan "tests/examples/DataKinds.hs" 24 26 24 27+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 21 24 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 24 21 24 22+ , SrcSpan "tests/examples/DataKinds.hs" 24 26 24 27+ ]+ }+ True+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 23 24 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 23 24 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 24 23 24 26+ , srcInfoPoints = []+ }+ "Int"))+ ])))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 1 25 35+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 1 25 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 1 25 3+ , srcInfoPoints = []+ }+ "x2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 4 25 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 25 4 25 5 ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 6 25 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 25 16 25 18 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 6 25 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 6 25 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 6 25 15+ , srcInfoPoints = []+ }+ "undefined")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 19 25 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 19 25 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 19 25 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 19 25 20+ , srcInfoPoints = []+ }+ "X")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 21 25 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 25 21 25 22+ , SrcSpan "tests/examples/DataKinds.hs" 25 26 25 27+ , SrcSpan "tests/examples/DataKinds.hs" 25 34 25 35+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 21 25 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 25 21 25 22+ , SrcSpan "tests/examples/DataKinds.hs" 25 26 25 27+ , SrcSpan "tests/examples/DataKinds.hs" 25 34 25 35+ ]+ }+ True+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 23 25 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 23 25 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 25 23 25 26+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 28 25 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 25 28 25 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 25 28 25 34+ , srcInfoPoints = []+ }+ "Double"))+ ])))))+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 1 27 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 1 27 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 6 27 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 6 27 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 6 27 7+ , srcInfoPoints = []+ }+ "Y"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 8 27 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 27 8 27 9+ , SrcSpan "tests/examples/DataKinds.hs" 27 11 27 13+ , SrcSpan "tests/examples/DataKinds.hs" 27 23 27 24+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 9 27 10+ , srcInfoPoints = []+ }+ "a")+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 14 27 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 27 14 27 15+ , SrcSpan "tests/examples/DataKinds.hs" 27 16 27 17+ , SrcSpan "tests/examples/DataKinds.hs" 27 22 27 23+ ]+ }+ Boxed+ [ TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 15 27 16+ , srcInfoPoints = []+ }+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 18 27 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 18 27 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 18 27 22+ , srcInfoPoints = []+ }+ "Bool"))+ ])))+ []+ []+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 1 29 36+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 1 29 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 1 29 3+ , srcInfoPoints = []+ }+ "y1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 4 29 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 29 4 29 5 ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 6 29 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 29 16 29 18 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 6 29 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 6 29 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 6 29 15+ , srcInfoPoints = []+ }+ "undefined")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 19 29 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ "Y")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 21 29 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 29 21 29 22+ , SrcSpan "tests/examples/DataKinds.hs" 29 29 29 30+ , SrcSpan "tests/examples/DataKinds.hs" 29 35 29 36+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 21 29 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 29 21 29 22+ , SrcSpan "tests/examples/DataKinds.hs" 29 29 29 30+ , SrcSpan "tests/examples/DataKinds.hs" 29 35 29 36+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 23 29 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 23 29 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 29 23 29 29+ , srcInfoPoints = []+ }+ "Double"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 31 29 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 31 29 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 29 31 29 35+ , srcInfoPoints = []+ }+ "True"))+ ])))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 1 30 50+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 1 30 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 1 30 3+ , srcInfoPoints = []+ }+ "y2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 4 30 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 30 4 30 5 ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 6 30 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 30 16 30 18 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 6 30 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 6 30 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 6 30 15+ , srcInfoPoints = []+ }+ "undefined")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 19 30 50+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 19 30 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 19 30 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 19 30 20+ , srcInfoPoints = []+ }+ "Y")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 21 30 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 30 21 30 22+ , SrcSpan "tests/examples/DataKinds.hs" 30 29 30 30+ , SrcSpan "tests/examples/DataKinds.hs" 30 49 30 50+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 21 30 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 30 21 30 22+ , SrcSpan "tests/examples/DataKinds.hs" 30 29 30 30+ , SrcSpan "tests/examples/DataKinds.hs" 30 49 30 50+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 23 30 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 23 30 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 30 23 30 29+ , srcInfoPoints = []+ }+ "Double"))+ , TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 31 30 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 30 31 30 32 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 30 31 30 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 30 31 30 32 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 30 32 30 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 30 32 30 37+ , srcInfoPoints = []+ }+ "False")))+ ])))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 1 33 38+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 1 33 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 1 33 3+ , srcInfoPoints = []+ }+ "z1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 4 33 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 33 4 33 5 ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 6 33 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 33 16 33 18 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 6 33 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 6 33 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 6 33 15+ , srcInfoPoints = []+ }+ "undefined")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 19 33 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 19 33 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 19 33 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 19 33 20+ , srcInfoPoints = []+ }+ "X")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 21 33 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 33 21 33 22+ , SrcSpan "tests/examples/DataKinds.hs" 33 29 33 30+ , SrcSpan "tests/examples/DataKinds.hs" 33 37 33 38+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 21 33 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 33 21 33 22+ , SrcSpan "tests/examples/DataKinds.hs" 33 29 33 30+ , SrcSpan "tests/examples/DataKinds.hs" 33 37 33 38+ ]+ }+ False+ [ TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 23 33 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 33 25 33 27 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 23 33 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 33 23 33 24+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 28 33 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 33 28 33 29+ , srcInfoPoints = []+ }+ "b"))+ , TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 31 33 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 31 33 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 33 31 33 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 33 31 33 32+ , srcInfoPoints = []+ }+ "X")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 33 33 33 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 33 33 33 34+ , SrcSpan "tests/examples/DataKinds.hs" 33 35 33 36+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DataKinds.hs" 33 33 33 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 33 33 33 34+ , SrcSpan "tests/examples/DataKinds.hs" 33 35 33 36+ ]+ }+ True+ []))+ ])))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 1 34 35+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 1 34 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 1 34 3+ , srcInfoPoints = []+ }+ "z2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 4 34 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 34 4 34 5 ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 6 34 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 34 16 34 18 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 6 34 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 6 34 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 6 34 15+ , srcInfoPoints = []+ }+ "undefined")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 19 34 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 19 34 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 19 34 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 19 34 20+ , srcInfoPoints = []+ }+ "Y")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 21 34 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 34 21 34 22+ , SrcSpan "tests/examples/DataKinds.hs" 34 28 34 29+ , SrcSpan "tests/examples/DataKinds.hs" 34 34 34 35+ ]+ }+ Boxed+ [ TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 22 34 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds.hs" 34 24 34 26 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 22 34 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 22 34 23+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 27 34 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 27 34 28+ , srcInfoPoints = []+ }+ "b"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 30 34 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 30 34 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 34 30 34 34+ , srcInfoPoints = []+ }+ "True"))+ ]))))+ Nothing+ ]+ , [ Comment+ True (SrcSpan "tests/examples/DataKinds.hs" 5 21 5 28) " 1 "+ , Comment+ True (SrcSpan "tests/examples/DataKinds.hs" 30 38 30 49) "comment"+ ]+ )
tests/examples/DataKinds.hs.prettyprinter.golden view
@@ -1,21 +1,30 @@ {-# LANGUAGE KindSignatures #-} {-# LANGUAGE DataKinds #-}-module Main (main) where- +{-# LANGUAGE PolyKinds #-}+ class C1 (a :: Bool) where- c :: proxy a -> Int- + class C2 (a :: [*])- -class C3 (a :: [(Int, Double)])- ++data Baz = Baz++data Foo = Foo++class C3 (a :: [(Baz, Foo)])+ class C4 (a :: (*))- ++class C5 (a :: App foo baz)++class C6 (a :: (parens))+ data X (a :: [*]) x1 = undefined :: X '[Int] x2 = undefined :: X '[Int, Double]- + data Y (a :: (*, Bool)) y1 = undefined :: Y '(Double, True) y2 = undefined :: Y '(Double, 'False)+z1 = undefined :: X [a -> b, X '[]]+z2 = undefined :: Y (a -> b, True)
+ tests/examples/DataKinds2.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE DataKinds #-}++data Foo a = Foo++type FooB = Foo "a"++type FooC = Foo 1++instance Show (Foo "bar") where
+ tests/examples/DataKinds2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DataKinds2.hs.parser.golden view
@@ -0,0 +1,283 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 1 1 10 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds2.hs" 1 1 1 1+ , SrcSpan "tests/examples/DataKinds2.hs" 3 1 3 1+ , SrcSpan "tests/examples/DataKinds2.hs" 3 1 3 1+ , SrcSpan "tests/examples/DataKinds2.hs" 3 1 3 1+ , SrcSpan "tests/examples/DataKinds2.hs" 5 1 5 1+ , SrcSpan "tests/examples/DataKinds2.hs" 7 1 7 1+ , SrcSpan "tests/examples/DataKinds2.hs" 9 1 9 1+ , SrcSpan "tests/examples/DataKinds2.hs" 10 1 10 1+ , SrcSpan "tests/examples/DataKinds2.hs" 10 1 10 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds2.hs" 1 1 1 13+ , SrcSpan "tests/examples/DataKinds2.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 3 1 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds2.hs" 3 12 3 13 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 3 6 3 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ "Foo")+ [])+ ]+ []+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 1 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds2.hs" 5 1 5 5+ , SrcSpan "tests/examples/DataKinds2.hs" 5 11 5 12+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 6 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 6 5 10+ , srcInfoPoints = []+ }+ "FooB"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 13 5 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ "Foo")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ (PromotedString+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ "a"+ "a")))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 7 1 7 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds2.hs" 7 1 7 5+ , SrcSpan "tests/examples/DataKinds2.hs" 7 11 7 12+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 7 6 7 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 7 6 7 10+ , srcInfoPoints = []+ }+ "FooC"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 7 13 7 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 7 13 7 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 7 13 7 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 7 13 7 16+ , srcInfoPoints = []+ }+ "Foo")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 7 17 7 18+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 7 17 7 18+ , srcInfoPoints = []+ }+ 1+ "1")))+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 1 10 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds2.hs" 9 1 9 9+ , SrcSpan "tests/examples/DataKinds2.hs" 9 27 9 32+ , SrcSpan "tests/examples/DataKinds2.hs" 10 1 10 1+ , SrcSpan "tests/examples/DataKinds2.hs" 10 1 10 1+ , SrcSpan "tests/examples/DataKinds2.hs" 10 0 10 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 10 9 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 10 9 26+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 10 9 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 10 9 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 10 9 14+ , srcInfoPoints = []+ }+ "Show")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 15 9 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DataKinds2.hs" 9 15 9 16+ , SrcSpan "tests/examples/DataKinds2.hs" 9 25 9 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 16 9 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 16 9 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 16 9 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 16 9 19+ , srcInfoPoints = []+ }+ "Foo")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 20 9 25+ , srcInfoPoints = []+ }+ (PromotedString+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 9 20 9 25+ , srcInfoPoints = []+ }+ "bar"+ "bar"))))))+ (Just [])+ ]+ , []+ )
+ tests/examples/DataKinds2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DataKinds2.hs.prettyprinter.golden view
@@ -0,0 +1,9 @@+{-# LANGUAGE DataKinds #-}++data Foo a = Foo++type FooB = Foo "a"++type FooC = Foo 1++instance Show (Foo "bar") where
+ tests/examples/DefaultSignatures.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE DefaultSignatures #-}+class C a where+ f :: a -> a -> Bool+ default f :: (Eq a) => a -> a -> Bool+ f x y = x == y
+ tests/examples/DefaultSignatures.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DefaultSignatures.hs.parser.golden view
@@ -0,0 +1,441 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 1 1 1 1+ , SrcSpan "tests/examples/DefaultSignatures.hs" 2 1 2 1+ , SrcSpan "tests/examples/DefaultSignatures.hs" 2 1 2 1+ , SrcSpan "tests/examples/DefaultSignatures.hs" 2 1 2 1+ , SrcSpan "tests/examples/DefaultSignatures.hs" 6 1 6 1+ , SrcSpan "tests/examples/DefaultSignatures.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 1 1 1 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 1 1 1 13+ , SrcSpan "tests/examples/DefaultSignatures.hs" 1 32 1 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 1 14 1 31+ , srcInfoPoints = []+ }+ "DefaultSignatures"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 2 1 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 2 1 2 6+ , SrcSpan "tests/examples/DefaultSignatures.hs" 2 11 2 16+ , SrcSpan "tests/examples/DefaultSignatures.hs" 3 5 3 5+ , SrcSpan "tests/examples/DefaultSignatures.hs" 4 5 4 5+ , SrcSpan "tests/examples/DefaultSignatures.hs" 5 5 5 5+ , SrcSpan "tests/examples/DefaultSignatures.hs" 6 1 6 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 2 7 2 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 2 7 2 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 2 7 2 8+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 5 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 3 7 3 9 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 5 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 3 7 3 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 10 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 3 12 3 14 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 15 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 3 17 3 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 20 3 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 20 3 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 3 20 3 24+ , srcInfoPoints = []+ }+ "Bool"))))))+ , ClsDefSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 5 4 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 4 5 4 12+ , SrcSpan "tests/examples/DefaultSignatures.hs" 4 15 4 17+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "f")+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 18 4 42+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 18 4 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 4 18 4 19+ , SrcSpan "tests/examples/DefaultSignatures.hs" 4 23 4 24+ , SrcSpan "tests/examples/DefaultSignatures.hs" 4 25 4 27+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 18 4 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 4 18 4 19+ , SrcSpan "tests/examples/DefaultSignatures.hs" 4 23 4 24+ , SrcSpan "tests/examples/DefaultSignatures.hs" 4 25 4 27+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DefaultSignatures.hs" 4 19 4 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DefaultSignatures.hs" 4 19 4 21+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DefaultSignatures.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ "a")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 28 4 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 4 30 4 32 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 33 4 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 4 35 4 37 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 38 4 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 38 4 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 38 4 42+ , srcInfoPoints = []+ }+ "Bool"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 5 5 19+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 5 5 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 5 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 11 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DefaultSignatures.hs" 5 11 5 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 13 5 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 13 5 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 13 5 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 13 5 14+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 15 5 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 15 5 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 15 5 17+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ])+ ])+ ]+ , []+ )
+ tests/examples/DefaultSignatures.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DefaultSignatures.hs.prettyprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE DefaultSignatures #-}++class C a where+ f :: a -> a -> Bool+ + default f :: (Eq a) => a -> a -> Bool+ f x y = x == y
+ tests/examples/DeriveGeneric.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE DeriveGeneric #-}++data UserTree a = Node a (UserTree a) (UserTree a) | Leaf+ deriving Generic
+ tests/examples/DeriveGeneric.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DeriveGeneric.hs.parser.golden view
@@ -0,0 +1,239 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DeriveGeneric.hs" 1 1 1 1+ , SrcSpan "tests/examples/DeriveGeneric.hs" 3 1 3 1+ , SrcSpan "tests/examples/DeriveGeneric.hs" 3 1 3 1+ , SrcSpan "tests/examples/DeriveGeneric.hs" 3 1 3 1+ , SrcSpan "tests/examples/DeriveGeneric.hs" 5 1 5 1+ , SrcSpan "tests/examples/DeriveGeneric.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DeriveGeneric.hs" 1 1 1 13+ , SrcSpan "tests/examples/DeriveGeneric.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "DeriveGeneric"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 1 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DeriveGeneric.hs" 3 17 3 18+ , SrcSpan "tests/examples/DeriveGeneric.hs" 3 52 3 53+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 6 3 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 6 3 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 6 3 14+ , srcInfoPoints = []+ }+ "UserTree"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 19 3 51+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 19 3 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 19 3 23+ , srcInfoPoints = []+ }+ "Node")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 24 3 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 24 3 25+ , srcInfoPoints = []+ }+ "a")+ , TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 26 3 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DeriveGeneric.hs" 3 26 3 27+ , SrcSpan "tests/examples/DeriveGeneric.hs" 3 37 3 38+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 27 3 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 27 3 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 27 3 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DeriveGeneric.hs" 3 27 3 35+ , srcInfoPoints = []+ }+ "UserTree")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 36 3 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 36 3 37+ , srcInfoPoints = []+ }+ "a")))+ , TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 39 3 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DeriveGeneric.hs" 3 39 3 40+ , SrcSpan "tests/examples/DeriveGeneric.hs" 3 50 3 51+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 40 3 50+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 40 3 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 40 3 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DeriveGeneric.hs" 3 40 3 48+ , srcInfoPoints = []+ }+ "UserTree")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 49 3 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 49 3 50+ , srcInfoPoints = []+ }+ "a")))+ ])+ , QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 54 3 58+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 54 3 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 3 54 3 58+ , srcInfoPoints = []+ }+ "Leaf")+ [])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 3 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DeriveGeneric.hs" 4 3 4 11 ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+ , srcInfoPoints = []+ }+ "Generic")))+ ]+ ]+ ]+ , []+ )
+ tests/examples/DeriveGeneric.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DeriveGeneric.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE DeriveGeneric #-}++data UserTree a = Node a (UserTree a) (UserTree a)+ | Leaf+ deriving Generic
+ tests/examples/DerivingParen.hs view
@@ -0,0 +1,2 @@+data X = X deriving Show+data X = X deriving (Show)
+ tests/examples/DerivingParen.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingParen.hs.parser.golden view
@@ -0,0 +1,177 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingParen.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingParen.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingParen.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingParen.hs" 2 1 2 1+ , SrcSpan "tests/examples/DerivingParen.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingParen.hs" 3 1 3 1+ ]+ }+ Nothing+ []+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 1 1 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingParen.hs" 1 8 1 9 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 1 1 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 6 1 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 6 1 7+ , srcInfoPoints = []+ }+ "X"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 10 1 11+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 10 1 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 10 1 11+ , srcInfoPoints = []+ }+ "X")+ [])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 12 1 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingParen.hs" 1 12 1 20 ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingParen.hs" 2 8 2 9 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 1 2 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 6 2 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 6 2 7+ , srcInfoPoints = []+ }+ "X"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ "X")+ [])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 12 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingParen.hs" 2 12 2 20 ]+ }+ Nothing+ [ IParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 21 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingParen.hs" 2 21 2 22+ , SrcSpan "tests/examples/DerivingParen.hs" 2 26 2 27+ ]+ }+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+ , srcInfoPoints = []+ }+ "Show"))))+ ]+ ]+ ]+ , []+ )
+ tests/examples/DerivingParen.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingParen.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+data X = X deriving Show++data X = X deriving (Show)
+ tests/examples/DerivingStrategies.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE DeriveAnyClass #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingStrategies where++class C a+class D a++newtype Foo a = MkFoo a+ deriving ()+ deriving stock (Eq, Ord)+ deriving newtype Show+ deriving anyclass C++deriving stock instance Read a => Read (Foo a)+deriving newtype instance Num a => Num (Foo a)+deriving anyclass instance D (Foo a)
+ tests/examples/DerivingStrategies.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingStrategies.hs.parser.golden view
@@ -0,0 +1,849 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 19 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 2 1 2 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 7 1 7 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 8 1 8 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 10 1 10 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 16 1 16 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 17 1 17 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 18 1 18 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 19 1 19 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 19 1 19 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 7+ , SrcSpan "tests/examples/DerivingStrategies.hs" 5 27 5 32+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 5 8 5 26+ , srcInfoPoints = []+ }+ "DerivingStrategies")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 1 13+ , SrcSpan "tests/examples/DerivingStrategies.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "DeriveAnyClass"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 2 1 2 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 2 1 2 13+ , SrcSpan "tests/examples/DerivingStrategies.hs" 2 33 2 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 2 14 2 32+ , srcInfoPoints = []+ }+ "DerivingStrategies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 3 1 3 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 3 1 3 13+ , SrcSpan "tests/examples/DerivingStrategies.hs" 3 41 3 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 3 14 3 40+ , srcInfoPoints = []+ }+ "GeneralizedNewtypeDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 4 1 4 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 4 1 4 13+ , SrcSpan "tests/examples/DerivingStrategies.hs" 4 33 4 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 4 14 4 32+ , srcInfoPoints = []+ }+ "StandaloneDeriving"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 1 7 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 7 1 7 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 7 7 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 7 7 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 7 7 8+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ "a")))+ []+ Nothing+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 1 8 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 8 1 8 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 7 8 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 7 8 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 7 8 8+ , srcInfoPoints = []+ }+ "D"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ "a")))+ []+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 1 14 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 10 15 10 16 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 1 10 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 9 10 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 9 10 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 9 10 12+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 13 10 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 13 10 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 17 10 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 17 10 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 17 10 22+ , srcInfoPoints = []+ }+ "MkFoo")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 23 10 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 23 10 24+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 11 3 11 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 11 3 11 11+ , SrcSpan "tests/examples/DerivingStrategies.hs" 11 12 11 13+ , SrcSpan "tests/examples/DerivingStrategies.hs" 11 13 11 14+ ]+ }+ Nothing+ []+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 3 12 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 12 3 12 11+ , SrcSpan "tests/examples/DerivingStrategies.hs" 12 18 12 19+ , SrcSpan "tests/examples/DerivingStrategies.hs" 12 21 12 22+ , SrcSpan "tests/examples/DerivingStrategies.hs" 12 26 12 27+ ]+ }+ (Just+ (DerivStock+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 12 12 17+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ "Ord")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 3 13 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 13 3 13 11 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 12 13 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+ , srcInfoPoints = []+ }+ "Show")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 3 14 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 14 3 14 11 ]+ }+ (Just+ (DerivAnyclass+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 12 14 20+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+ , srcInfoPoints = []+ }+ "C")))+ ]+ ]+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 1 16 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 1 16 9+ , SrcSpan "tests/examples/DerivingStrategies.hs" 16 16 16 24+ ]+ }+ (Just+ (DerivStock+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 10 16 15+ , srcInfoPoints = []+ }))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 47+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+ , srcInfoPoints = []+ }+ "Read")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 47+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 39+ , srcInfoPoints = []+ }+ "Read")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 40 16 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 40 16 41+ , SrcSpan "tests/examples/DerivingStrategies.hs" 16 46 16 47+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 44+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 45 16 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 45 16 46+ , srcInfoPoints = []+ }+ "a"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 1 17 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 1 17 9+ , SrcSpan "tests/examples/DerivingStrategies.hs" 17 18 17 26+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 10 17 17+ , srcInfoPoints = []+ }))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 47+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 47+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 39+ , srcInfoPoints = []+ }+ "Num")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 40 17 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 40 17 41+ , SrcSpan "tests/examples/DerivingStrategies.hs" 17 46 17 47+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 44+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 45 17 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 45 17 46+ , srcInfoPoints = []+ }+ "a"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 1 18 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 18 1 18 9+ , SrcSpan "tests/examples/DerivingStrategies.hs" 18 19 18 27+ ]+ }+ (Just+ (DerivAnyclass+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 10 18 18+ , srcInfoPoints = []+ }))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 37+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 37+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 29+ , srcInfoPoints = []+ }+ "D")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 30 18 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 18 30 18 31+ , SrcSpan "tests/examples/DerivingStrategies.hs" 18 36 18 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 34+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 35 18 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 35 18 36+ , srcInfoPoints = []+ }+ "a"))))))+ ]+ , []+ )
+ tests/examples/DerivingStrategies.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingStrategies.hs.prettyprinter.golden view
@@ -0,0 +1,21 @@+{-# LANGUAGE DeriveAnyClass #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingStrategies where++class C a++class D a++newtype Foo a = MkFoo a+ deriving ()+ deriving stock (Eq, Ord)+ deriving newtype Show+ deriving anyclass C++deriving stock instance Read a => Read (Foo a)++deriving newtype instance Num a => Num (Foo a)++deriving anyclass instance D (Foo a)
+ tests/examples/DerivingVia.hs view
@@ -0,0 +1,459 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where++import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))++import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx. f xx -> g xx++-----+-- Simple example+-----++data Foo a = MkFoo a a+ deriving Show+ via (Identity (Foo a))++-----+-- Eta reduction at work+-----++newtype Flip p a b = Flip { runFlip :: p b a }++instance Bifunctor p => Bifunctor (Flip p) where+ bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+ fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+ deriving Functor+ via (Flip Either Int)++-----+-- Monad transformers+-----++type MTrans = (Type -> Type) -> (Type -> Type)++-- From `constraints'+data Dict c where+ Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\+(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++-- With `-XQuantifiedConstraints' this just becomes+--+-- type Lifting cls trans = forall mm. cls mm => cls (trans mm)+--+-- type LiftingMonad trans = Lifting Monad trans+--+class LiftingMonad (trans :: MTrans) where+ proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+ proof :: Monad m :- Monad (StateT s m)+ proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+ proof :: Monad m :- Monad (WriterT w m)+ proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') => LiftingMonad (ComposeT trans trans' :: MTrans) where+ proof :: forall m. Monad m :- Monad (ComposeT trans trans' m)+ proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+ Stack :: ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+ deriving newtype+ ( Functor+ , Applicative+ , Monad+ , MonadReader Int+ , MonadState Bool+ , MonadWriter String+ )+ deriving (MonadTrans, MFunctor)+ via (ReaderT Int `ComposeT` StateT Bool `ComposeT` WriterT String)++class MFunctor (trans :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+ hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+ hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+ hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`+newtype ComposeT :: MTrans -> MTrans -> MTrans where+ ComposeT :: { getComposeT :: f (g m) a } -> ComposeT f g m a+ deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) => MonadTrans (ComposeT f g) where+ lift :: forall m. Monad m => m ~> ComposeT f g m+ lift = ComposeT . lift . lift+ \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) => MFunctor (ComposeT f g) where+ hoist :: forall m m'. Monad m => (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+ hoist f = ComposeT . hoist (hoist f) . getComposeT+ \\ proof @g @m++-----+-- Using tuples in a `via` type+-----++newtype X a = X (a, a)+ deriving (Semigroup, Monoid)+ via (Product a, Sum a)++ deriving (Show, Eq)+ via (a, a)++-----+-- Abstract data types+-----++class C f where+ c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+ c = const 0++deriving via (X2 IO) instance C IO++----+-- Testing parser+----++newtype P0 a = P0 a deriving Show via a+newtype P1 a = P1 [a] deriving Show via [a]+newtype P2 a = P2 (a, a) deriving Show via (a, a)+newtype P3 a = P3 (Maybe a) deriving Show via (First a)+newtype P4 a = P4 (Maybe a) deriving Show via (First $ a)+newtype P5 a = P5 a deriving Show via (Identity $ a)+newtype P6 a = P6 [a] deriving Show via ([] $ a)+newtype P7 a = P7 (a, a) deriving Show via (Identity $ (a, a))+newtype P8 a = P8 (Either () a) deriving Functor via (($) (Either ()))++newtype f $ a = APP (f a) deriving newtype Show deriving newtype Functor++----+-- From Baldur's notes+----++----+-- 1+----+newtype WrapApplicative f a = WrappedApplicative (f a)+ deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+ (+) = liftA2 (+)+ (*) = liftA2 (*)+ negate = fmap negate+ fromInteger = pure . fromInteger+ abs = fmap abs+ signum = fmap signum++instance (Applicative f, Fractional a) => Fractional (WrapApplicative f a) where+ recip = fmap recip+ fromRational = pure . fromRational++instance (Applicative f, Floating a) => Floating (WrapApplicative f a) where+ pi = pure pi+ sqrt = fmap sqrt+ exp = fmap exp+ log = fmap log+ sin = fmap sin+ cos = fmap cos+ asin = fmap asin+ atan = fmap atan+ acos = fmap acos+ sinh = fmap sinh+ cosh = fmap cosh+ asinh = fmap asinh+ atanh = fmap atanh+ acosh = fmap acosh++instance (Applicative f, Semigroup s) => Semigroup (WrapApplicative f s) where+ (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m) where+ mempty = pure mempty++----+-- 2+----+class Pointed p where+ pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+ deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+ fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+ pure = pointed+ (<*>) = ap++-- data+data Sorted a = Sorted a a a+ deriving (Functor, Applicative)+ via (WrapMonad Sorted)+ deriving (Num, Fractional, Floating, Semigroup, Monoid)+ via (WrapApplicative Sorted a)+++instance Monad Sorted where+ (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+ Sorted a b c >>= f = Sorted a' b' c' where+ Sorted a' _ _ = f a+ Sorted _ b' _ = f b+ Sorted _ _ c' = f c++instance Pointed Sorted where+ pointed :: a -> Sorted a+ pointed a = Sorted a a a++----+-- 3+----+class IsZero a where+ isZero :: a -> Bool++newtype WrappedNumEq a = WrappedNumEq a+newtype WrappedShow a = WrappedShow a+newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+ isZero :: WrappedNumEq a -> Bool+ isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+ isZero :: WrappedShow a -> Bool+ isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+ isZero :: WrappedNumEq2 a -> Bool+ isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+ deriving newtype Show+ deriving IsZero via (WrappedNumEq Int)++newtype VOID = VOID Void deriving IsZero via (WrappedShow Void)++----+-- 4+----+class Bifunctor p => Biapplicative p where+ bipure :: a -> b -> p a b++ biliftA2+ :: (a -> b -> c)+ -> (a' -> b' -> c')+ -> p a a'+ -> p b b'+ -> p c c'++instance Biapplicative (,) where+ bipure = (,)++ biliftA2 f f' (a, a') (b, b') =+ (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+ deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b) where+ (+) = biliftA2 (+) (+)+ (-) = biliftA2 (*) (*)+ (*) = biliftA2 (*) (*)+ negate = bimap negate negate+ abs = bimap abs abs+ signum = bimap signum signum+ fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+ deriving IsZero via (WrappedNumEq2 (WrapBiapp (,) Int Int))++----+-- 5+----+class Monoid a => MonoidNull a where+ null :: a -> Bool++newtype WrpMonNull a = WRM a deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+ null :: WrpMonNull a -> Bool+ null = (== mempty)++deriving via (WrpMonNull Any) instance MonoidNull Any+deriving via () instance MonoidNull ()+deriving via Ordering instance MonoidNull Ordering++----+-- 6+----+-- https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635++class Lattice a where+ sup :: a -> a -> a+ (.>=) :: a -> a -> Bool+ (.>) :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+ deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+ sup = max+ (.>=) = (>=)+ (.>) = (>)++deriving via [a] instance Ord a => Lattice [a]+deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)+--mkLattice_(Bool)+deriving via Bool instance Lattice Bool+--mkLattice_(Char)+deriving via Char instance Lattice Char+--mkLattice_(Int)+deriving via Int instance Lattice Int+--mkLattice_(Integer)+deriving via Integer instance Lattice Integer+--mkLattice_(Float)+deriving via Float instance Lattice Float+--mkLattice_(Double)+deriving via Double instance Lattice Double+--mkLattice_(Rational)+deriving via Rational instance Lattice Rational++----+-- 7+----+-- https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html++class Functor f => Additive f where+ zero :: Num a => f a+ (^+^) :: Num a => f a -> f a -> f a+ (^+^) = liftU2 (+)+ (^-^) :: Num a => f a -> f a -> f a+ x ^-^ y = x ^+^ fmap negate y+ liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+ zero = []+ liftU2 f = go where+ go (x:xs) (y:ys) = f x y : go xs ys+ go [] ys = ys+ go xs [] = xs++instance Additive Maybe where+ zero = Nothing+ liftU2 f (Just a) (Just b) = Just (f a b)+ liftU2 _ Nothing ys = ys+ liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+ zero = pure 0+ liftU2 = liftA2++deriving via (WrapApplicative ((->) a)) instance Additive ((->) a)+deriving via (WrapApplicative Complex) instance Additive Complex+deriving via (WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+ zero = ZipList []+ liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+ type Diff p :: Type -> Type++ (.-.) :: Num a => p a -> p a -> Diff p a+ (.+^) :: Num a => p a -> Diff p a -> p a+ (.-^) :: Num a => p a -> Diff p a -> p a+ p .-^ v = p .+^ fmap negate v++-- #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \+-- (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \+-- (.-^) = (^-^) ; {-# INLINE (.-^) #-}+-- #define ADDITIVE(T) ADDITIVEC((), T)+newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+ type Diff (WrapAdditive f) = f++ WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+ WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+ WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++-- ADDITIVE(((->) a))+deriving via (WrapAdditive ((->) a)) instance Affine ((->) a)+-- ADDITIVE([])+deriving via (WrapAdditive []) instance Affine []+-- ADDITIVE(Complex)+deriving via (WrapAdditive Complex) instance Affine Complex+-- ADDITIVE(Maybe)+deriving via (WrapAdditive Maybe) instance Affine Maybe+-- ADDITIVE(ZipList)+deriving via (WrapAdditive ZipList) instance Affine ZipList+-- ADDITIVE(Identity)+deriving via (WrapAdditive Identity) instance Affine Identity++----+-- 8+----++class C2 a b c where+ c2 :: a -> b -> c++instance C2 a b (Const a b) where+ c2 x _ = Const x++newtype Fweemp a = Fweemp a+ deriving (C2 a b)+ via (Const a (b :: Type))
+ tests/examples/DerivingVia.hs.exactprinter.golden view
@@ -0,0 +1,460 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where++import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))++import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx. f xx -> g xx++-----+-- Simple example+-----++data Foo a = MkFoo a a+ deriving+ via( Identity (Foo a))Show++-----+-- Eta reduction at work+-----++newtype Flip p a b = Flip { runFlip :: p b a }++instance Bifunctor p => Bifunctor (Flip p) where+ bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+ fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+ deriving+ via( Flip Either Int)Functor++-----+-- Monad transformers+-----++type MTrans = (Type -> Type) -> (Type -> Type)++-- From `constraints'+data Dict c where+ Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\+(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++-- With `-XQuantifiedConstraints' this just becomes+--+-- type Lifting cls trans = forall mm. cls mm => cls (trans mm)+--+-- type LiftingMonad trans = Lifting Monad trans+--+class LiftingMonad (trans :: MTrans) where+ proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+ proof :: Monad m :- Monad (StateT s m)+ proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+ proof :: Monad m :- Monad (WriterT w m)+ proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') => LiftingMonad (ComposeT trans trans' :: MTrans) where+ proof :: forall m. Monad m :- Monad (ComposeT trans trans' m)+ proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+ Stack :: ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+ deriving newtype+ ( Functor+ , Applicative+ , Monad+ , MonadReader Int+ , MonadState Bool+ , MonadWriter String+ )+ deriving+ via( ReaderT Int `ComposeT` StateT Bool `ComposeT` WriterT String)(MonadTrans,MFunctor)++class MFunctor (trans :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+ hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+ hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+ hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`+newtype ComposeT :: MTrans -> MTrans -> MTrans where+ ComposeT :: { getComposeT :: f (g m) a } -> ComposeT f g m a+ deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) => MonadTrans (ComposeT f g) where+ lift :: forall m. Monad m => m ~> ComposeT f g m+ lift = ComposeT . lift . lift+ \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) => MFunctor (ComposeT f g) where+ hoist :: forall m m'. Monad m => (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+ hoist f = ComposeT . hoist (hoist f) . getComposeT+ \\ proof @g @m++-----+-- Using tuples in a `via` type+-----++newtype X a = X (a, a)+ deriving+ via (Product a, Sum a)(Semigroup,Monoid)++ deriving+ via (a, a)(Show,Eq)++-----+-- Abstract data types+-----++class C f where+ c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+ c = const 0++deriving via( X2 IO) instance C IO++----+-- Testing parser+----++newtype P0 a = P0 a deriving viaaShow+newtype P1 a = P1 [a] deriving via[ a]Show+newtype P2 a = P2 (a, a) deriving via (a, a)Show+newtype P3 a = P3 (Maybe a) deriving via( First a)Show+newtype P4 a = P4 (Maybe a) deriving via( First $ a)Show+newtype P5 a = P5 a deriving via( Identity $ a)Show+newtype P6 a = P6 [a] deriving via( [] $ a)Show+newtype P7 a = P7 (a, a) deriving via( Identity $ (a, a))Show+newtype P8 a = P8 (Either () a) deriving via( ($) (Either ()))Functor++newtype f $ a = APP (f a) deriving newtype Show deriving newtype Functor++----+-- From Baldur's notes+----++----+-- 1+----+newtype WrapApplicative f a = WrappedApplicative (f a)+ deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+ (+) = liftA2 (+)+ (*) = liftA2 (*)+ negate = fmap negate+ fromInteger = pure . fromInteger+ abs = fmap abs+ signum = fmap signum++instance (Applicative f, Fractional a) => Fractional (WrapApplicative f a) where+ recip = fmap recip+ fromRational = pure . fromRational++instance (Applicative f, Floating a) => Floating (WrapApplicative f a) where+ pi = pure pi+ sqrt = fmap sqrt+ exp = fmap exp+ log = fmap log+ sin = fmap sin+ cos = fmap cos+ asin = fmap asin+ atan = fmap atan+ acos = fmap acos+ sinh = fmap sinh+ cosh = fmap cosh+ asinh = fmap asinh+ atanh = fmap atanh+ acosh = fmap acosh++instance (Applicative f, Semigroup s) => Semigroup (WrapApplicative f s) where+ (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m) where+ mempty = pure mempty++----+-- 2+----+class Pointed p where+ pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+ deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+ fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+ pure = pointed+ (<*>) = ap++-- data+data Sorted a = Sorted a a a+ deriving+ via( WrapMonad Sorted)(Functor,Applicative)+ deriving+ via( WrapApplicative Sorted a)(Num,Fractional,Floating,Semigroup,Monoid)+++instance Monad Sorted where+ (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+ Sorted a b c >>= f = Sorted a' b' c' where+ Sorted a' _ _ = f a+ Sorted _ b' _ = f b+ Sorted _ _ c' = f c++instance Pointed Sorted where+ pointed :: a -> Sorted a+ pointed a = Sorted a a a++----+-- 3+----+class IsZero a where+ isZero :: a -> Bool++newtype WrappedNumEq a = WrappedNumEq a+newtype WrappedShow a = WrappedShow a+newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+ isZero :: WrappedNumEq a -> Bool+ isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+ isZero :: WrappedShow a -> Bool+ isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+ isZero :: WrappedNumEq2 a -> Bool+ isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+ deriving newtype Show+ deriving via( WrappedNumEq Int)IsZero++newtype VOID = VOID Void deriving via( WrappedShow Void)IsZero++----+-- 4+----+class Bifunctor p => Biapplicative p where+ bipure :: a -> b -> p a b++ biliftA2+ :: (a -> b -> c)+ -> (a' -> b' -> c')+ -> p a a'+ -> p b b'+ -> p c c'++instance Biapplicative (,) where+ bipure = (,)++ biliftA2 f f' (a, a') (b, b') =+ (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+ deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b) where+ (+) = biliftA2 (+) (+)+ (-) = biliftA2 (*) (*)+ (*) = biliftA2 (*) (*)+ negate = bimap negate negate+ abs = bimap abs abs+ signum = bimap signum signum+ fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+ deriving via( WrappedNumEq2 (WrapBiapp (,) Int Int))IsZero++----+-- 5+----+class Monoid a => MonoidNull a where+ null :: a -> Bool++newtype WrpMonNull a = WRM a deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+ null :: WrpMonNull a -> Bool+ null = (== mempty)++deriving via( WrpMonNull Any) instance MonoidNull Any+deriving via () instance MonoidNull ()+deriving viaOrdering instance MonoidNull Ordering++----+-- 6+----+-- https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635++class Lattice a where+ sup :: a -> a -> a+ (.>=) :: a -> a -> Bool+ (.>) :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+ deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+ sup = max+ (.>=) = (>=)+ (.>) = (>)++deriving via[ a] instance Ord a => Lattice [a]+deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)+--mkLattice_(Bool)+deriving viaBool instance Lattice Bool+--mkLattice_(Char)+deriving viaChar instance Lattice Char+--mkLattice_(Int)+deriving viaInt instance Lattice Int+--mkLattice_(Integer)+deriving viaInteger instance Lattice Integer+--mkLattice_(Float)+deriving viaFloat instance Lattice Float+--mkLattice_(Double)+deriving viaDouble instance Lattice Double+--mkLattice_(Rational)+deriving viaRational instance Lattice Rational++----+-- 7+----+-- https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html++class Functor f => Additive f where+ zero :: Num a => f a+ (^+^) :: Num a => f a -> f a -> f a+ (^+^) = liftU2 (+)+ (^-^) :: Num a => f a -> f a -> f a+ x ^-^ y = x ^+^ fmap negate y+ liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+ zero = []+ liftU2 f = go where+ go (x:xs) (y:ys) = f x y : go xs ys+ go [] ys = ys+ go xs [] = xs++instance Additive Maybe where+ zero = Nothing+ liftU2 f (Just a) (Just b) = Just (f a b)+ liftU2 _ Nothing ys = ys+ liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+ zero = pure 0+ liftU2 = liftA2++deriving via( WrapApplicative ((->) a)) instance Additive ((->) a)+deriving via( WrapApplicative Complex) instance Additive Complex+deriving via( WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+ zero = ZipList []+ liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+ type Diff p :: Type -> Type++ (.-.) :: Num a => p a -> p a -> Diff p a+ (.+^) :: Num a => p a -> Diff p a -> p a+ (.-^) :: Num a => p a -> Diff p a -> p a+ p .-^ v = p .+^ fmap negate v++-- #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \+-- (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \+-- (.-^) = (^-^) ; {-# INLINE (.-^) #-}+-- #define ADDITIVE(T) ADDITIVEC((), T)+newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+ type Diff (WrapAdditive f) = f++ WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+ WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+ WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++-- ADDITIVE(((->) a))+deriving via( WrapAdditive ((->) a)) instance Affine ((->) a)+-- ADDITIVE([])+deriving via( WrapAdditive []) instance Affine []+-- ADDITIVE(Complex)+deriving via( WrapAdditive Complex) instance Affine Complex+-- ADDITIVE(Maybe)+deriving via( WrapAdditive Maybe) instance Affine Maybe+-- ADDITIVE(ZipList)+deriving via( WrapAdditive ZipList) instance Affine ZipList+-- ADDITIVE(Identity)+deriving via( WrapAdditive Identity) instance Affine Identity++----+-- 8+----++class C2 a b c where+ c2 :: a -> b -> c++instance C2 a b (Const a b) where+ c2 x _ = Const x++newtype Fweemp a = Fweemp a+ deriving+ via( Const a (b :: Type))(C2ab)+
+ tests/examples/DerivingVia.hs.parser.golden view
@@ -0,0 +1,32882 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 1 460 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 1+ , SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 1+ , SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 1+ , SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 1+ , SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 1+ , SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 1+ , SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 1+ , SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 1+ , SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 1+ , SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 1+ , SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 1+ , SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 1+ , SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 1+ , SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 1+ , SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 1+ , SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 1+ , SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 1+ , SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 1+ , SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 1+ , SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 1+ , SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 1+ , SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 1+ , SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 1+ , SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 1+ , SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 1+ , SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 1+ , SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 1+ , SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 1+ , SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 1+ , SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 1+ , SrcSpan "tests/examples/DerivingVia.hs" 42 1 42 1+ , SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 1+ , SrcSpan "tests/examples/DerivingVia.hs" 52 1 52 1+ , SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 1+ , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 1+ , SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 1+ , SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 1+ , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 1+ , SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 1+ , SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 1+ , SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 1+ , SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 1+ , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 1+ , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 1+ , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 1+ , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 1+ , SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 1+ , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 1+ , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 1+ , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 1+ , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 1+ , SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 1+ , SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 1+ , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 1+ , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 1+ , SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 1+ , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 1+ , SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 1+ , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 1+ , SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 1+ , SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 1+ , SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 1+ , SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 1+ , SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 1+ , SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 1+ , SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 1+ , SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 1+ , SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 1+ , SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 1+ , SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 1+ , SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 1+ , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 1+ , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 1+ , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 1+ , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 1+ , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 1+ , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 1+ , SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 1+ , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 1+ , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 1+ , SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 1+ , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 1+ , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 1+ , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 1+ , SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 1+ , SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 1+ , SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 1+ , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 1+ , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 1+ , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 1+ , SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 1+ , SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 1+ , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 1+ , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 1+ , SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 1+ , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 1+ , SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 1+ , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 1+ , SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 1+ , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 1+ , SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 1+ , SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 1+ , SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 1+ , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 1+ , SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 1+ , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 1+ , SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 1+ , SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 1+ , SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 1+ , SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 1+ , SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 1+ , SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 1+ , SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 1+ , SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 1+ , SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 1+ , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 1+ , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 1+ , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 1+ , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 1+ , SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 1+ , SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 1+ , SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 1+ , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 1+ , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 1+ , SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 1+ , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 1+ , SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 1+ , SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 1+ , SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 1+ , SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 1+ , SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 1+ , SrcSpan "tests/examples/DerivingVia.hs" 451 1 451 1+ , SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 1+ , SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 1+ , SrcSpan "tests/examples/DerivingVia.hs" 460 1 460 1+ , SrcSpan "tests/examples/DerivingVia.hs" 460 1 460 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 7+ , SrcSpan "tests/examples/DerivingVia.hs" 20 20 20 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 20 8 20 19+ , srcInfoPoints = []+ }+ "DerivingVia")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 13+ , SrcSpan "tests/examples/DerivingVia.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "DerivingStrategies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 13+ , SrcSpan "tests/examples/DerivingVia.hs" 2 26 2 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 2 14 2 25+ , srcInfoPoints = []+ }+ "DerivingVia"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 13+ , SrcSpan "tests/examples/DerivingVia.hs" 3 41 3 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 3 14 3 40+ , srcInfoPoints = []+ }+ "GeneralizedNewtypeDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 13+ , SrcSpan "tests/examples/DerivingVia.hs" 4 29 4 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 4 14 4 28+ , srcInfoPoints = []+ }+ "KindSignatures"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 13+ , SrcSpan "tests/examples/DerivingVia.hs" 5 25 5 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 5 14 5 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 13+ , SrcSpan "tests/examples/DerivingVia.hs" 6 33 6 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 6 14 6 32+ , srcInfoPoints = []+ }+ "StandaloneDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 13+ , SrcSpan "tests/examples/DerivingVia.hs" 7 27 7 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 7 14 7 26+ , srcInfoPoints = []+ }+ "InstanceSigs"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 13+ , SrcSpan "tests/examples/DerivingVia.hs" 8 25 8 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 8 14 8 24+ , srcInfoPoints = []+ }+ "TypeInType"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 13+ , SrcSpan "tests/examples/DerivingVia.hs" 9 20 9 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 9 14 9 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 13+ , SrcSpan "tests/examples/DerivingVia.hs" 10 31 10 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 10 14 10 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 13+ , SrcSpan "tests/examples/DerivingVia.hs" 11 30 11 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 11 14 11 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 13+ , SrcSpan "tests/examples/DerivingVia.hs" 12 36 12 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 12 14 12 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 13+ , SrcSpan "tests/examples/DerivingVia.hs" 13 25 13 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 13 14 13 24+ , srcInfoPoints = []+ }+ "MultiWayIf"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 13+ , SrcSpan "tests/examples/DerivingVia.hs" 14 28 14 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 14 14 14 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 13+ , SrcSpan "tests/examples/DerivingVia.hs" 15 34 15 37+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 15 14 15 33+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 13+ , SrcSpan "tests/examples/DerivingVia.hs" 16 32 16 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 16 14 16 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 13+ , SrcSpan "tests/examples/DerivingVia.hs" 17 27 17 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 17 14 17 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 13+ , SrcSpan "tests/examples/DerivingVia.hs" 18 31 18 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 18 14 18 30+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 13+ , SrcSpan "tests/examples/DerivingVia.hs" 19 35 19 38+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 19 14 19 34+ , srcInfoPoints = []+ }+ "UndecidableInstances"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 22 8 22 17+ , srcInfoPoints = []+ }+ "Data.Void"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 23 8 23 20+ , srcInfoPoints = []+ }+ "Data.Complex"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 24 8 24 26+ , srcInfoPoints = []+ }+ "Data.Functor.Const"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 25 8 25 29+ , srcInfoPoints = []+ }+ "Data.Functor.Identity"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 26 8 26 18+ , srcInfoPoints = []+ }+ "Data.Ratio"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 27 8 27 28+ , srcInfoPoints = []+ }+ "Control.Monad.Reader"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 28 8 28 27+ , srcInfoPoints = []+ }+ "Control.Monad.State"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 29 8 29 28+ , srcInfoPoints = []+ }+ "Control.Monad.Writer"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 8 30 27+ , srcInfoPoints = []+ }+ "Control.Applicative"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 28 30 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 30 28 30 34+ , SrcSpan "tests/examples/DerivingVia.hs" 30 35 30 36+ , SrcSpan "tests/examples/DerivingVia.hs" 30 52 30 53+ ]+ }+ True+ [ IThingAll+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 36 30 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 30 48 30 49+ , SrcSpan "tests/examples/DerivingVia.hs" 30 49 30 51+ , SrcSpan "tests/examples/DerivingVia.hs" 30 51 30 52+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 36 30 48+ , srcInfoPoints = []+ }+ "WrappedMonad")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 32 8 32 22+ , srcInfoPoints = []+ }+ "Data.Bifunctor"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 33 8 33 19+ , srcInfoPoints = []+ }+ "Data.Monoid"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 34 8 34 17+ , srcInfoPoints = []+ }+ "Data.Kind"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 5+ , SrcSpan "tests/examples/DerivingVia.hs" 36 13 36 14+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 12+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 12+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ "f"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 8 36 10+ , srcInfoPoints = []+ }+ "~>"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 11 36 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 11 36 12+ , srcInfoPoints = []+ }+ "g")))+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 15 36 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 36 15 36 21+ , SrcSpan "tests/examples/DerivingVia.hs" 36 24 36 25+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 22 36 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 22 36 24+ , srcInfoPoints = []+ }+ "xx")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 36 31 36 33 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 30+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 27+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 28 36 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 28 36 30+ , srcInfoPoints = []+ }+ "xx")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 35+ , srcInfoPoints = []+ }+ "g"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 36 36 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 36 36 38+ , srcInfoPoints = []+ }+ "xx")))))+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 1 43 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 42 12 42 13 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 1 42 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 9+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 19+ , srcInfoPoints = []+ }+ "MkFoo")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 20 42 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 20 42 21+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 22 42 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 22 42 23+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 3 43 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 43 3 43 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 8 44 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 12 44 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 44 12 44 13+ , SrcSpan "tests/examples/DerivingVia.hs" 44 29 44 30+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+ , srcInfoPoints = []+ }+ "Identity")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 22 44 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 44 22 44 23+ , SrcSpan "tests/examples/DerivingVia.hs" 44 28 44 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 27 44 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 27 44 28+ , srcInfoPoints = []+ }+ "a"))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 20 50 21 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 17+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 13+ , srcInfoPoints = []+ }+ "Flip"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 14 50 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 14 50 15+ , srcInfoPoints = []+ }+ "p")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 16 50 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 16 50 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 18 50 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 18 50 19+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 27 50 28+ , SrcSpan "tests/examples/DerivingVia.hs" 50 46 50 47+ ]+ }+ Nothing+ Nothing+ (RecDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 27 50 28+ , SrcSpan "tests/examples/DerivingVia.hs" 50 46 50 47+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 26+ , srcInfoPoints = []+ }+ "Flip")+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 29 50 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 37 50 39 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 29 50 36+ , srcInfoPoints = []+ }+ "runFlip"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 45+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 41+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 42 50 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 50 42 50 43+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 44 50 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 44 50 45+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 1 55 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 1 52 9+ , SrcSpan "tests/examples/DerivingVia.hs" 52 44 52 49+ , SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 3+ , SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21+ , srcInfoPoints = []+ }+ "p"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 43+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 36+ , SrcSpan "tests/examples/DerivingVia.hs" 52 42 52 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+ , srcInfoPoints = []+ }+ "Flip")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42+ , srcInfoPoints = []+ }+ "p"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 8+ , srcInfoPoints = []+ }+ "bimap")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10+ , srcInfoPoints = []+ }+ "f")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12+ , srcInfoPoints = []+ }+ "g")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 41+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+ , srcInfoPoints = []+ }+ "Flip")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 41+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 22 53 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 22 53 27+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 28 53 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 28 53 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 28 53 29+ , srcInfoPoints = []+ }+ "g"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 30 53 31+ , srcInfoPoints = []+ }+ "f"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+ , srcInfoPoints = []+ }+ "runFlip"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 1 58 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 9+ , SrcSpan "tests/examples/DerivingVia.hs" 55 44 55 49+ , SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 3+ , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21+ , srcInfoPoints = []+ }+ "p"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 43+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+ , srcInfoPoints = []+ }+ "Functor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 34+ , SrcSpan "tests/examples/DerivingVia.hs" 55 42 55 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 42+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+ , srcInfoPoints = []+ }+ "Flip")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 7+ , srcInfoPoints = []+ }+ "fmap")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 11 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 36+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+ , srcInfoPoints = []+ }+ "Flip")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 36+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 56 19 56 24+ , srcInfoPoints = []+ }+ "first")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 56 25 56 26+ , srcInfoPoints = []+ }+ "f"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+ , srcInfoPoints = []+ }+ "runFlip"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 59 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 58 15 58 16 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12+ , srcInfoPoints = []+ }+ "Bar"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 22+ , srcInfoPoints = []+ }+ "MkBar")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 24+ , SrcSpan "tests/examples/DerivingVia.hs" 58 36 58 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+ , srcInfoPoints = []+ }+ "Either")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+ , srcInfoPoints = []+ }+ "Int"))))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 8 60 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 13+ , SrcSpan "tests/examples/DerivingVia.hs" 60 28 60 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+ , srcInfoPoints = []+ }+ "Flip")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+ , srcInfoPoints = []+ }+ "Either"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+ , srcInfoPoints = []+ }+ "Int")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ "Functor")))+ ]+ ]+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 5+ , SrcSpan "tests/examples/DerivingVia.hs" 66 13 66 14+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12+ , srcInfoPoints = []+ }+ "MTrans"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 30 66 32 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 16+ , SrcSpan "tests/examples/DerivingVia.hs" 66 28 66 29+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 21 66 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+ , srcInfoPoints = []+ }+ "Type")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+ , srcInfoPoints = []+ }+ "Type")))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 34+ , SrcSpan "tests/examples/DerivingVia.hs" 66 46 66 47+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 39 66 41 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+ , srcInfoPoints = []+ }+ "Type")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+ , srcInfoPoints = []+ }+ "Type"))))))+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 72 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 69 13 69 18+ , SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 3+ , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10+ , srcInfoPoints = []+ }+ "Dict"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12+ , srcInfoPoints = []+ }+ "c")))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 8 70 10 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 7+ , srcInfoPoints = []+ }+ "Dict")+ Nothing+ Nothing+ Nothing+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 22+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 12+ , srcInfoPoints = []+ }+ "c")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+ , srcInfoPoints = []+ }+ "Dict")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22+ , srcInfoPoints = []+ }+ "c"))))+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 16 72 17 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10+ , srcInfoPoints = []+ }+ "a"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 11 72 13+ , srcInfoPoints = []+ }+ ":-"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 21+ , srcInfoPoints = []+ }+ "Sub")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 23+ , SrcSpan "tests/examples/DerivingVia.hs" 72 34 72 35+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 34+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 24+ , srcInfoPoints = []+ }+ "a")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+ , srcInfoPoints = []+ }+ "Dict")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34+ , srcInfoPoints = []+ }+ "b"))))+ ])+ ]+ []+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 74 8 74 9 ]+ }+ (AssocLeft+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 7+ , srcInfoPoints = []+ })+ (Just 1)+ [ VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12+ , srcInfoPoints = []+ }+ "\\\\")+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 6 75 8 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 2+ , SrcSpan "tests/examples/DerivingVia.hs" 75 2 75 4+ , SrcSpan "tests/examples/DerivingVia.hs" 75 4 75 5+ ]+ }+ "\\\\"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 10+ , srcInfoPoints = []+ }+ "a")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 23 75 25 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 15+ , SrcSpan "tests/examples/DerivingVia.hs" 75 21 75 22+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 21+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 16+ , srcInfoPoints = []+ }+ "b")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21+ , srcInfoPoints = []+ }+ "r"))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 35 75 37 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 27+ , SrcSpan "tests/examples/DerivingVia.hs" 75 33 75 34+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 33+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28+ , srcInfoPoints = []+ }+ "a"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+ , srcInfoPoints = []+ }+ ":-")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33+ , srcInfoPoints = []+ }+ "b"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39+ , srcInfoPoints = []+ }+ "r")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2+ , srcInfoPoints = []+ }+ "r"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 3 76 5+ , srcInfoPoints = []+ }+ "\\\\")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9+ , srcInfoPoints = []+ }+ "Sub"))+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+ , srcInfoPoints = []+ }+ "Dict"))+ []+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 16 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+ , srcInfoPoints = []+ }+ "r"))))+ Nothing+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 1 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 6+ , SrcSpan "tests/examples/DerivingVia.hs" 84 38 84 43+ , SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 3+ , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 37+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19+ , srcInfoPoints = []+ }+ "LiftingMonad"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 21+ , SrcSpan "tests/examples/DerivingVia.hs" 84 27 84 29+ , SrcSpan "tests/examples/DerivingVia.hs" 84 36 84 37+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 21 84 26+ , srcInfoPoints = []+ }+ "trans")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+ , srcInfoPoints = []+ }+ "MTrans")))))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 38+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 30+ , SrcSpan "tests/examples/DerivingVia.hs" 85 37 85 38+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 37+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35+ , srcInfoPoints = []+ }+ "trans"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37+ , srcInfoPoints = []+ }+ "m")))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 1 91 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 9+ , SrcSpan "tests/examples/DerivingVia.hs" 87 44 87 49+ , SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 3+ , SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 3+ , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 24+ , SrcSpan "tests/examples/DerivingVia.hs" 87 33 87 35+ , SrcSpan "tests/examples/DerivingVia.hs" 87 42 87 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32+ , srcInfoPoints = []+ }+ "s")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 30+ , SrcSpan "tests/examples/DerivingVia.hs" 88 40 88 41+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 40+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 88 30 88 36+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38+ , srcInfoPoints = []+ }+ "s")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40+ , srcInfoPoints = []+ }+ "m")))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8+ , srcInfoPoints = []+ }+ "proof"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+ , srcInfoPoints = []+ }+ "Sub")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+ , srcInfoPoints = []+ }+ "Dict")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 1 95 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 9+ , SrcSpan "tests/examples/DerivingVia.hs" 91 57 91 62+ , SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 3+ , SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 3+ , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 56+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ "w"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 56+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 36+ , SrcSpan "tests/examples/DerivingVia.hs" 91 46 91 48+ , SrcSpan "tests/examples/DerivingVia.hs" 91 55 91 56+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 45+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45+ , srcInfoPoints = []+ }+ "w")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 42+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 30+ , SrcSpan "tests/examples/DerivingVia.hs" 92 41 92 42+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 92 30 92 37+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39+ , srcInfoPoints = []+ }+ "w")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41+ , srcInfoPoints = []+ }+ "m")))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8+ , srcInfoPoints = []+ }+ "proof"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+ , srcInfoPoints = []+ }+ "Sub")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+ , srcInfoPoints = []+ }+ "Dict")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 1 99 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 9+ , SrcSpan "tests/examples/DerivingVia.hs" 95 102 95 107+ , SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 3+ , SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 3+ , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 101+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 11+ , SrcSpan "tests/examples/DerivingVia.hs" 95 29 95 30+ , SrcSpan "tests/examples/DerivingVia.hs" 95 50 95 51+ , SrcSpan "tests/examples/DerivingVia.hs" 95 52 95 54+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29+ , srcInfoPoints = []+ }+ "trans")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50+ , srcInfoPoints = []+ }+ "trans'")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 101+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 101+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 69+ , SrcSpan "tests/examples/DerivingVia.hs" 95 91 95 93+ , SrcSpan "tests/examples/DerivingVia.hs" 95 100 95 101+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 90+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 83+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83+ , srcInfoPoints = []+ }+ "trans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90+ , srcInfoPoints = []+ }+ "trans'")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 18+ , SrcSpan "tests/examples/DerivingVia.hs" 96 20 96 21+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20+ , srcInfoPoints = []+ }+ "m")+ ])+ Nothing+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 64+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 40+ , SrcSpan "tests/examples/DerivingVia.hs" 96 63 96 64+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 63+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 61+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 40 96 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 40 96 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 96+ 40+ 96+ 48+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 49 96 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 49 96 54+ , srcInfoPoints = []+ }+ "trans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 55 96 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 55 96 61+ , srcInfoPoints = []+ }+ "trans'")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63+ , srcInfoPoints = []+ }+ "m"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8+ , srcInfoPoints = []+ }+ "proof"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 69+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+ , srcInfoPoints = []+ }+ "Sub")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 16+ , SrcSpan "tests/examples/DerivingVia.hs" 97 68 97 69+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 68+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 48+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 16 97 20+ , srcInfoPoints = []+ }+ "Dict")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 21 97 23+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 24 97 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 24 97 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 24+ 97+ 29+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 30 97 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 97 30 97 31+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 31 97 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 31+ 97+ 36+ , srcInfoPoints = []+ }+ "trans"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 38+ ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 38 97 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 97 38 97 39+ , SrcSpan+ "tests/examples/DerivingVia.hs" 97 47 97 48+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 39 97 47+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 39+ 97+ 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 39+ 97+ 45+ , srcInfoPoints = []+ }+ "trans'"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 46+ 97+ 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 46+ 97+ 47+ , srcInfoPoints = []+ }+ "m")))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 65+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 52 97 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 52 97 57+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 59+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 59 97 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 59 97 65+ , srcInfoPoints = []+ }+ "trans'"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 67 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 67 97 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 67 97 68+ , srcInfoPoints = []+ }+ "m"))))))))+ Nothing)+ ])+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 109 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 99 15 99 17+ , SrcSpan "tests/examples/DerivingVia.hs" 99 25 99 30+ , SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 3+ , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3+ , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3+ ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14+ , srcInfoPoints = []+ }+ "Stack"))+ (Just+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+ , srcInfoPoints = []+ }+ "MTrans"))))+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 9 100 11 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 8+ , srcInfoPoints = []+ }+ "Stack")+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 59 100 61 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 58+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 56+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+ , srcInfoPoints = []+ }+ "Int"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 25+ , SrcSpan "tests/examples/DerivingVia.hs" 100 55 100 56+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+ , srcInfoPoints = []+ }+ "StateT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 38+ , SrcSpan "tests/examples/DerivingVia.hs" 100 54 100 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 54+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 52+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 38 100 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 38 100 45+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 46 100 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 46 100 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 46 100 52+ , srcInfoPoints = []+ }+ "String"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54+ , srcInfoPoints = []+ }+ "m")))))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 71+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 69+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+ , srcInfoPoints = []+ }+ "Stack")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69+ , srcInfoPoints = []+ }+ "m")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71+ , srcInfoPoints = []+ }+ "a"))))+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 101 3 108 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 11+ , SrcSpan "tests/examples/DerivingVia.hs" 102 5 102 6+ , SrcSpan "tests/examples/DerivingVia.hs" 103 5 103 6+ , SrcSpan "tests/examples/DerivingVia.hs" 104 5 104 6+ , SrcSpan "tests/examples/DerivingVia.hs" 105 5 105 6+ , SrcSpan "tests/examples/DerivingVia.hs" 106 5 106 6+ , SrcSpan "tests/examples/DerivingVia.hs" 107 5 107 6+ , SrcSpan "tests/examples/DerivingVia.hs" 108 5 108 6+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 101 12 101 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ "Applicative")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ "Monad")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+ , srcInfoPoints = []+ }+ "MonadReader")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+ , srcInfoPoints = []+ }+ "Int"))))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+ , srcInfoPoints = []+ }+ "MonadState")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+ , srcInfoPoints = []+ }+ "Bool"))))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+ , srcInfoPoints = []+ }+ "MonadWriter")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+ , srcInfoPoints = []+ }+ "String"))))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 11+ , SrcSpan "tests/examples/DerivingVia.hs" 109 12 109 13+ , SrcSpan "tests/examples/DerivingVia.hs" 109 23 109 24+ , SrcSpan "tests/examples/DerivingVia.hs" 109 33 109 34+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 8 110 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 13+ , SrcSpan "tests/examples/DerivingVia.hs" 110 73 110 74+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 73+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+ , srcInfoPoints = []+ }+ "Int"))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26+ , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+ , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26+ , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+ , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 73+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 47+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+ , srcInfoPoints = []+ }+ "StateT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+ , srcInfoPoints = []+ }+ "Bool"))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49+ , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+ , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49+ , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+ , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 73+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+ , srcInfoPoints = []+ }+ "String")))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ "MonadTrans")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ "MFunctor")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 1 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 6+ , SrcSpan "tests/examples/DerivingVia.hs" 112 34 112 39+ , SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 3+ , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 33+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15+ , srcInfoPoints = []+ }+ "MFunctor"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 17+ , SrcSpan "tests/examples/DerivingVia.hs" 112 23 112 25+ , SrcSpan "tests/examples/DerivingVia.hs" 112 32 112 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 17 112 22+ , srcInfoPoints = []+ }+ "trans")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+ , srcInfoPoints = []+ }+ "MTrans")))))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 57+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 113 12 113 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 33 113 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 24+ , SrcSpan "tests/examples/DerivingVia.hs" 113 31 113 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 37+ , SrcSpan "tests/examples/DerivingVia.hs" 113 56 113 57+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 56+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 44+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42+ , srcInfoPoints = []+ }+ "trans"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 56+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53+ , srcInfoPoints = []+ }+ "trans"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56+ , srcInfoPoints = []+ }+ "m'"))))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 115 1 119 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 9+ , SrcSpan "tests/examples/DerivingVia.hs" 115 41 115 46+ , SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 3+ , SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 3+ , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 20+ , SrcSpan "tests/examples/DerivingVia.hs" 115 30 115 32+ , SrcSpan "tests/examples/DerivingVia.hs" 115 39 115 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29+ , srcInfoPoints = []+ }+ "r")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 65+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 12 116 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 33 116 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 24+ , SrcSpan "tests/examples/DerivingVia.hs" 116 31 116 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 37+ , SrcSpan "tests/examples/DerivingVia.hs" 116 64 116 65+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 48+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 37 116 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 37 116 44+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 45 116 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 45 116 46+ , srcInfoPoints = []+ }+ "r")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 52 116 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 52 116 59+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 60 116 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 60 116 61+ , srcInfoPoints = []+ }+ "r")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12+ , srcInfoPoints = []+ }+ "nat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 46+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+ , srcInfoPoints = []+ }+ "ReaderT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 46+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 25 117 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 25 117 29+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 30 117 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 30 117 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 30 117 33+ , srcInfoPoints = []+ }+ "nat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 34 117 35+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 36 117 46+ , srcInfoPoints = []+ }+ "runReaderT"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 119 1 123 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 9+ , SrcSpan "tests/examples/DerivingVia.hs" 119 40 119 45+ , SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 3+ , SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 3+ , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 20+ , SrcSpan "tests/examples/DerivingVia.hs" 119 29 119 31+ , SrcSpan "tests/examples/DerivingVia.hs" 119 38 119 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28+ , srcInfoPoints = []+ }+ "s")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 63+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 12 120 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 33 120 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 24+ , SrcSpan "tests/examples/DerivingVia.hs" 120 31 120 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 37+ , SrcSpan "tests/examples/DerivingVia.hs" 120 62 120 63+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 62+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 47+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 45+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 37 120 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 37 120 43+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 44 120 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 44 120 45+ , srcInfoPoints = []+ }+ "s")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 62+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 59+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 51 120 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 51 120 57+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 58 120 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 58 120 59+ , srcInfoPoints = []+ }+ "s")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12+ , srcInfoPoints = []+ }+ "nat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 44+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+ , srcInfoPoints = []+ }+ "StateT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 44+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 24 121 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 24 121 28+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 29 121 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 29 121 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 29 121 32+ , srcInfoPoints = []+ }+ "nat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 33 121 34+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 35 121 44+ , srcInfoPoints = []+ }+ "runStateT"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 123 1 127 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 9+ , SrcSpan "tests/examples/DerivingVia.hs" 123 41 123 46+ , SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 3+ , SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 3+ , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 20+ , SrcSpan "tests/examples/DerivingVia.hs" 123 30 123 32+ , SrcSpan "tests/examples/DerivingVia.hs" 123 39 123 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29+ , srcInfoPoints = []+ }+ "w")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 65+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 12 124 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 33 124 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 24+ , SrcSpan "tests/examples/DerivingVia.hs" 124 31 124 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 37+ , SrcSpan "tests/examples/DerivingVia.hs" 124 64 124 65+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 48+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 37 124 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 37 124 44+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 45 124 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 45 124 46+ , srcInfoPoints = []+ }+ "w")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 52 124 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 52 124 59+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 60 124 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 60 124 61+ , srcInfoPoints = []+ }+ "w")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12+ , srcInfoPoints = []+ }+ "nat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 41+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+ , srcInfoPoints = []+ }+ "WriterT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 125 25 125 28+ , srcInfoPoints = []+ }+ "nat")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 125 31 125 41+ , srcInfoPoints = []+ }+ "runWriterT"))))))+ Nothing+ ])+ ])+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 127 8 127 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 7+ , srcInfoPoints = []+ })+ (Just 9)+ [ ConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11+ , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19+ , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11+ , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19+ , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20+ ]+ }+ "ComposeT")+ ]+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 1 130 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 128 18 128 20+ , SrcSpan "tests/examples/DerivingVia.hs" 128 48 128 53+ , SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 3+ , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3+ , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3+ ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17+ , srcInfoPoints = []+ }+ "ComposeT"))+ (Just+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 128 28 128 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+ , srcInfoPoints = []+ }+ "MTrans")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 128 38 128 40 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+ , srcInfoPoints = []+ }+ "MTrans")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+ , srcInfoPoints = []+ }+ "MTrans"))))))+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 129 12 129 14+ , SrcSpan "tests/examples/DerivingVia.hs" 129 15 129 16+ , SrcSpan "tests/examples/DerivingVia.hs" 129 42 129 43+ , SrcSpan "tests/examples/DerivingVia.hs" 129 44 129 46+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 11+ , srcInfoPoints = []+ }+ "ComposeT")+ Nothing+ Nothing+ (Just+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 129 29 129 31 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 28+ , srcInfoPoints = []+ }+ "getComposeT"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 39+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33+ , srcInfoPoints = []+ }+ "f"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 35+ , SrcSpan "tests/examples/DerivingVia.hs" 129 38 129 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36+ , srcInfoPoints = []+ }+ "g"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38+ , srcInfoPoints = []+ }+ "m")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41+ , srcInfoPoints = []+ }+ "a")))+ ])+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 63+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 61+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 59+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 57+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61+ , srcInfoPoints = []+ }+ "m")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63+ , srcInfoPoints = []+ }+ "a")))+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 11+ , SrcSpan "tests/examples/DerivingVia.hs" 130 20 130 21+ , SrcSpan "tests/examples/DerivingVia.hs" 130 28 130 29+ , SrcSpan "tests/examples/DerivingVia.hs" 130 41 130 42+ , SrcSpan "tests/examples/DerivingVia.hs" 130 48 130 49+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 12 130 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ "Applicative")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ "Monad")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 132 1 137 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 9+ , SrcSpan "tests/examples/DerivingVia.hs" 132 84 132 89+ , SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 3+ , SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 3+ , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 83+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 11+ , SrcSpan "tests/examples/DerivingVia.hs" 132 23 132 24+ , SrcSpan "tests/examples/DerivingVia.hs" 132 37 132 38+ , SrcSpan "tests/examples/DerivingVia.hs" 132 53 132 54+ , SrcSpan "tests/examples/DerivingVia.hs" 132 55 132 57+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21+ , srcInfoPoints = []+ }+ "MonadTrans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35+ , srcInfoPoints = []+ }+ "MonadTrans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37+ , srcInfoPoints = []+ }+ "g")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53+ , srcInfoPoints = []+ }+ "g")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 83+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+ , srcInfoPoints = []+ }+ "MonadTrans")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 83+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 70+ , SrcSpan "tests/examples/DerivingVia.hs" 132 82 132 83+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 82+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 80+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82+ , srcInfoPoints = []+ }+ "g"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 7+ , srcInfoPoints = []+ }+ "lift"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 17+ , SrcSpan "tests/examples/DerivingVia.hs" 133 19 133 20+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19+ , srcInfoPoints = []+ }+ "m")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 133 21 133 26+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28+ , srcInfoPoints = []+ }+ "m"))))))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 51+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 51+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 49+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 47+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 133 37 133 45+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51+ , srcInfoPoints = []+ }+ "m"))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7+ , srcInfoPoints = []+ }+ "lift"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 8 135 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 134 8 134 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 135 19+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 32+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+ , srcInfoPoints = []+ }+ "ComposeT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+ , srcInfoPoints = []+ }+ "lift")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+ , srcInfoPoints = []+ }+ "lift")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 19+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 15 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16+ , srcInfoPoints = []+ }+ "g"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19+ , srcInfoPoints = []+ }+ "m"))))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 137 1 146 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 9+ , SrcSpan "tests/examples/DerivingVia.hs" 137 78 137 83+ , SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 3+ , SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 3+ , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 77+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 11+ , SrcSpan "tests/examples/DerivingVia.hs" 137 21 137 22+ , SrcSpan "tests/examples/DerivingVia.hs" 137 33 137 34+ , SrcSpan "tests/examples/DerivingVia.hs" 137 49 137 50+ , SrcSpan "tests/examples/DerivingVia.hs" 137 51 137 53+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33+ , srcInfoPoints = []+ }+ "g")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49+ , srcInfoPoints = []+ }+ "g")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 77+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 64+ , SrcSpan "tests/examples/DerivingVia.hs" 137 76 137 77+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 76+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 74+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76+ , srcInfoPoints = []+ }+ "g"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 18+ , SrcSpan "tests/examples/DerivingVia.hs" 138 23 138 24+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20+ , srcInfoPoints = []+ }+ "m")+ , UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23+ , srcInfoPoints = []+ }+ "m'")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 25 138 30+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 46 138 48 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 37+ , SrcSpan "tests/examples/DerivingVia.hs" 138 44 138 45+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 44+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 50+ , SrcSpan "tests/examples/DerivingVia.hs" 138 83 138 84+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 83+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 62+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 60+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 50 138 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 50 138 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 138+ 50+ 138+ 58+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 59 138 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 59 138 60+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 61 138 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 61 138 62+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 83+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 80+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 68 138 76+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 68 138 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 138+ 68+ 138+ 76+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 77 138 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 77 138 78+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 79 138 80+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 79 138 80+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 11 140 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 139 11 139 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 140 19+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 53+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 13 139 21+ , srcInfoPoints = []+ }+ "ComposeT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 22 139 23+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 53+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 24 139 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 24 139 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 24+ 139+ 29+ , srcInfoPoints = []+ }+ "hoist")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 30 139 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 139 30 139 31+ , SrcSpan+ "tests/examples/DerivingVia.hs" 139 38 139 39+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 31 139 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 31+ 139+ 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 31+ 139+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 31+ 139+ 36+ , srcInfoPoints = []+ }+ "hoist")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 37+ 139+ 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 37+ 139+ 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 37+ 139+ 38+ , srcInfoPoints = []+ }+ "f"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 40 139 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 40 139 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 40 139 41+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 42 139 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 42 139 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 42 139 53+ , srcInfoPoints = []+ }+ "getComposeT")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 19+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 8 140 13+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 15+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 15 140 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 15 140 16+ , srcInfoPoints = []+ }+ "g"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 18 140 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 18 140 19+ , srcInfoPoints = []+ }+ "m"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 1 150 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 146 13 146 14 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10+ , srcInfoPoints = []+ }+ "X"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 16+ , srcInfoPoints = []+ }+ "X")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 18+ , SrcSpan "tests/examples/DerivingVia.hs" 146 19 146 20+ , SrcSpan "tests/examples/DerivingVia.hs" 146 22 146 23+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22+ , srcInfoPoints = []+ }+ "a")+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 11+ , SrcSpan "tests/examples/DerivingVia.hs" 147 12 147 13+ , SrcSpan "tests/examples/DerivingVia.hs" 147 22 147 23+ , SrcSpan "tests/examples/DerivingVia.hs" 147 30 147 31+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 8 148 11+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 13+ , SrcSpan "tests/examples/DerivingVia.hs" 148 22 148 23+ , SrcSpan "tests/examples/DerivingVia.hs" 148 29 148 30+ ]+ }+ Boxed+ [ TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+ , srcInfoPoints = []+ }+ "Product")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22+ , srcInfoPoints = []+ }+ "a"))+ , TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+ , srcInfoPoints = []+ }+ "Sum")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29+ , srcInfoPoints = []+ }+ "a"))+ ])))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ "Semigroup")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ "Monoid")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 11+ , SrcSpan "tests/examples/DerivingVia.hs" 150 12 150 13+ , SrcSpan "tests/examples/DerivingVia.hs" 150 17 150 18+ , SrcSpan "tests/examples/DerivingVia.hs" 150 21 150 22+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 8 151 11+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 13+ , SrcSpan "tests/examples/DerivingVia.hs" 151 14 151 15+ , SrcSpan "tests/examples/DerivingVia.hs" 151 17 151 18+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17+ , srcInfoPoints = []+ }+ "a")+ ])))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ "Show")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ "Eq")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 1 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 6+ , SrcSpan "tests/examples/DerivingVia.hs" 157 11 157 16+ , SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 3+ , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10+ , srcInfoPoints = []+ }+ "f")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 4+ , srcInfoPoints = []+ }+ "c"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 158 12 158 14 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+ , srcInfoPoints = []+ }+ "Int")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 160 16 160 17 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 15+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11+ , srcInfoPoints = []+ }+ "X2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 20+ , srcInfoPoints = []+ }+ "X2")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 22+ , SrcSpan "tests/examples/DerivingVia.hs" 160 25 160 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 25+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 162 1 165 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 9+ , SrcSpan "tests/examples/DerivingVia.hs" 162 19 162 24+ , SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 3+ , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+ , srcInfoPoints = []+ }+ "C")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 13+ , SrcSpan "tests/examples/DerivingVia.hs" 162 17 162 18+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ "X2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17+ , srcInfoPoints = []+ }+ "f"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4+ , srcInfoPoints = []+ }+ "c"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+ , srcInfoPoints = []+ }+ "const")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14+ , srcInfoPoints = []+ }+ 0+ "0"))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 9+ , SrcSpan "tests/examples/DerivingVia.hs" 165 22 165 30+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 10 165 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 15+ , SrcSpan "tests/examples/DerivingVia.hs" 165 20 165 21+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+ , srcInfoPoints = []+ }+ "X2")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+ , srcInfoPoints = []+ }+ "IO")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+ , srcInfoPoints = []+ }+ "C")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+ , srcInfoPoints = []+ }+ "IO")))))+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 171 14 171 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11+ , srcInfoPoints = []+ }+ "P0"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 18+ , srcInfoPoints = []+ }+ "P0")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 47 171 50+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52+ , srcInfoPoints = []+ }+ "a"))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 14 172 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11+ , srcInfoPoints = []+ }+ "P1"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 18+ , srcInfoPoints = []+ }+ "P1")+ [ TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 20+ , SrcSpan "tests/examples/DerivingVia.hs" 172 21 172 22+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21+ , srcInfoPoints = []+ }+ "a"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 47 172 50+ , srcInfoPoints = []+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 52+ , SrcSpan "tests/examples/DerivingVia.hs" 172 53 172 54+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53+ , srcInfoPoints = []+ }+ "a")))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 14 173 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11+ , srcInfoPoints = []+ }+ "P2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 18+ , srcInfoPoints = []+ }+ "P2")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 20+ , SrcSpan "tests/examples/DerivingVia.hs" 173 21 173 22+ , SrcSpan "tests/examples/DerivingVia.hs" 173 24 173 25+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24+ , srcInfoPoints = []+ }+ "a")+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 47 173 50+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 52+ , SrcSpan "tests/examples/DerivingVia.hs" 173 53 173 54+ , SrcSpan "tests/examples/DerivingVia.hs" 173 56 173 57+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56+ , srcInfoPoints = []+ }+ "a")+ ])))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 14 174 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11+ , srcInfoPoints = []+ }+ "P3"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 18+ , srcInfoPoints = []+ }+ "P3")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 20+ , SrcSpan "tests/examples/DerivingVia.hs" 174 27 174 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 47 174 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 52+ , SrcSpan "tests/examples/DerivingVia.hs" 174 59 174 60+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 59+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+ , srcInfoPoints = []+ }+ "First")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 14 175 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11+ , srcInfoPoints = []+ }+ "P4"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 18+ , srcInfoPoints = []+ }+ "P4")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 20+ , SrcSpan "tests/examples/DerivingVia.hs" 175 27 175 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 47 175 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 52+ , SrcSpan "tests/examples/DerivingVia.hs" 175 61 175 62+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+ , srcInfoPoints = []+ }+ "First")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+ , srcInfoPoints = []+ }+ "$")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 176 14 176 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11+ , srcInfoPoints = []+ }+ "P5"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 18+ , srcInfoPoints = []+ }+ "P5")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 47 176 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 52+ , SrcSpan "tests/examples/DerivingVia.hs" 176 64 176 65+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 64+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+ , srcInfoPoints = []+ }+ "Identity")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+ , srcInfoPoints = []+ }+ "$")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 14 177 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11+ , srcInfoPoints = []+ }+ "P6"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 18+ , srcInfoPoints = []+ }+ "P6")+ [ TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 20+ , SrcSpan "tests/examples/DerivingVia.hs" 177 21 177 22+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21+ , srcInfoPoints = []+ }+ "a"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 47 177 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 52+ , SrcSpan "tests/examples/DerivingVia.hs" 177 58 177 59+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+ , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+ , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+ , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+ ]+ })))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+ , srcInfoPoints = []+ }+ "$")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 14 178 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11+ , srcInfoPoints = []+ }+ "P7"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 18+ , srcInfoPoints = []+ }+ "P7")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 20+ , SrcSpan "tests/examples/DerivingVia.hs" 178 21 178 22+ , SrcSpan "tests/examples/DerivingVia.hs" 178 24 178 25+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24+ , srcInfoPoints = []+ }+ "a")+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 47 178 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 70+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 52+ , SrcSpan "tests/examples/DerivingVia.hs" 178 69 178 70+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 69+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+ , srcInfoPoints = []+ }+ "Identity")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+ , srcInfoPoints = []+ }+ "$")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 64+ , SrcSpan "tests/examples/DerivingVia.hs" 178 65 178 66+ , SrcSpan "tests/examples/DerivingVia.hs" 178 68 178 69+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68+ , srcInfoPoints = []+ }+ "a")+ ])))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 14 179 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11+ , srcInfoPoints = []+ }+ "P8"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 18+ , srcInfoPoints = []+ }+ "P8")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 20+ , SrcSpan "tests/examples/DerivingVia.hs" 179 31 179 32+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ "Either")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+ , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+ , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+ , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+ ]+ }))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 50 179 53+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 55+ , SrcSpan "tests/examples/DerivingVia.hs" 179 70 179 71+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 70+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56+ , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+ , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56+ , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+ , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+ , srcInfoPoints = []+ }+ "$")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 70+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 60+ , SrcSpan "tests/examples/DerivingVia.hs" 179 69 179 70+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 69+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+ , srcInfoPoints = []+ }+ "Either")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68+ , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68+ , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 179 67 179 68+ , SrcSpan+ "tests/examples/DerivingVia.hs" 179 68 179 69+ ]+ })))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ "Functor")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 15 181 16 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10+ , srcInfoPoints = []+ }+ "f"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 11 181 12+ , srcInfoPoints = []+ }+ "$"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 20+ , srcInfoPoints = []+ }+ "APP")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 22+ , SrcSpan "tests/examples/DerivingVia.hs" 181 25 181 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 25+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 35 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 36 181 43+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ "Show")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 57 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 58 181 65+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ "Functor")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 1 191 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 190 29 190 30 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 28+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 26+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24+ , srcInfoPoints = []+ }+ "WrapApplicative"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 49+ , srcInfoPoints = []+ }+ "WrappedApplicative")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 51+ , SrcSpan "tests/examples/DerivingVia.hs" 190 54 190 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 54+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 11+ , SrcSpan "tests/examples/DerivingVia.hs" 191 12 191 13+ , SrcSpan "tests/examples/DerivingVia.hs" 191 20 191 21+ , SrcSpan "tests/examples/DerivingVia.hs" 191 33 191 34+ ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ "Applicative")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 193 1 201 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 9+ , SrcSpan "tests/examples/DerivingVia.hs" 193 62 193 67+ , SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 3+ , SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 3+ , SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 3+ , SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 3+ , SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 3+ , SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 3+ , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 61+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 11+ , SrcSpan "tests/examples/DerivingVia.hs" 193 24 193 25+ , SrcSpan "tests/examples/DerivingVia.hs" 193 31 193 32+ , SrcSpan "tests/examples/DerivingVia.hs" 193 33 193 35+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+ , srcInfoPoints = []+ }+ "Num")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 41+ , SrcSpan "tests/examples/DerivingVia.hs" 193 60 193 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 60+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 4+ , SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5+ , SrcSpan "tests/examples/DerivingVia.hs" 194 5 194 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5+ , srcInfoPoints = []+ }+ "+"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25+ , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+ , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25+ , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+ , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+ , srcInfoPoints = []+ }+ "+")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 4+ , SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5+ , SrcSpan "tests/examples/DerivingVia.hs" 195 5 195 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5+ , srcInfoPoints = []+ }+ "*"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25+ , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+ , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25+ , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+ , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+ , srcInfoPoints = []+ }+ "*")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9+ , srcInfoPoints = []+ }+ "negate"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+ , srcInfoPoints = []+ }+ "negate")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14+ , srcInfoPoints = []+ }+ "fromInteger"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 16 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+ , srcInfoPoints = []+ }+ "pure")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+ , srcInfoPoints = []+ }+ "fromInteger")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6+ , srcInfoPoints = []+ }+ "abs"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 25+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+ , srcInfoPoints = []+ }+ "abs")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9+ , srcInfoPoints = []+ }+ "signum"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+ , srcInfoPoints = []+ }+ "signum")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 201 1 205 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 9+ , SrcSpan "tests/examples/DerivingVia.hs" 201 76 201 81+ , SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 3+ , SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 3+ , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 75+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 11+ , SrcSpan "tests/examples/DerivingVia.hs" 201 24 201 25+ , SrcSpan "tests/examples/DerivingVia.hs" 201 38 201 39+ , SrcSpan "tests/examples/DerivingVia.hs" 201 40 201 42+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36+ , srcInfoPoints = []+ }+ "Fractional")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 75+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+ , srcInfoPoints = []+ }+ "Fractional")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 75+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 55+ , SrcSpan "tests/examples/DerivingVia.hs" 201 74 201 75+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 74+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 72+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8+ , srcInfoPoints = []+ }+ "recip"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 17 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+ , srcInfoPoints = []+ }+ "recip")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15+ , srcInfoPoints = []+ }+ "fromRational"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 17 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+ , srcInfoPoints = []+ }+ "pure")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+ , srcInfoPoints = []+ }+ "fromRational")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 205 1 221 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 9+ , SrcSpan "tests/examples/DerivingVia.hs" 205 72 205 77+ , SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 3+ , SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 3+ , SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 3+ , SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 3+ , SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 3+ , SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 3+ , SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 3+ , SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 3+ , SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 3+ , SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 3+ , SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 3+ , SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 3+ , SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 3+ , SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 3+ , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 71+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 11+ , SrcSpan "tests/examples/DerivingVia.hs" 205 24 205 25+ , SrcSpan "tests/examples/DerivingVia.hs" 205 36 205 37+ , SrcSpan "tests/examples/DerivingVia.hs" 205 38 205 40+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34+ , srcInfoPoints = []+ }+ "Floating")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 71+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+ , srcInfoPoints = []+ }+ "Floating")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 51+ , SrcSpan "tests/examples/DerivingVia.hs" 205 70 205 71+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 70+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5+ , srcInfoPoints = []+ }+ "pi"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+ , srcInfoPoints = []+ }+ "pure")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+ , srcInfoPoints = []+ }+ "pi")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7+ , srcInfoPoints = []+ }+ "sqrt"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+ , srcInfoPoints = []+ }+ "sqrt")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6+ , srcInfoPoints = []+ }+ "exp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+ , srcInfoPoints = []+ }+ "exp")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6+ , srcInfoPoints = []+ }+ "log"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+ , srcInfoPoints = []+ }+ "log")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6+ , srcInfoPoints = []+ }+ "sin"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+ , srcInfoPoints = []+ }+ "sin")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6+ , srcInfoPoints = []+ }+ "cos"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+ , srcInfoPoints = []+ }+ "cos")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7+ , srcInfoPoints = []+ }+ "asin"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+ , srcInfoPoints = []+ }+ "asin")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7+ , srcInfoPoints = []+ }+ "atan"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+ , srcInfoPoints = []+ }+ "atan")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7+ , srcInfoPoints = []+ }+ "acos"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+ , srcInfoPoints = []+ }+ "acos")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7+ , srcInfoPoints = []+ }+ "sinh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+ , srcInfoPoints = []+ }+ "sinh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7+ , srcInfoPoints = []+ }+ "cosh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+ , srcInfoPoints = []+ }+ "cosh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8+ , srcInfoPoints = []+ }+ "asinh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+ , srcInfoPoints = []+ }+ "asinh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8+ , srcInfoPoints = []+ }+ "atanh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+ , srcInfoPoints = []+ }+ "atanh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8+ , srcInfoPoints = []+ }+ "acosh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+ , srcInfoPoints = []+ }+ "acosh")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 221 1 224 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 9+ , SrcSpan "tests/examples/DerivingVia.hs" 221 74 221 79+ , SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 3+ , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 73+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 11+ , SrcSpan "tests/examples/DerivingVia.hs" 221 24 221 25+ , SrcSpan "tests/examples/DerivingVia.hs" 221 37 221 38+ , SrcSpan "tests/examples/DerivingVia.hs" 221 39 221 41+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37+ , srcInfoPoints = []+ }+ "s")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 73+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 53+ , SrcSpan "tests/examples/DerivingVia.hs" 221 72 221 73+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 72+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 70+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72+ , srcInfoPoints = []+ }+ "s"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 4+ , SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6+ , SrcSpan "tests/examples/DerivingVia.hs" 222 6 222 7+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6+ , srcInfoPoints = []+ }+ "<>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18+ , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+ , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18+ , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+ , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+ , srcInfoPoints = []+ }+ "<>")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 224 1 230 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 9+ , SrcSpan "tests/examples/DerivingVia.hs" 224 68 224 73+ , SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 3+ , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 67+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 11+ , SrcSpan "tests/examples/DerivingVia.hs" 224 24 224 25+ , SrcSpan "tests/examples/DerivingVia.hs" 224 34 224 35+ , SrcSpan "tests/examples/DerivingVia.hs" 224 36 224 38+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34+ , srcInfoPoints = []+ }+ "m")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 67+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 47+ , SrcSpan "tests/examples/DerivingVia.hs" 224 66 224 67+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 66+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 64+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66+ , srcInfoPoints = []+ }+ "m"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9+ , srcInfoPoints = []+ }+ "mempty"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+ , srcInfoPoints = []+ }+ "pure")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+ , srcInfoPoints = []+ }+ "mempty")))))+ Nothing)+ ])+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 1 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 6+ , SrcSpan "tests/examples/DerivingVia.hs" 230 17 230 22+ , SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 3+ , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14+ , srcInfoPoints = []+ }+ "Pointed"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16+ , srcInfoPoints = []+ }+ "p")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 10+ , srcInfoPoints = []+ }+ "pointed"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 231 16 231 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 22+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22+ , srcInfoPoints = []+ }+ "a")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 1 234 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 233 23 233 24 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 22+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18+ , srcInfoPoints = []+ }+ "WrapMonad"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 37+ , srcInfoPoints = []+ }+ "WrappedMonad")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 39+ , SrcSpan "tests/examples/DerivingVia.hs" 233 42 233 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 42+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 11+ , SrcSpan "tests/examples/DerivingVia.hs" 234 20 234 21+ , SrcSpan "tests/examples/DerivingVia.hs" 234 28 234 29+ , SrcSpan "tests/examples/DerivingVia.hs" 234 35 234 36+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 12 234 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ "Pointed")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ "Monad")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 236 1 239 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 9+ , SrcSpan "tests/examples/DerivingVia.hs" 236 56 236 61+ , SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 3+ , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 55+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 11+ , SrcSpan "tests/examples/DerivingVia.hs" 236 18 236 19+ , SrcSpan "tests/examples/DerivingVia.hs" 236 29 236 30+ , SrcSpan "tests/examples/DerivingVia.hs" 236 31 236 33+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18+ , srcInfoPoints = []+ }+ "m")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27+ , srcInfoPoints = []+ }+ "Pointed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29+ , srcInfoPoints = []+ }+ "m")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 55+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+ , srcInfoPoints = []+ }+ "Functor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 43+ , SrcSpan "tests/examples/DerivingVia.hs" 236 54 236 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+ , srcInfoPoints = []+ }+ "WrapMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54+ , srcInfoPoints = []+ }+ "m"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7+ , srcInfoPoints = []+ }+ "fmap"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+ , srcInfoPoints = []+ }+ "liftM"))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 239 1 244 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 9+ , SrcSpan "tests/examples/DerivingVia.hs" 239 60 239 65+ , SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 3+ , SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 3+ , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 59+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 11+ , SrcSpan "tests/examples/DerivingVia.hs" 239 18 239 19+ , SrcSpan "tests/examples/DerivingVia.hs" 239 29 239 30+ , SrcSpan "tests/examples/DerivingVia.hs" 239 31 239 33+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18+ , srcInfoPoints = []+ }+ "m")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27+ , srcInfoPoints = []+ }+ "Pointed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29+ , srcInfoPoints = []+ }+ "m")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 47+ , SrcSpan "tests/examples/DerivingVia.hs" 239 58 239 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+ , srcInfoPoints = []+ }+ "WrapMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58+ , srcInfoPoints = []+ }+ "m"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7+ , srcInfoPoints = []+ }+ "pure"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+ , srcInfoPoints = []+ }+ "pointed"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 4+ , SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7+ , SrcSpan "tests/examples/DerivingVia.hs" 241 7 241 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7+ , srcInfoPoints = []+ }+ "<*>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+ , srcInfoPoints = []+ }+ "ap"))))+ Nothing)+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 1 247 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 244 15 244 16 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12+ , srcInfoPoints = []+ }+ "Sorted"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 23+ , srcInfoPoints = []+ }+ "Sorted")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 11+ , SrcSpan "tests/examples/DerivingVia.hs" 245 12 245 13+ , SrcSpan "tests/examples/DerivingVia.hs" 245 20 245 21+ , SrcSpan "tests/examples/DerivingVia.hs" 245 33 245 34+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 246 5 246 8+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 10+ , SrcSpan "tests/examples/DerivingVia.hs" 246 26 246 27+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+ , srcInfoPoints = []+ }+ "WrapMonad")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+ , srcInfoPoints = []+ }+ "Sorted")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ "Applicative")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 11+ , SrcSpan "tests/examples/DerivingVia.hs" 247 12 247 13+ , SrcSpan "tests/examples/DerivingVia.hs" 247 16 247 17+ , SrcSpan "tests/examples/DerivingVia.hs" 247 28 247 29+ , SrcSpan "tests/examples/DerivingVia.hs" 247 38 247 39+ , SrcSpan "tests/examples/DerivingVia.hs" 247 49 247 50+ , SrcSpan "tests/examples/DerivingVia.hs" 247 57 247 58+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 248 5 248 8+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 10+ , SrcSpan "tests/examples/DerivingVia.hs" 248 34 248 35+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 34+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+ , srcInfoPoints = []+ }+ "Sorted"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ "Num")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ "Fractional")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ "Floating")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ "Semigroup")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ "Monoid")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 251 1 258 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 9+ , SrcSpan "tests/examples/DerivingVia.hs" 251 23 251 28+ , SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 3+ , SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 3+ , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+ , srcInfoPoints = []+ }+ "Monad")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+ , srcInfoPoints = []+ }+ "Sorted")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 4+ , SrcSpan "tests/examples/DerivingVia.hs" 252 4 252 7+ , SrcSpan "tests/examples/DerivingVia.hs" 252 7 252 8+ ]+ }+ ">>="+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 21 252 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 40 252 42 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 25+ , SrcSpan "tests/examples/DerivingVia.hs" 252 38 252 39+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 27 252 29 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 252 30 252 36+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38+ , srcInfoPoints = []+ }+ "b")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 51+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51+ , srcInfoPoints = []+ }+ "b"))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13+ , srcInfoPoints = []+ }+ "b")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15+ , srcInfoPoints = []+ }+ "c")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 16 253 19+ , srcInfoPoints = []+ }+ ">>=")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 23 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 36+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 33+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 24 253 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 24 253 30+ , srcInfoPoints = []+ }+ "Sorted")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 31 253 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 31 253 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 31 253 33+ , srcInfoPoints = []+ }+ "a'"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 34 253 36+ , srcInfoPoints = []+ }+ "b'"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+ , srcInfoPoints = []+ }+ "c'")))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 5+ , SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 5+ , SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 5+ , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 26+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 5 254 11+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 12 254 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 12 254 14+ , srcInfoPoints = []+ }+ "a'")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 15 254 16+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 18 254 19+ , srcInfoPoints = []+ }+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 22 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 23 254 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 23 254 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 23 254 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 254+ 23+ 254+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 25 254 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 25 254 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 254+ 25+ 254+ 26+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 26+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 5 255 11+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 12 255 13+ , srcInfoPoints = []+ }+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 15 255 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 15 255 17+ , srcInfoPoints = []+ }+ "b'")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 18 255 19+ , srcInfoPoints = []+ }+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 22 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 23 255 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 23 255 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 23 255 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 255+ 23+ 255+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 25 255 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 25 255 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 255+ 25+ 255+ 26+ , srcInfoPoints = []+ }+ "b")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 26+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 5 256 11+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 12 256 13+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 15 256 16+ , srcInfoPoints = []+ }+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 18 256 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 18 256 20+ , srcInfoPoints = []+ }+ "c'")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 22 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 23 256 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 23 256 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 23 256 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 256+ 23+ 256+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 25 256 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 25 256 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 256+ 25+ 256+ 26+ , srcInfoPoints = []+ }+ "c")))))+ Nothing+ ]))+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 258 1 265 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 9+ , SrcSpan "tests/examples/DerivingVia.hs" 258 25 258 30+ , SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 3+ , SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 3+ , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+ , srcInfoPoints = []+ }+ "Pointed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+ , srcInfoPoints = []+ }+ "Sorted")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 10+ , srcInfoPoints = []+ }+ "pointed"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 259 16 259 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27+ , srcInfoPoints = []+ }+ "a")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 10+ , srcInfoPoints = []+ }+ "pointed")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12+ , srcInfoPoints = []+ }+ "a")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 23+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 15 260 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 15 260 21+ , srcInfoPoints = []+ }+ "Sorted")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 22 260 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 22 260 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 22 260 23+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 24 260 25+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ])+ ])+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 1 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 6+ , SrcSpan "tests/examples/DerivingVia.hs" 265 16 265 21+ , SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 3+ , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13+ , srcInfoPoints = []+ }+ "IsZero"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 266 15 266 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+ , srcInfoPoints = []+ }+ "Bool")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 268 25 268 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21+ , srcInfoPoints = []+ }+ "WrappedNumEq"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 39+ , srcInfoPoints = []+ }+ "WrappedNumEq")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 269 25 269 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20+ , srcInfoPoints = []+ }+ "WrappedShow"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 38+ , srcInfoPoints = []+ }+ "WrappedShow")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 270 25 270 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22+ , srcInfoPoints = []+ }+ "WrappedNumEq2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 40+ , srcInfoPoints = []+ }+ "WrappedNumEq2")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 272 1 276 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 9+ , SrcSpan "tests/examples/DerivingVia.hs" 272 51 272 56+ , SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 3+ , SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 3+ , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 50+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 11+ , SrcSpan "tests/examples/DerivingVia.hs" 272 16 272 17+ , SrcSpan "tests/examples/DerivingVia.hs" 272 22 272 23+ , SrcSpan "tests/examples/DerivingVia.hs" 272 24 272 26+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 50+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+ , srcInfoPoints = []+ }+ "IsZero")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 35+ , SrcSpan "tests/examples/DerivingVia.hs" 272 49 272 50+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 49+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+ , srcInfoPoints = []+ }+ "WrappedNumEq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 273 28 273 30 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+ , srcInfoPoints = []+ }+ "WrappedNumEq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 9+ , srcInfoPoints = []+ }+ "isZero")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 11+ , SrcSpan "tests/examples/DerivingVia.hs" 274 25 274 26+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23+ , srcInfoPoints = []+ }+ "WrappedNumEq"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 28 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 35+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30+ , srcInfoPoints = []+ }+ 0+ "0"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 276 1 280 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 9+ , SrcSpan "tests/examples/DerivingVia.hs" 276 43 276 48+ , SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 3+ , SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 3+ , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 42+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 42+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+ , srcInfoPoints = []+ }+ "IsZero")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 28+ , SrcSpan "tests/examples/DerivingVia.hs" 276 41 276 42+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+ , srcInfoPoints = []+ }+ "WrappedShow")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 277 27 277 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+ , srcInfoPoints = []+ }+ "WrappedShow")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 9+ , srcInfoPoints = []+ }+ "isZero")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 11+ , SrcSpan "tests/examples/DerivingVia.hs" 278 24 278 25+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22+ , srcInfoPoints = []+ }+ "WrappedShow"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 27 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 41+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31+ , srcInfoPoints = []+ }+ "0"+ "0"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+ , srcInfoPoints = []+ }+ "==")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 278 35 278 39+ , srcInfoPoints = []+ }+ "show")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 278 40 278 41+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 280 1 284 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 9+ , SrcSpan "tests/examples/DerivingVia.hs" 280 52 280 57+ , SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 3+ , SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 3+ , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 51+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 11+ , SrcSpan "tests/examples/DerivingVia.hs" 280 16 280 17+ , SrcSpan "tests/examples/DerivingVia.hs" 280 22 280 23+ , SrcSpan "tests/examples/DerivingVia.hs" 280 24 280 26+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 51+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+ , srcInfoPoints = []+ }+ "IsZero")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 35+ , SrcSpan "tests/examples/DerivingVia.hs" 280 50 280 51+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 50+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+ , srcInfoPoints = []+ }+ "WrappedNumEq2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 281 29 281 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+ , srcInfoPoints = []+ }+ "WrappedNumEq2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 9+ , srcInfoPoints = []+ }+ "isZero")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 11+ , SrcSpan "tests/examples/DerivingVia.hs" 282 26 282 27+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24+ , srcInfoPoints = []+ }+ "WrappedNumEq2"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 29 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 40+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 282 30 282 31+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 282 32 282 33+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 282 34 282 35+ , srcInfoPoints = []+ }+ "a"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 1 286 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 284 13 284 14 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12+ , srcInfoPoints = []+ }+ "INT"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 18+ , srcInfoPoints = []+ }+ "INT")+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+ , srcInfoPoints = []+ }+ "Int"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 11 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 12 285 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ "Show")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 19 286 22+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 24+ , SrcSpan "tests/examples/DerivingVia.hs" 286 40 286 41+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+ , srcInfoPoints = []+ }+ "WrappedNumEq")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+ , srcInfoPoints = []+ }+ "Int")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ "IsZero")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 288 14 288 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13+ , srcInfoPoints = []+ }+ "VOID"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 20+ , srcInfoPoints = []+ }+ "VOID")+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+ , srcInfoPoints = []+ }+ "Void"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 34 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 42 288 45+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 47+ , SrcSpan "tests/examples/DerivingVia.hs" 288 63 288 64+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 63+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+ , srcInfoPoints = []+ }+ "WrappedShow")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+ , srcInfoPoints = []+ }+ "Void")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ "IsZero")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 1 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 6+ , SrcSpan "tests/examples/DerivingVia.hs" 293 38 293 43+ , SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 3+ , SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 3+ , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18+ , srcInfoPoints = []+ }+ "p"))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 37+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35+ , srcInfoPoints = []+ }+ "Biapplicative"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37+ , srcInfoPoints = []+ }+ "p")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 9+ , srcInfoPoints = []+ }+ "bipure"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 15 294 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 20 294 22 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19+ , srcInfoPoints = []+ }+ "b"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28+ , srcInfoPoints = []+ }+ "b"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 11+ , srcInfoPoints = []+ }+ "biliftA2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 5 298 7 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 9+ , SrcSpan "tests/examples/DerivingVia.hs" 297 22 297 23+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 12 297 14 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 18 297 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16+ , srcInfoPoints = []+ }+ "b"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22+ , srcInfoPoints = []+ }+ "c")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 299 5 299 7 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 9+ , SrcSpan "tests/examples/DerivingVia.hs" 298 23 298 24+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 12 298 14 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11+ , srcInfoPoints = []+ }+ "a'"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 18 298 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17+ , srcInfoPoints = []+ }+ "b'"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23+ , srcInfoPoints = []+ }+ "c'")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 300 5 300 7 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14+ , srcInfoPoints = []+ }+ "a'")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 301 5 301 7 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 300 8 300 9+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 10 300 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 300 10 300 11+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14+ , srcInfoPoints = []+ }+ "b'")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 301 8 301 9+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 10 301 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 301 10 301 11+ , srcInfoPoints = []+ }+ "c")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14+ , srcInfoPoints = []+ }+ "c'"))))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 303 1 309 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 9+ , SrcSpan "tests/examples/DerivingVia.hs" 303 28 303 33+ , SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 3+ , SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 3+ , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+ , srcInfoPoints = []+ }+ "Biapplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+ , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+ , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+ , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+ , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+ , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+ , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+ ]+ }+ Boxed+ 2)))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9+ , srcInfoPoints = []+ }+ "bipure"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 11 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+ , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+ , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+ , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+ , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+ , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+ , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+ ]+ }+ Boxed+ 2))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 11+ , srcInfoPoints = []+ }+ "biliftA2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13+ , srcInfoPoints = []+ }+ "f")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16+ , srcInfoPoints = []+ }+ "f'")+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 18+ , SrcSpan "tests/examples/DerivingVia.hs" 306 19 306 20+ , SrcSpan "tests/examples/DerivingVia.hs" 306 23 306 24+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23+ , srcInfoPoints = []+ }+ "a'")+ ]+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 26+ , SrcSpan "tests/examples/DerivingVia.hs" 306 27 306 28+ , SrcSpan "tests/examples/DerivingVia.hs" 306 31 306 32+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27+ , srcInfoPoints = []+ }+ "b")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31+ , srcInfoPoints = []+ }+ "b'")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 33 307 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 306 33 306 34 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 6+ , SrcSpan "tests/examples/DerivingVia.hs" 307 11 307 12+ , SrcSpan "tests/examples/DerivingVia.hs" 307 21 307 22+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 11+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 9+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 6 307 7+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 8 307 9+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 10 307 11+ , srcInfoPoints = []+ }+ "b")))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 21+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 13 307 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 13 307 15+ , srcInfoPoints = []+ }+ "f'")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 16 307 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 16 307 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 16 307 18+ , srcInfoPoints = []+ }+ "a'"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 19 307 21+ , srcInfoPoints = []+ }+ "b'")))+ ]))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 1 310 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 309 25 309 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 24+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 22+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18+ , srcInfoPoints = []+ }+ "WrapBiapp"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20+ , srcInfoPoints = []+ }+ "p")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 35+ , srcInfoPoints = []+ }+ "WrapBiap")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 37+ , SrcSpan "tests/examples/DerivingVia.hs" 309 42 309 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 42+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 40+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42+ , srcInfoPoints = []+ }+ "b")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 11+ , SrcSpan "tests/examples/DerivingVia.hs" 310 20 310 21+ , SrcSpan "tests/examples/DerivingVia.hs" 310 30 310 31+ , SrcSpan "tests/examples/DerivingVia.hs" 310 45 310 46+ , SrcSpan "tests/examples/DerivingVia.hs" 310 49 310 50+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 12 310 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ "Bifunctor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ "Biapplicative")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ "Eq")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 312 1 321 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 9+ , SrcSpan "tests/examples/DerivingVia.hs" 312 67 312 72+ , SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 3+ , SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 3+ , SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 3+ , SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 3+ , SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 3+ , SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 3+ , SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 3+ , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 66+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 11+ , SrcSpan "tests/examples/DerivingVia.hs" 312 26 312 27+ , SrcSpan "tests/examples/DerivingVia.hs" 312 33 312 34+ , SrcSpan "tests/examples/DerivingVia.hs" 312 40 312 41+ , SrcSpan "tests/examples/DerivingVia.hs" 312 42 312 44+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24+ , srcInfoPoints = []+ }+ "Biapplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26+ , srcInfoPoints = []+ }+ "p")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40+ , srcInfoPoints = []+ }+ "b")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 66+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+ , srcInfoPoints = []+ }+ "Num")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 50+ , SrcSpan "tests/examples/DerivingVia.hs" 312 65 312 66+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 65+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 63+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+ , srcInfoPoints = []+ }+ "WrapBiapp")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65+ , srcInfoPoints = []+ }+ "b"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 4+ , SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5+ , SrcSpan "tests/examples/DerivingVia.hs" 313 5 313 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5+ , srcInfoPoints = []+ }+ "+"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+ , srcInfoPoints = []+ }+ "biliftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19+ , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+ , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19+ , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+ , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+ , srcInfoPoints = []+ }+ "+"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23+ , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+ , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23+ , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+ , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+ , srcInfoPoints = []+ }+ "+")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 4+ , SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5+ , SrcSpan "tests/examples/DerivingVia.hs" 314 5 314 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5+ , srcInfoPoints = []+ }+ "-"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+ , srcInfoPoints = []+ }+ "biliftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19+ , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+ , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19+ , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+ , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+ , srcInfoPoints = []+ }+ "*"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23+ , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+ , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23+ , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+ , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+ , srcInfoPoints = []+ }+ "*")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 4+ , SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5+ , SrcSpan "tests/examples/DerivingVia.hs" 315 5 315 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5+ , srcInfoPoints = []+ }+ "*"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+ , srcInfoPoints = []+ }+ "biliftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19+ , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+ , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19+ , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+ , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+ , srcInfoPoints = []+ }+ "*"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23+ , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+ , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23+ , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+ , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+ , srcInfoPoints = []+ }+ "*")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9+ , srcInfoPoints = []+ }+ "negate"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+ , srcInfoPoints = []+ }+ "negate"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+ , srcInfoPoints = []+ }+ "negate")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6+ , srcInfoPoints = []+ }+ "abs"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 22+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+ , srcInfoPoints = []+ }+ "abs"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+ , srcInfoPoints = []+ }+ "abs")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9+ , srcInfoPoints = []+ }+ "signum"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+ , srcInfoPoints = []+ }+ "signum"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+ , srcInfoPoints = []+ }+ "signum")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 14+ , srcInfoPoints = []+ }+ "fromInteger")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16+ , srcInfoPoints = []+ }+ "n")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 18 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 55+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 19 319 30+ , srcInfoPoints = []+ }+ "fromInteger")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 31 319 32+ , srcInfoPoints = []+ }+ "n"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34+ , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+ , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34+ , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+ , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+ , srcInfoPoints = []+ }+ "bipure")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 55+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 42 319 53+ , srcInfoPoints = []+ }+ "fromInteger")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 54 319 55+ , srcInfoPoints = []+ }+ "n"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 1 322 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 321 14 321 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13+ , srcInfoPoints = []+ }+ "INT2"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 20+ , srcInfoPoints = []+ }+ "INT2")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 22+ , SrcSpan "tests/examples/DerivingVia.hs" 321 25 321 26+ , SrcSpan "tests/examples/DerivingVia.hs" 321 30 321 31+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+ , srcInfoPoints = []+ }+ "Int"))+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 19 322 22+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 24+ , SrcSpan "tests/examples/DerivingVia.hs" 322 61 322 62+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+ , srcInfoPoints = []+ }+ "WrappedNumEq2")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 39+ , SrcSpan "tests/examples/DerivingVia.hs" 322 60 322 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 60+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 56+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 52+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 39 322 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 39 322 48+ , srcInfoPoints = []+ }+ "WrapBiapp")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 49 322 52+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 50+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 50 322 51+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 51 322 52+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 52+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 50+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 50 322 51+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 51 322 52+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 52+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs"+ 322+ 49+ 322+ 50+ , SrcSpan+ "tests/examples/DerivingVia.hs"+ 322+ 50+ 322+ 51+ , SrcSpan+ "tests/examples/DerivingVia.hs"+ 322+ 51+ 322+ 52+ ]+ }+ Boxed+ 2))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 53 322 56+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+ , srcInfoPoints = []+ }+ "Int")))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ "IsZero")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 1 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 6+ , SrcSpan "tests/examples/DerivingVia.hs" 327 32 327 37+ , SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 3+ , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15+ , srcInfoPoints = []+ }+ "a"))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 31+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29+ , srcInfoPoints = []+ }+ "MonoidNull"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 7+ , srcInfoPoints = []+ }+ "null"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 328 13 328 15 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+ , srcInfoPoints = []+ }+ "Bool")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 330 22 330 23 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 21+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19+ , srcInfoPoints = []+ }+ "WrpMonNull"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 27+ , srcInfoPoints = []+ }+ "WRM")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 38+ , SrcSpan "tests/examples/DerivingVia.hs" 330 39 330 40+ , SrcSpan "tests/examples/DerivingVia.hs" 330 42 330 43+ , SrcSpan "tests/examples/DerivingVia.hs" 330 53 330 54+ , SrcSpan "tests/examples/DerivingVia.hs" 330 61 330 62+ ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ "Semigroup")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ "Monoid")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 332 1 336 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 9+ , SrcSpan "tests/examples/DerivingVia.hs" 332 56 332 61+ , SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 3+ , SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 3+ , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 55+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 11+ , SrcSpan "tests/examples/DerivingVia.hs" 332 15 332 16+ , SrcSpan "tests/examples/DerivingVia.hs" 332 25 332 26+ , SrcSpan "tests/examples/DerivingVia.hs" 332 27 332 29+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 55+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 42+ , SrcSpan "tests/examples/DerivingVia.hs" 332 54 332 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+ , srcInfoPoints = []+ }+ "WrpMonNull")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 7+ , srcInfoPoints = []+ }+ "null"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 333 24 333 26 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+ , srcInfoPoints = []+ }+ "WrpMonNull")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7+ , srcInfoPoints = []+ }+ "null"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 9 ]+ }+ (RightSection+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 11+ , SrcSpan "tests/examples/DerivingVia.hs" 334 20 334 21+ ]+ }+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+ , srcInfoPoints = []+ }+ "mempty")))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 9+ , SrcSpan "tests/examples/DerivingVia.hs" 336 31 336 39+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 10 336 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 15+ , SrcSpan "tests/examples/DerivingVia.hs" 336 29 336 30+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+ , srcInfoPoints = []+ }+ "WrpMonNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+ , srcInfoPoints = []+ }+ "Any")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+ , srcInfoPoints = []+ }+ "Any")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 9+ , SrcSpan "tests/examples/DerivingVia.hs" 337 31 337 39+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 10 337 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+ , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+ , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+ , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+ ]+ })))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+ , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+ , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+ , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+ ]+ })))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 9+ , SrcSpan "tests/examples/DerivingVia.hs" 338 31 338 39+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 10 338 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+ , srcInfoPoints = []+ }+ "Ordering")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+ , srcInfoPoints = []+ }+ "Ordering")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 1 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 6+ , SrcSpan "tests/examples/DerivingVia.hs" 345 17 345 22+ , SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 3+ , SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 3+ , SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 3+ , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14+ , srcInfoPoints = []+ }+ "Lattice"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 6+ , srcInfoPoints = []+ }+ "sup"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 14 346 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 19 346 21 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 4+ , SrcSpan "tests/examples/DerivingVia.hs" 347 4 347 7+ , SrcSpan "tests/examples/DerivingVia.hs" 347 7 347 8+ ]+ }+ ".>="+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 14 347 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 19 347 21 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+ , srcInfoPoints = []+ }+ "Bool"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 4+ , SrcSpan "tests/examples/DerivingVia.hs" 348 4 348 6+ , SrcSpan "tests/examples/DerivingVia.hs" 348 6 348 7+ ]+ }+ ".>"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 14 348 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 19 348 21 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+ , srcInfoPoints = []+ }+ "Bool"))))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 1 351 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 350 19 350 20 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16+ , srcInfoPoints = []+ }+ "WrapOrd"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 31+ , srcInfoPoints = []+ }+ "WrappedOrd")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 11+ , SrcSpan "tests/examples/DerivingVia.hs" 351 20 351 21+ , SrcSpan "tests/examples/DerivingVia.hs" 351 23 351 24+ , SrcSpan "tests/examples/DerivingVia.hs" 351 28 351 29+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 12 351 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ "Ord")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 353 1 358 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 9+ , SrcSpan "tests/examples/DerivingVia.hs" 353 39 353 44+ , SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 3+ , SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 3+ , SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 3+ , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 38+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 38+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 28+ , SrcSpan "tests/examples/DerivingVia.hs" 353 37 353 38+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+ , srcInfoPoints = []+ }+ "WrapOrd")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6+ , srcInfoPoints = []+ }+ "sup"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+ , srcInfoPoints = []+ }+ "max"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 4+ , SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7+ , SrcSpan "tests/examples/DerivingVia.hs" 355 7 355 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7+ , srcInfoPoints = []+ }+ ".>="))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12+ , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+ , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12+ , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+ , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+ , srcInfoPoints = []+ }+ ">="))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 4+ , SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6+ , SrcSpan "tests/examples/DerivingVia.hs" 356 6 356 7+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6+ , srcInfoPoints = []+ }+ ".>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12+ , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+ , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12+ , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+ , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+ , srcInfoPoints = []+ }+ ">"))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 9+ , SrcSpan "tests/examples/DerivingVia.hs" 358 21 358 29+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 10 358 13+ , srcInfoPoints = []+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 15+ , SrcSpan "tests/examples/DerivingVia.hs" 358 16 358 17+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 59+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 57+ , SrcSpan "tests/examples/DerivingVia.hs" 358 58 358 59+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58+ , srcInfoPoints = []+ }+ "a")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 9+ , SrcSpan "tests/examples/DerivingVia.hs" 359 21 359 29+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 10 359 13+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 15+ , SrcSpan "tests/examples/DerivingVia.hs" 359 16 359 17+ , SrcSpan "tests/examples/DerivingVia.hs" 359 19 359 20+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19+ , srcInfoPoints = []+ }+ "b")+ ])))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 62+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 31+ , SrcSpan "tests/examples/DerivingVia.hs" 359 36 359 37+ , SrcSpan "tests/examples/DerivingVia.hs" 359 43 359 44+ , SrcSpan "tests/examples/DerivingVia.hs" 359 45 359 47+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43+ , srcInfoPoints = []+ }+ "b")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 62+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 57+ , SrcSpan "tests/examples/DerivingVia.hs" 359 58 359 59+ , SrcSpan "tests/examples/DerivingVia.hs" 359 61 359 62+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61+ , srcInfoPoints = []+ }+ "b")+ ])))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 9+ , SrcSpan "tests/examples/DerivingVia.hs" 361 19 361 27+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 10 361 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+ , srcInfoPoints = []+ }+ "Bool")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+ , srcInfoPoints = []+ }+ "Bool")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 9+ , SrcSpan "tests/examples/DerivingVia.hs" 363 19 363 27+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 10 363 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+ , srcInfoPoints = []+ }+ "Char")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+ , srcInfoPoints = []+ }+ "Char")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 9+ , SrcSpan "tests/examples/DerivingVia.hs" 365 18 365 26+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 10 365 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+ , srcInfoPoints = []+ }+ "Int")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+ , srcInfoPoints = []+ }+ "Int")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 9+ , SrcSpan "tests/examples/DerivingVia.hs" 367 22 367 30+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 10 367 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+ , srcInfoPoints = []+ }+ "Integer")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+ , srcInfoPoints = []+ }+ "Integer")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 9+ , SrcSpan "tests/examples/DerivingVia.hs" 369 20 369 28+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 10 369 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+ , srcInfoPoints = []+ }+ "Float")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+ , srcInfoPoints = []+ }+ "Float")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 9+ , SrcSpan "tests/examples/DerivingVia.hs" 371 21 371 29+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 10 371 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+ , srcInfoPoints = []+ }+ "Double")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+ , srcInfoPoints = []+ }+ "Double")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 9+ , SrcSpan "tests/examples/DerivingVia.hs" 373 23 373 31+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 10 373 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+ , srcInfoPoints = []+ }+ "Rational")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+ , srcInfoPoints = []+ }+ "Rational")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 1 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 6+ , SrcSpan "tests/examples/DerivingVia.hs" 380 31 380 36+ , SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 3+ , SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 3+ , SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 3+ , SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 3+ , SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 3+ , SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 3+ , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14+ , srcInfoPoints = []+ }+ "Functor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16+ , srcInfoPoints = []+ }+ "f"))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 30+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28+ , srcInfoPoints = []+ }+ "Additive"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30+ , srcInfoPoints = []+ }+ "f")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 7+ , srcInfoPoints = []+ }+ "zero"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 23+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 381 11 381 14+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16+ , srcInfoPoints = []+ }+ "a"))))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 23+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 4+ , SrcSpan "tests/examples/DerivingVia.hs" 382 4 382 7+ , SrcSpan "tests/examples/DerivingVia.hs" 382 7 382 8+ ]+ }+ "^+^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 38+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 382 12 382 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 25 382 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 32 382 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 4+ , SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7+ , SrcSpan "tests/examples/DerivingVia.hs" 383 7 383 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7+ , srcInfoPoints = []+ }+ "^+^"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+ , srcInfoPoints = []+ }+ "liftU2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19+ , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+ , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19+ , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+ , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+ , srcInfoPoints = []+ }+ "+")))))+ Nothing)+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 4+ , SrcSpan "tests/examples/DerivingVia.hs" 384 4 384 7+ , SrcSpan "tests/examples/DerivingVia.hs" 384 7 384 8+ ]+ }+ "^-^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 38+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 384 12 384 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 25 384 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 32 384 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4+ , srcInfoPoints = []+ }+ "x"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 5 385 8+ , srcInfoPoints = []+ }+ "^-^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+ , srcInfoPoints = []+ }+ "^+^")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 19 385 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 19 385 23+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 24 385 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 24 385 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 24 385 30+ , srcInfoPoints = []+ }+ "negate"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 31 385 32+ , srcInfoPoints = []+ }+ "y"))))))+ Nothing+ ])+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 9+ , srcInfoPoints = []+ }+ "liftU2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 27 386 29 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 14+ , SrcSpan "tests/examples/DerivingVia.hs" 386 25 386 26+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 16 386 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 21 386 23 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25+ , srcInfoPoints = []+ }+ "a")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 34 386 36 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 33+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 41 386 43 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 40+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 47+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47+ , srcInfoPoints = []+ }+ "a")))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 388 1 395 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 9+ , SrcSpan "tests/examples/DerivingVia.hs" 388 22 388 27+ , SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 3+ , SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 3+ , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+ , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+ , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+ , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+ ]+ })))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 9 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 11+ , SrcSpan "tests/examples/DerivingVia.hs" 389 11 389 12+ ]+ }+ []))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 13 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+ , srcInfoPoints = []+ }+ "go"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 5+ , SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 5+ , SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 5+ , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0+ ]+ }+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 7+ , srcInfoPoints = []+ }+ "go")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 8 391 14+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 391 8 391 9+ , SrcSpan+ "tests/examples/DerivingVia.hs" 391 13 391 14+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 9 391 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 9 391 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 9+ 391+ 10+ , srcInfoPoints = []+ }+ "x"))+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 10+ 391+ 11+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 10+ 391+ 11+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 11+ 391+ 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 11+ 391+ 13+ , srcInfoPoints = []+ }+ "xs")))+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 15 391 21+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 391 15 391 16+ , SrcSpan+ "tests/examples/DerivingVia.hs" 391 20 391 21+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 16 391 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 16+ 391+ 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 16+ 391+ 17+ , srcInfoPoints = []+ }+ "y"))+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 17+ 391+ 18+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 17+ 391+ 18+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 18+ 391+ 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 18+ 391+ 20+ , srcInfoPoints = []+ }+ "ys")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 22 391 40+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 391 22 391 23+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 24 391 40+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 24 391 29+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 25+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 26+ 391+ 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 26+ 391+ 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 26+ 391+ 27+ , srcInfoPoints = []+ }+ "x"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 28+ 391+ 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 28+ 391+ 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 28+ 391+ 29+ , srcInfoPoints = []+ }+ "y"))))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 30 391 31+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 30+ 391+ 31+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 30+ 391+ 31+ , srcInfoPoints = []+ })))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 32 391 40+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 34+ , srcInfoPoints = []+ }+ "go")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 35+ 391+ 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 35+ 391+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 35+ 391+ 37+ , srcInfoPoints = []+ }+ "xs"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 38+ 391+ 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 38+ 391+ 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 38+ 391+ 40+ , srcInfoPoints = []+ }+ "ys"))))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 7+ , srcInfoPoints = []+ }+ "go")+ [ PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 8 392 10+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 392 8 392 9+ , SrcSpan+ "tests/examples/DerivingVia.hs" 392 9 392 10+ ]+ }+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 11 392 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 11 392 13+ , srcInfoPoints = []+ }+ "ys")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 14 392 18+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 392 14 392 15+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 16 392 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 16 392 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 392+ 16+ 392+ 18+ , srcInfoPoints = []+ }+ "ys"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 7+ , srcInfoPoints = []+ }+ "go")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 8 393 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 8 393 10+ , srcInfoPoints = []+ }+ "xs")+ , PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 11 393 13+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 393 11 393 12+ , SrcSpan+ "tests/examples/DerivingVia.hs" 393 12 393 13+ ]+ }+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 14 393 18+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 393 14 393 15+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 16 393 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 16 393 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 393+ 16+ 393+ 18+ , srcInfoPoints = []+ }+ "xs"))))+ Nothing+ ]+ ]))+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 395 1 401 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 9+ , SrcSpan "tests/examples/DerivingVia.hs" 395 25 395 30+ , SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 3+ , SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 3+ , SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 3+ , SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 3+ , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+ , srcInfoPoints = []+ }+ "Maybe")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 9 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+ , srcInfoPoints = []+ }+ "Nothing"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11+ , srcInfoPoints = []+ }+ "f")+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 13+ , SrcSpan "tests/examples/DerivingVia.hs" 397 19 397 20+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19+ , srcInfoPoints = []+ }+ "a")+ ])+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 22+ , SrcSpan "tests/examples/DerivingVia.hs" 397 28 397 29+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28+ , srcInfoPoints = []+ }+ "b")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 31 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 44+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+ , srcInfoPoints = []+ }+ "Just")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 38+ , SrcSpan "tests/examples/DerivingVia.hs" 397 43 397 44+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 43+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 38 397 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 38 397 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 397+ 38+ 397+ 39+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 40 397 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 40 397 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 397+ 40+ 397+ 41+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 42 397 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 42 397 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 42 397 43+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 10 398 11+ , srcInfoPoints = []+ }+ , PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+ , srcInfoPoints = []+ }+ "Nothing"))+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22+ , srcInfoPoints = []+ }+ "ys")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 24 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+ , srcInfoPoints = []+ }+ "ys"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 10 399 11+ , srcInfoPoints = []+ }+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14+ , srcInfoPoints = []+ }+ "xs")+ , PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+ , srcInfoPoints = []+ }+ "Nothing"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 24 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+ , srcInfoPoints = []+ }+ "xs"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 401 1 405 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 9+ , SrcSpan "tests/examples/DerivingVia.hs" 401 56 401 61+ , SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 3+ , SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 3+ , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 55+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23+ , srcInfoPoints = []+ }+ "f"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 55+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+ , srcInfoPoints = []+ }+ "Additive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 37+ , SrcSpan "tests/examples/DerivingVia.hs" 401 54 401 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54+ , srcInfoPoints = []+ }+ "f"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+ , srcInfoPoints = []+ }+ "pure")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18+ , srcInfoPoints = []+ }+ 0+ "0"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9+ , srcInfoPoints = []+ }+ "liftU2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 11 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+ , srcInfoPoints = []+ }+ "liftA2"))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 9+ , SrcSpan "tests/examples/DerivingVia.hs" 405 41 405 49+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 10 405 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 15+ , SrcSpan "tests/examples/DerivingVia.hs" 405 39 405 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 32+ , SrcSpan "tests/examples/DerivingVia.hs" 405 38 405 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+ , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+ , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+ , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+ , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+ , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+ , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38+ , srcInfoPoints = []+ }+ "a"))))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+ , srcInfoPoints = []+ }+ "Additive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 60+ , SrcSpan "tests/examples/DerivingVia.hs" 405 66 405 67+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 66+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+ , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+ , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+ , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+ , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+ , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+ , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66+ , srcInfoPoints = []+ }+ "a"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 9+ , SrcSpan "tests/examples/DerivingVia.hs" 406 41 406 49+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 10 406 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 15+ , SrcSpan "tests/examples/DerivingVia.hs" 406 38 406 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+ , srcInfoPoints = []+ }+ "Complex")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+ , srcInfoPoints = []+ }+ "Complex")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 9+ , SrcSpan "tests/examples/DerivingVia.hs" 407 41 407 49+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 10 407 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 15+ , SrcSpan "tests/examples/DerivingVia.hs" 407 39 407 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+ , srcInfoPoints = []+ }+ "Identity")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+ , srcInfoPoints = []+ }+ "Identity")))))+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 409 1 413 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 9+ , SrcSpan "tests/examples/DerivingVia.hs" 409 27 409 32+ , SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 3+ , SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 3+ , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+ , srcInfoPoints = []+ }+ "ZipList")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 20+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+ , srcInfoPoints = []+ }+ "ZipList")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 19+ , SrcSpan "tests/examples/DerivingVia.hs" 410 19 410 20+ ]+ }+ [])))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11+ , srcInfoPoints = []+ }+ "f")+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 13+ , SrcSpan "tests/examples/DerivingVia.hs" 411 23 411 24+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20+ , srcInfoPoints = []+ }+ "ZipList"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23+ , srcInfoPoints = []+ }+ "xs")+ ])+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 26+ , SrcSpan "tests/examples/DerivingVia.hs" 411 36 411 37+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33+ , srcInfoPoints = []+ }+ "ZipList"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36+ , srcInfoPoints = []+ }+ "ys")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 39 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 64+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+ , srcInfoPoints = []+ }+ "ZipList")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 49+ , SrcSpan "tests/examples/DerivingVia.hs" 411 63 411 64+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 63+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 60+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 49 411 57+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 49 411 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 49+ 411+ 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 49+ 411+ 55+ , srcInfoPoints = []+ }+ "liftU2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 56 411 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 56+ 411+ 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 56+ 411+ 57+ , srcInfoPoints = []+ }+ "f"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 58 411 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 58 411 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 58+ 411+ 60+ , srcInfoPoints = []+ }+ "xs"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 61 411 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 61 411 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 61 411 63+ , srcInfoPoints = []+ }+ "ys")))))))+ Nothing+ ])+ ])+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 1 419 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 6+ , SrcSpan "tests/examples/DerivingVia.hs" 413 37 413 42+ , SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 3+ , SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 3+ , SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 3+ , SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 3+ , SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 3+ , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15+ , srcInfoPoints = []+ }+ "Additive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 17+ , SrcSpan "tests/examples/DerivingVia.hs" 413 23 413 24+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23+ , srcInfoPoints = []+ }+ "p"))))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 36+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34+ , srcInfoPoints = []+ }+ "Affine"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36+ , srcInfoPoints = []+ }+ "p")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12+ , srcInfoPoints = []+ }+ "Diff"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14+ , srcInfoPoints = []+ }+ "p")))+ (Just+ (KindSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 17 ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 414 23 414 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+ , srcInfoPoints = []+ }+ "Type")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+ , srcInfoPoints = []+ }+ "Type"))))))+ Nothing+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 4+ , SrcSpan "tests/examples/DerivingVia.hs" 416 4 416 7+ , SrcSpan "tests/examples/DerivingVia.hs" 416 7 416 8+ ]+ }+ ".-."+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 416 12 416 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 25 416 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 32 416 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 416 35 416 39+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 4+ , SrcSpan "tests/examples/DerivingVia.hs" 417 4 417 7+ , SrcSpan "tests/examples/DerivingVia.hs" 417 7 417 8+ ]+ }+ ".+^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 417 12 417 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 25 417 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 37 417 39 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 417 28 417 32+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 4+ , SrcSpan "tests/examples/DerivingVia.hs" 418 4 418 7+ , SrcSpan "tests/examples/DerivingVia.hs" 418 7 418 8+ ]+ }+ ".-^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 418 12 418 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 25 418 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 37 418 39 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 418 28 418 32+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4+ , srcInfoPoints = []+ }+ "p"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 5 419 8+ , srcInfoPoints = []+ }+ ".-^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10+ , srcInfoPoints = []+ }+ "v")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+ , srcInfoPoints = []+ }+ "p")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+ , srcInfoPoints = []+ }+ ".+^")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 19 419 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 19 419 23+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 24 419 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 24 419 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 24 419 30+ , srcInfoPoints = []+ }+ "negate"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 31 419 32+ , srcInfoPoints = []+ }+ "v"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 425 26 425 27 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 25+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 23+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21+ , srcInfoPoints = []+ }+ "WrapAdditive"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 43+ , srcInfoPoints = []+ }+ "WrappedAdditive")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 45+ , SrcSpan "tests/examples/DerivingVia.hs" 425 48 425 49+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 48+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 427 1 435 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 9+ , SrcSpan "tests/examples/DerivingVia.hs" 427 48 427 53+ , SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 3+ , SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 3+ , SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 3+ , SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 3+ , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 47+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20+ , srcInfoPoints = []+ }+ "f"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 47+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+ , srcInfoPoints = []+ }+ "Affine")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 31 427 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 31 427 32+ , SrcSpan "tests/examples/DerivingVia.hs" 427 46 427 47+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 45 427 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 45 427 46+ , srcInfoPoints = []+ }+ "f"))))))+ (Just+ [ InsType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 7+ , SrcSpan "tests/examples/DerivingVia.hs" 428 30 428 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+ , srcInfoPoints = []+ }+ "Diff")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 13 428 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 428 13 428 14+ , SrcSpan "tests/examples/DerivingVia.hs" 428 28 428 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 27 428 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 27 428 28+ , srcInfoPoints = []+ }+ "f")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 32 428 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 32 428 33+ , srcInfoPoints = []+ }+ "f"))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 18+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 19 430 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 19 430 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 21 430 24+ , srcInfoPoints = []+ }+ ".-.")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 40+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 41 430 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 41 430 42+ , srcInfoPoints = []+ }+ "b")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 43 430 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 430 43 430 44 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 52+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+ , srcInfoPoints = []+ }+ "^-^")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+ , srcInfoPoints = []+ }+ "b")))))+ Nothing+ ])+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 18+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 19 431 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 19 431 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 21 431 24+ , srcInfoPoints = []+ }+ ".+^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 25 431 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 25 431 26+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 27 431 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 431 27 431 28 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 54+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+ , srcInfoPoints = []+ }+ "WrappedAdditive")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 45 431 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 431 45 431 46+ , SrcSpan "tests/examples/DerivingVia.hs" 431 53 431 54+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 46 431 53+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 46 431 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 46 431 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 46 431 47+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 48 431 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 48 431 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 48 431 51+ , srcInfoPoints = []+ }+ "^+^")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 52 431 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 52 431 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 52 431 53+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ ])+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 18+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 19 432 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 19 432 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 21 432 24+ , srcInfoPoints = []+ }+ ".-^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 25 432 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 25 432 26+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 27 432 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 432 27 432 28 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 54+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+ , srcInfoPoints = []+ }+ "WrappedAdditive")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 45 432 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 432 45 432 46+ , SrcSpan "tests/examples/DerivingVia.hs" 432 53 432 54+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 46 432 53+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 46 432 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 46 432 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 46 432 47+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 48 432 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 48 432 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 48 432 51+ , srcInfoPoints = []+ }+ "^-^")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 52 432 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 52 432 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 52 432 53+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ ])+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 9+ , SrcSpan "tests/examples/DerivingVia.hs" 435 38 435 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 10 435 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 14 435 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 14 435 15+ , SrcSpan "tests/examples/DerivingVia.hs" 435 36 435 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 28 435 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 28 435 29+ , SrcSpan "tests/examples/DerivingVia.hs" 435 35 435 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+ , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+ , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+ , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+ , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+ , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+ , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 34 435 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 34 435 35+ , srcInfoPoints = []+ }+ "a"))))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 62+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 62+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 54 435 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 54 435 55+ , SrcSpan "tests/examples/DerivingVia.hs" 435 61 435 62+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+ , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+ , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+ , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+ , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+ , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+ , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 60 435 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 60 435 61+ , srcInfoPoints = []+ }+ "a"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 9+ , SrcSpan "tests/examples/DerivingVia.hs" 437 38 437 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 10 437 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 14 437 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 14 437 15+ , SrcSpan "tests/examples/DerivingVia.hs" 437 30 437 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+ , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+ , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+ , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+ ]+ })))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 56+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 56+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+ , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+ , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+ , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+ ]+ })))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 9+ , SrcSpan "tests/examples/DerivingVia.hs" 439 38 439 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 10 439 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 14 439 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 439 14 439 15+ , SrcSpan "tests/examples/DerivingVia.hs" 439 35 439 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+ , srcInfoPoints = []+ }+ "Complex")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 61+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+ , srcInfoPoints = []+ }+ "Complex")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 9+ , SrcSpan "tests/examples/DerivingVia.hs" 441 38 441 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 10 441 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 14 441 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 441 14 441 15+ , SrcSpan "tests/examples/DerivingVia.hs" 441 33 441 34+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+ , srcInfoPoints = []+ }+ "Maybe")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 59+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+ , srcInfoPoints = []+ }+ "Maybe")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 9+ , SrcSpan "tests/examples/DerivingVia.hs" 443 38 443 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 10 443 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 14 443 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 443 14 443 15+ , SrcSpan "tests/examples/DerivingVia.hs" 443 35 443 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+ , srcInfoPoints = []+ }+ "ZipList")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 61+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+ , srcInfoPoints = []+ }+ "ZipList")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 9+ , SrcSpan "tests/examples/DerivingVia.hs" 445 38 445 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 10 445 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 14 445 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 445 14 445 15+ , SrcSpan "tests/examples/DerivingVia.hs" 445 36 445 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+ , srcInfoPoints = []+ }+ "Identity")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 62+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 62+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+ , srcInfoPoints = []+ }+ "Identity")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 1 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 451 1 451 6+ , SrcSpan "tests/examples/DerivingVia.hs" 451 16 451 21+ , SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 3+ , SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 15+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 13+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 9+ , srcInfoPoints = []+ }+ "C2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 10 451 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 10 451 11+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 12 451 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 12 451 13+ , srcInfoPoints = []+ }+ "b")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 14 451 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 14 451 15+ , srcInfoPoints = []+ }+ "c")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 6 452 8 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 6 452 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 5+ , srcInfoPoints = []+ }+ "c2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 11 452 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 10+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 16 452 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 15+ , srcInfoPoints = []+ }+ "b"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 19 452 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 19 452 20+ , srcInfoPoints = []+ }+ "c")))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 454 1 457 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 9+ , SrcSpan "tests/examples/DerivingVia.hs" 454 29 454 34+ , SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 3+ , SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 28+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 16+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 14+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+ , srcInfoPoints = []+ }+ "C2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 13 454 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 13 454 14+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 15 454 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 15 454 16+ , srcInfoPoints = []+ }+ "b")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 17 454 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 454 17 454 18+ , SrcSpan "tests/examples/DerivingVia.hs" 454 27 454 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+ , srcInfoPoints = []+ }+ "Const")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 24 454 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 24 454 25+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 26 454 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 26 454 27+ , srcInfoPoints = []+ }+ "b"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 5+ , srcInfoPoints = []+ }+ "c2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 6 455 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 6 455 7+ , srcInfoPoints = []+ }+ "x")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 8 455 9+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 10 455 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 455 10 455 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+ , srcInfoPoints = []+ }+ "Const")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 1 458 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 457 18 457 19 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 15+ , srcInfoPoints = []+ }+ "Fweemp"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 16 457 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 16 457 17+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 26+ , srcInfoPoints = []+ }+ "Fweemp")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 27 457 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 27 457 28+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 3 458 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 458 3 458 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 8 459 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 12 459 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 459 12 459 13+ , SrcSpan "tests/examples/DerivingVia.hs" 459 32 459 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+ , srcInfoPoints = []+ }+ "Const")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 19 459 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 19 459 20+ , srcInfoPoints = []+ }+ "a")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 21 459 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 459 21 459 22+ , SrcSpan "tests/examples/DerivingVia.hs" 459 24 459 26+ , SrcSpan "tests/examples/DerivingVia.hs" 459 31 459 32+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 22 459 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 22 459 23+ , srcInfoPoints = []+ }+ "b"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+ , srcInfoPoints = []+ }+ "Type"))))))))+ [ IParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 12 458 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 458 12 458 13+ , SrcSpan "tests/examples/DerivingVia.hs" 458 19 458 20+ ]+ }+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 19+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 17+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+ , srcInfoPoints = []+ }+ "C2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 16 458 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 16 458 17+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 18 458 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 18 458 19+ , srcInfoPoints = []+ }+ "b"))))+ ]+ ]+ ]+ , [ Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 38 1 38 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 39 1 39 18)+ " Simple example"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 40 1 40 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 46 1 46 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 47 1 47 25)+ " Eta reduction at work"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 48 1 48 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 62 1 62 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 63 1 63 22)+ " Monad transformers"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 64 1 64 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 68 1 68 22)+ " From `constraints'"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 78 1 78 52)+ " With `-XQuantifiedConstraints' this just becomes"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 79 1 79 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 80 1 80 68)+ " type Lifting cls trans = forall mm. cls mm => cls (trans mm)"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 81 1 81 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 82 1 82 52)+ " type LiftingMonad trans = Lifting Monad trans"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 83 1 83 3) ""+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 142 1 142 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 143 1 143 32)+ " Using tuples in a `via` type"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 144 1 144 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 153 1 153 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 154 1 154 23)+ " Abstract data types"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 155 1 155 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 167 1 167 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 168 1 168 18)+ " Testing parser"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 169 1 169 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 183 1 183 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 184 1 184 23)+ " From Baldur's notes"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 185 1 185 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 187 1 187 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 188 1 188 5) " 1"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 189 1 189 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 227 1 227 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 228 1 228 5) " 2"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 229 1 229 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 243 1 243 8) " data"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 262 1 262 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 263 1 263 5) " 3"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 264 1 264 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 290 1 290 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 291 1 291 5) " 4"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 292 1 292 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 324 1 324 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 325 1 325 5) " 5"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 326 1 326 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 340 1 340 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 341 1 341 5) " 6"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 342 1 342 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 343 1 343 116)+ " https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 360 1 360 19)+ "mkLattice_(Bool)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 362 1 362 19)+ "mkLattice_(Char)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 364 1 364 18)+ "mkLattice_(Int)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 366 1 366 22)+ "mkLattice_(Integer)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 368 1 368 20)+ "mkLattice_(Float)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 370 1 370 21)+ "mkLattice_(Double)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 372 1 372 23)+ "mkLattice_(Rational)"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 375 1 375 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 376 1 376 5) " 7"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 377 1 377 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 378 1 378 81)+ " https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 421 1 421 79)+ " #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \\"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 422 1 422 85)+ " (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \\"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 423 1 423 42)+ " (.-^) = (^-^) ; {-# INLINE (.-^) #-}"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 424 1 424 40)+ " #define ADDITIVE(T) ADDITIVEC((), T)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 434 1 434 22)+ " ADDITIVE(((->) a))"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 436 1 436 16)+ " ADDITIVE([])"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 438 1 438 21)+ " ADDITIVE(Complex)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 440 1 440 19)+ " ADDITIVE(Maybe)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 442 1 442 21)+ " ADDITIVE(ZipList)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 444 1 444 22)+ " ADDITIVE(Identity)"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 447 1 447 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 448 1 448 5) " 8"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 449 1 449 5) "--"+ ]+ )
+ tests/examples/DerivingVia.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingVia.hs.prettyprinter.golden view
@@ -0,0 +1,418 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where+import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))+import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx . f xx -> g xx++data Foo a = MkFoo a a+ deriving Show via (Identity (Foo a))++newtype Flip p a b = Flip{runFlip :: p b a}++instance Bifunctor p => Bifunctor (Flip p) where+ bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+ fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+ deriving Functor via (Flip Either Int)++type MTrans = (Type -> Type) -> (Type -> Type)++data Dict c where+ Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\++(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++class LiftingMonad (trans :: MTrans) where+ proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+ proof :: Monad m :- Monad (StateT s m)+ proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+ proof :: Monad m :- Monad (WriterT w m)+ proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') =>+ LiftingMonad (ComposeT trans trans' :: MTrans)+ where+ proof :: forall m . Monad m :- Monad (ComposeT trans trans' m)+ proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+ Stack ::+ ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+ deriving newtype (Functor, Applicative, Monad, MonadReader Int,+ MonadState Bool, MonadWriter String)+ deriving (MonadTrans, MFunctor) via (ReaderT Int `ComposeT`+ StateT Bool `ComposeT` WriterT String)++class MFunctor (trans :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+ hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+ hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+ hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`++newtype ComposeT :: MTrans -> MTrans -> MTrans where+ ComposeT :: {getComposeT :: f (g m) a} -> ComposeT f g m a+ deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) =>+ MonadTrans (ComposeT f g)+ where+ lift :: forall m . Monad m => m ~> ComposeT f g m+ lift = ComposeT . lift . lift \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) =>+ MFunctor (ComposeT f g)+ where+ hoist ::+ forall m m' . Monad m =>+ (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+ hoist f = ComposeT . hoist (hoist f) . getComposeT \\ proof @g @m++newtype X a = X (a, a)+ deriving (Semigroup, Monoid) via (Product a, Sum a)+ deriving (Show, Eq) via (a, a)++class C f where+ c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+ c = const 0++deriving via (X2 IO) instance C IO++newtype P0 a = P0 a+ deriving Show via a++newtype P1 a = P1 [a]+ deriving Show via [a]++newtype P2 a = P2 (a, a)+ deriving Show via (a, a)++newtype P3 a = P3 (Maybe a)+ deriving Show via (First a)++newtype P4 a = P4 (Maybe a)+ deriving Show via (First $ a)++newtype P5 a = P5 a+ deriving Show via (Identity $ a)++newtype P6 a = P6 [a]+ deriving Show via ([] $ a)++newtype P7 a = P7 (a, a)+ deriving Show via (Identity $ (a, a))++newtype P8 a = P8 (Either () a)+ deriving Functor via (($) (Either ()))++newtype f $ a = APP (f a)+ deriving newtype Show+ deriving newtype Functor++newtype WrapApplicative f a = WrappedApplicative (f a)+ deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+ (+) = liftA2 (+)+ (*) = liftA2 (*)+ negate = fmap negate+ fromInteger = pure . fromInteger+ abs = fmap abs+ signum = fmap signum++instance (Applicative f, Fractional a) =>+ Fractional (WrapApplicative f a)+ where+ recip = fmap recip+ fromRational = pure . fromRational++instance (Applicative f, Floating a) =>+ Floating (WrapApplicative f a)+ where+ pi = pure pi+ sqrt = fmap sqrt+ exp = fmap exp+ log = fmap log+ sin = fmap sin+ cos = fmap cos+ asin = fmap asin+ atan = fmap atan+ acos = fmap acos+ sinh = fmap sinh+ cosh = fmap cosh+ asinh = fmap asinh+ atanh = fmap atanh+ acosh = fmap acosh++instance (Applicative f, Semigroup s) =>+ Semigroup (WrapApplicative f s)+ where+ (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m)+ where+ mempty = pure mempty++class Pointed p where+ pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+ deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+ fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+ pure = pointed+ (<*>) = ap++data Sorted a = Sorted a a a+ deriving (Functor, Applicative) via (WrapMonad Sorted)+ deriving (Num, Fractional, Floating, Semigroup,+ Monoid) via (WrapApplicative Sorted a)++instance Monad Sorted where+ (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+ Sorted a b c >>= f = Sorted a' b' c'+ where Sorted a' _ _ = f a+ Sorted _ b' _ = f b+ Sorted _ _ c' = f c++instance Pointed Sorted where+ pointed :: a -> Sorted a+ pointed a = Sorted a a a++class IsZero a where+ isZero :: a -> Bool++newtype WrappedNumEq a = WrappedNumEq a++newtype WrappedShow a = WrappedShow a++newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+ isZero :: WrappedNumEq a -> Bool+ isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+ isZero :: WrappedShow a -> Bool+ isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+ isZero :: WrappedNumEq2 a -> Bool+ isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+ deriving newtype Show+ deriving IsZero via (WrappedNumEq Int)++newtype VOID = VOID Void+ deriving IsZero via (WrappedShow Void)++class Bifunctor p => Biapplicative p where+ bipure :: a -> b -> p a b+ + biliftA2 ::+ (a -> b -> c) -> (a' -> b' -> c') -> p a a' -> p b b' -> p c c'++instance Biapplicative (,) where+ bipure = (,)+ biliftA2 f f' (a, a') (b, b') = (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+ deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b)+ where+ (+) = biliftA2 (+) (+)+ (-) = biliftA2 (*) (*)+ (*) = biliftA2 (*) (*)+ negate = bimap negate negate+ abs = bimap abs abs+ signum = bimap signum signum+ fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+ deriving IsZero via (WrappedNumEq2 (WrapBiapp (,) Int Int))++class Monoid a => MonoidNull a where+ null :: a -> Bool++newtype WrpMonNull a = WRM a+ deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+ null :: WrpMonNull a -> Bool+ null = (== mempty)++deriving via (WrpMonNull Any) instance MonoidNull Any++deriving via () instance MonoidNull ()++deriving via Ordering instance MonoidNull Ordering++class Lattice a where+ sup :: a -> a -> a+ + (.>=) :: a -> a -> Bool+ + (.>) :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+ deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+ sup = max+ (.>=) = (>=)+ (.>) = (>)++deriving via [a] instance Ord a => Lattice [a]++deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)++deriving via Bool instance Lattice Bool++deriving via Char instance Lattice Char++deriving via Int instance Lattice Int++deriving via Integer instance Lattice Integer++deriving via Float instance Lattice Float++deriving via Double instance Lattice Double++deriving via Rational instance Lattice Rational++class Functor f => Additive f where+ zero :: Num a => f a+ + (^+^) :: Num a => f a -> f a -> f a+ (^+^) = liftU2 (+)+ + (^-^) :: Num a => f a -> f a -> f a+ x ^-^ y = x ^+^ fmap negate y+ + liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+ zero = []+ liftU2 f = go+ where go (x : xs) (y : ys) = f x y : go xs ys+ go [] ys = ys+ go xs [] = xs++instance Additive Maybe where+ zero = Nothing+ liftU2 f (Just a) (Just b) = Just (f a b)+ liftU2 _ Nothing ys = ys+ liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+ zero = pure 0+ liftU2 = liftA2++deriving via (WrapApplicative ((->) a)) instance Additive ((->) a)++deriving via (WrapApplicative Complex) instance Additive Complex++deriving via (WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+ zero = ZipList []+ liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+ type Diff p :: Type -> Type+ + (.-.) :: Num a => p a -> p a -> Diff p a+ + (.+^) :: Num a => p a -> Diff p a -> p a+ + (.-^) :: Num a => p a -> Diff p a -> p a+ p .-^ v = p .+^ fmap negate v++newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+ type Diff (WrapAdditive f) = f+ WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+ WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+ WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++deriving via (WrapAdditive ((->) a)) instance Affine ((->) a)++deriving via (WrapAdditive []) instance Affine []++deriving via (WrapAdditive Complex) instance Affine Complex++deriving via (WrapAdditive Maybe) instance Affine Maybe++deriving via (WrapAdditive ZipList) instance Affine ZipList++deriving via (WrapAdditive Identity) instance Affine Identity++class C2 a b c where+ c2 :: a -> b -> c++instance C2 a b (Const a b) where+ c2 x _ = Const x++newtype Fweemp a = Fweemp a+ deriving (C2 a b) via (Const a (b :: Type))
+ tests/examples/DerivingVia2.hs view
@@ -0,0 +1,41 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where++import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+ deriving newtype+ (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+ (<>) = liftA2 (<>)++deriving via (App (Compose (f :: * -> *) g) a)+ instance (Applicative f, Applicative g, Semigroup a)+ => Semigroup (Compose f g a)++class C (a :: k -> *)+instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)+deriving via (Proxy :: * -> *) instance C MyProxy++class Z a b+data T a+data X1 a+data X2 a+data X3 a++deriving via (forall a. T a) instance Z a (X1 b)+deriving via (T a) instance forall b. Z a (X2 b)+deriving via (forall a. T a) instance forall b. Z a (X3 b)
+ tests/examples/DerivingVia2.hs.exactprinter.golden view
@@ -0,0 +1,42 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where++import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+ deriving newtype+ (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+ (<>) = liftA2 (<>)++deriving via( App (Compose (f :: * -> *) g) a)+ instance (Applicative f, Applicative g, Semigroup a)+ => Semigroup (Compose f g a)++class C (a :: k -> *)+instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)+deriving via( Proxy :: * -> *) instance C MyProxy++class Z a b+data T a+data X1 a+data X2 a+data X3 a++deriving via( forall a. T a) instance Z a (X1 b)+deriving via( T a) instance forall b. Z a (X2 b)+deriving via( forall a. T a) instance forall b. Z a (X3 b)+
+ tests/examples/DerivingVia2.hs.parser.golden view
@@ -0,0 +1,2346 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 1 42 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 1 16 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 1 20 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 42 1 42 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 42 1 42 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 7+ , SrcSpan "tests/examples/DerivingVia2.hs" 9 21 9 26+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 9 8 9 20+ , srcInfoPoints = []+ }+ "DerivingVia2")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "DerivingStrategies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 2 26 2 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 2 14 2 25+ , srcInfoPoints = []+ }+ "DerivingVia"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 3 32 3 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 3 14 3 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 4 41 4 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 4 14 4 40+ , srcInfoPoints = []+ }+ "GeneralizedNewtypeDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 5 36 5 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 5 14 5 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 6 24 6 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 6 14 6 23+ , srcInfoPoints = []+ }+ "PolyKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 7 25 7 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 7 14 7 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 8 33 8 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 8 14 8 32+ , srcInfoPoints = []+ }+ "StandaloneDeriving"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 11 8 11 27+ , srcInfoPoints = []+ }+ "Control.Applicative"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 12 8 12 28+ , srcInfoPoints = []+ }+ "Data.Functor.Compose"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 13 8 13 18+ , srcInfoPoints = []+ }+ "Data.Proxy"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 14 8 14 22+ , srcInfoPoints = []+ }+ "Data.Semigroup"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 1 18 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 29 16 30 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 1 16 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 28+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 26+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 12+ , srcInfoPoints = []+ }+ "App"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 13 16 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 13 16 14+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 16 16 18+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 25 16 26+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ "f")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 19 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 21 16 23 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 19 16 20+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 24 16 25+ , srcInfoPoints = []+ }))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 27 16 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 27 16 28+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 34+ , srcInfoPoints = []+ }+ "App")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 35 16 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 35 16 36+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 39 16 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 39+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 37+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 38 16 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 38 16 39+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 17 3 18 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 17 3 17 11+ , SrcSpan "tests/examples/DerivingVia2.hs" 18 5 18 6+ , SrcSpan "tests/examples/DerivingVia2.hs" 18 13 18 14+ , SrcSpan "tests/examples/DerivingVia2.hs" 18 26 18 27+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 17 12 17 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ "Applicative")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 20 1 23 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 20 1 20 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 62 20 67+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 3+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 61+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 11+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 24 20 25+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 37 20 38+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 39 20 41+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 52 20 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 20 52 20 53+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 60 20 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 60+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+ , srcInfoPoints = []+ }+ "App")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 57 20 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 57 20 58+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 59 20 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 59 20 60+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 4+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 4 21 6+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 6 21 7+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 4 21 6+ , srcInfoPoints = []+ }+ "<>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 8 21 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 8 21 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 18+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 20 21 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 18+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 20 21 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+ , srcInfoPoints = []+ }+ "<>")))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 23 1 25 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 10 24 18+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 10 23 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 14 23 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 14 23 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 46 23 47+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 46+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 44+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ "App")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 19 23 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 19 23 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 43 23 44+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 20 23 27+ , srcInfoPoints = []+ }+ "Compose")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 28 23 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 28 23 29+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 31 23 33+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 40 23 41+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 29 23 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 29 23 30+ , srcInfoPoints = []+ }+ "f"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 34 23 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 36 23 38+ ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 34 23 35+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 39 23 40+ , srcInfoPoints = []+ }))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 42 23 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 42 23 43+ , srcInfoPoints = []+ }+ "g")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 45 23 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 45 23 46+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 19 25 44+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 19 25 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 24 19 24 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 33 24 34+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 48 24 49+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 61 24 62+ , SrcSpan "tests/examples/DerivingVia2.hs" 25 16 25 18+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48+ , srcInfoPoints = []+ }+ "g")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 44+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 29 25 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 25 29 25 30+ , SrcSpan "tests/examples/DerivingVia2.hs" 25 43 25 44+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+ , srcInfoPoints = []+ }+ "Compose")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 38 25 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 38 25 39+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 40 25 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 40 25 41+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 42 25 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 42 25 43+ , srcInfoPoints = []+ }+ "a"))))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 8+ , srcInfoPoints = []+ }+ "C"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 9 27 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 27 9 27 10+ , SrcSpan "tests/examples/DerivingVia2.hs" 27 12 27 14+ , SrcSpan "tests/examples/DerivingVia2.hs" 27 21 27 22+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 10 27 11+ , srcInfoPoints = []+ }+ "a")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 27 17 27 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 16+ , srcInfoPoints = []+ }+ "k"))+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 20 27 21+ , srcInfoPoints = []+ }))))+ []+ Nothing+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 9 ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 17+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+ , srcInfoPoints = []+ }+ "C")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+ , srcInfoPoints = []+ }+ "Proxy")))))+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 30 19 30 20 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 16+ , srcInfoPoints = []+ }+ "MyProxy"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 17 30 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 17 30 18+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 38+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 28+ , srcInfoPoints = []+ }+ "MyProxy")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 29 30 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 30 29 30 30+ , SrcSpan "tests/examples/DerivingVia2.hs" 30 37 30 38+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 36 30 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 36 30 37+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 32 31 40+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 10 31 13+ , srcInfoPoints = []+ }+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 14 31 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 31 14 31 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 21 31 23+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 30 31 31+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 24 31 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 31 26 31 28 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 24 31 25+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 29 31 30+ , srcInfoPoints = []+ })))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 50+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 50+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+ , srcInfoPoints = []+ }+ "C")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+ , srcInfoPoints = []+ }+ "MyProxy")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 12+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 8+ , srcInfoPoints = []+ }+ "Z"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 9 33 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 9 33 10+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 33 11 33 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 33 11 33 12+ , srcInfoPoints = []+ }+ "b")))+ []+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 9+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 7+ , srcInfoPoints = []+ }+ "T"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 8 34 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 8 34 9+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 8+ , srcInfoPoints = []+ }+ "X1"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 9 35 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 9 35 10+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 8+ , srcInfoPoints = []+ }+ "X2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 9 36 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 9 36 10+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 8+ , srcInfoPoints = []+ }+ "X3"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 9 37 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 9 37 10+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 30 39 38+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 10 39 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 14 39 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 14 39 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 28 39 29+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 15 39 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 15 39 21+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 23 39 24+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 22 39 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 22 39 23+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ "T")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ "a")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 59+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 59+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 52+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+ , srcInfoPoints = []+ }+ "Z")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 51 39 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 51 39 52+ , srcInfoPoints = []+ }+ "a")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 53 39 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 53 39 54+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 58 39 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+ , srcInfoPoints = []+ }+ "X1")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 57 39 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 57 39 58+ , srcInfoPoints = []+ }+ "b"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 30 40 38+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 10 40 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 24 40 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 24 40 25+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 28 40 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+ , srcInfoPoints = []+ }+ "T")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 27 40 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 27 40 28+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 39 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 39 40 45+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 47 40 48+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 46 40 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 46 40 47+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 59+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 52+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+ , srcInfoPoints = []+ }+ "Z")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 51 40 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 51 40 52+ , srcInfoPoints = []+ }+ "a")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 53 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 53 40 54+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 58 40 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+ , srcInfoPoints = []+ }+ "X2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 57 40 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 57 40 58+ , srcInfoPoints = []+ }+ "b"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 30 41 38+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 10 41 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 14 41 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 14 41 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 28 41 29+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 15 41 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 15 41 21+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 23 41 24+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 22 41 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 22 41 23+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+ , srcInfoPoints = []+ }+ "T")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 27 41 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 27 41 28+ , srcInfoPoints = []+ }+ "a")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 39 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 39 41 45+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 47 41 48+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 46 41 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 46 41 47+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 59+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 52+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+ , srcInfoPoints = []+ }+ "Z")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 51 41 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 51 41 52+ , srcInfoPoints = []+ }+ "a")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 53 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 53 41 54+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 58 41 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+ , srcInfoPoints = []+ }+ "X3")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 57 41 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 57 41 58+ , srcInfoPoints = []+ }+ "b"))))))+ ]+ , []+ )
+ tests/examples/DerivingVia2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingVia2.hs.prettyprinter.golden view
@@ -0,0 +1,47 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where+import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+ deriving newtype (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+ (<>) = liftA2 (<>)++deriving via (App (Compose (f :: * -> *) g) a) instance+ (Applicative f, Applicative g, Semigroup a) =>+ Semigroup (Compose f g a)++class C (a :: k -> *)++instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)++deriving via (Proxy :: * -> *) instance C MyProxy++class Z a b++data T a++data X1 a++data X2 a++data X3 a++deriving via (forall a . T a) instance Z a (X1 b)++deriving via (T a) instance forall b . Z a (X2 b)++deriving via (forall a . T a) instance forall b . Z a (X3 b)
+ tests/examples/DerivingViaStealing.hs view
@@ -0,0 +1,5 @@+module DerivingViaStealing where++via = ()+stock = ()+anyclass = ()
+ tests/examples/DerivingViaStealing.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingViaStealing.hs.parser.golden view
@@ -0,0 +1,201 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 6 1 6 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 6 1 6 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 7+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 1 28 1 33+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 8 1 27+ , srcInfoPoints = []+ }+ "DerivingViaStealing")+ Nothing+ Nothing))+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 9+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "via"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 5 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 5 3 6 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+ ]+ }))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 6+ , srcInfoPoints = []+ }+ "stock"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 7 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 7 4 8 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+ ]+ }))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 9+ , srcInfoPoints = []+ }+ "anyclass"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 10 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 10 5 11 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+ ]+ }))))+ Nothing+ ]+ , []+ )
+ tests/examples/DerivingViaStealing.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingViaStealing.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+module DerivingViaStealing where+via = ()+stock = ()+anyclass = ()
tests/examples/Directory.hs.parser.golden view
@@ -1,1 +1,29264 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 914, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 72, srcSpanStartColumn = 1, srcSpanEndLine = 72, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 73, srcSpanStartColumn = 1, srcSpanEndLine = 73, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 75, srcSpanStartColumn = 1, srcSpanEndLine = 75, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 76, srcSpanStartColumn = 1, srcSpanEndLine = 76, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 77, srcSpanStartColumn = 1, srcSpanEndLine = 77, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 78, srcSpanStartColumn = 1, srcSpanEndLine = 78, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 1, srcSpanEndLine = 79, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 1, srcSpanEndLine = 80, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 81, srcSpanStartColumn = 1, srcSpanEndLine = 81, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 83, srcSpanStartColumn = 1, srcSpanEndLine = 83, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 84, srcSpanStartColumn = 1, srcSpanEndLine = 84, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 1, srcSpanEndLine = 88, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 1, srcSpanEndLine = 90, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 92, srcSpanStartColumn = 1, srcSpanEndLine = 92, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 93, srcSpanStartColumn = 1, srcSpanEndLine = 93, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 94, srcSpanStartColumn = 1, srcSpanEndLine = 94, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 134, srcSpanStartColumn = 1, srcSpanEndLine = 134, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 1, srcSpanEndLine = 152, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 153, srcSpanStartColumn = 1, srcSpanEndLine = 153, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 1, srcSpanEndLine = 189, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 1, srcSpanEndLine = 190, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 205, srcSpanStartColumn = 1, srcSpanEndLine = 205, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 1, srcSpanEndLine = 208, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 1, srcSpanEndLine = 209, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 1, srcSpanEndLine = 257, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 258, srcSpanStartColumn = 1, srcSpanEndLine = 258, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 264, srcSpanStartColumn = 1, srcSpanEndLine = 264, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 267, srcSpanStartColumn = 1, srcSpanEndLine = 267, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 1, srcSpanEndLine = 343, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 344, srcSpanStartColumn = 1, srcSpanEndLine = 344, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 1, srcSpanEndLine = 350, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 351, srcSpanStartColumn = 1, srcSpanEndLine = 351, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 1, srcSpanEndLine = 399, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 400, srcSpanStartColumn = 1, srcSpanEndLine = 400, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 1, srcSpanEndLine = 452, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 1, srcSpanEndLine = 453, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 1, srcSpanEndLine = 509, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 1, srcSpanEndLine = 510, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 1, srcSpanEndLine = 528, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 529, srcSpanStartColumn = 1, srcSpanEndLine = 529, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 1, srcSpanEndLine = 560, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 561, srcSpanStartColumn = 1, srcSpanEndLine = 561, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 1, srcSpanEndLine = 568, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 569, srcSpanStartColumn = 1, srcSpanEndLine = 569, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 1, srcSpanEndLine = 591, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 592, srcSpanStartColumn = 1, srcSpanEndLine = 592, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 1, srcSpanEndLine = 627, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 628, srcSpanStartColumn = 1, srcSpanEndLine = 628, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 1, srcSpanEndLine = 672, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 673, srcSpanStartColumn = 1, srcSpanEndLine = 673, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 1, srcSpanEndLine = 708, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 709, srcSpanStartColumn = 1, srcSpanEndLine = 709, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 1, srcSpanEndLine = 716, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 717, srcSpanStartColumn = 1, srcSpanEndLine = 717, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 1, srcSpanEndLine = 725, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 726, srcSpanStartColumn = 1, srcSpanEndLine = 726, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 1, srcSpanEndLine = 742, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 743, srcSpanStartColumn = 1, srcSpanEndLine = 743, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 1, srcSpanEndLine = 749, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 1, srcSpanEndLine = 750, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 1, srcSpanEndLine = 756, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 1, srcSpanEndLine = 757, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 1, srcSpanEndLine = 763, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 764, srcSpanStartColumn = 1, srcSpanEndLine = 764, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 1, srcSpanEndLine = 769, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 770, srcSpanStartColumn = 1, srcSpanEndLine = 770, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 1, srcSpanEndLine = 774, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 1, srcSpanEndLine = 775, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 1, srcSpanEndLine = 778, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 1, srcSpanEndLine = 779, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 1, srcSpanEndLine = 780, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 1, srcSpanEndLine = 781, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 784, srcSpanStartColumn = 1, srcSpanEndLine = 784, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 1, srcSpanEndLine = 808, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 809, srcSpanStartColumn = 1, srcSpanEndLine = 809, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 1, srcSpanEndLine = 847, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 848, srcSpanStartColumn = 1, srcSpanEndLine = 848, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 1, srcSpanEndLine = 874, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 875, srcSpanStartColumn = 1, srcSpanEndLine = 875, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 1, srcSpanEndLine = 905, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 906, srcSpanStartColumn = 1, srcSpanEndLine = 906, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 912, srcSpanStartColumn = 1, srcSpanEndLine = 912, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 913, srcSpanStartColumn = 1, srcSpanEndLine = 913, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 914, srcSpanStartColumn = 1, srcSpanEndLine = 914, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 914, srcSpanStartColumn = 1, srcSpanEndLine = 914, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 70, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 70, srcSpanStartColumn = 6, srcSpanEndLine = 70, srcSpanEndColumn = 11}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 17, srcSpanStartColumn = 8, srcSpanEndLine = 17, srcSpanEndColumn = 24}, srcInfoPoints = []}) "System.Directory") Nothing (Just (ExportSpecList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 18, srcSpanStartColumn = 4, srcSpanEndLine = 70, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 18, srcSpanStartColumn = 4, srcSpanEndLine = 18, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 23, srcSpanStartColumn = 5, srcSpanEndLine = 23, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 24, srcSpanStartColumn = 5, srcSpanEndLine = 24, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 25, srcSpanStartColumn = 5, srcSpanEndLine = 25, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 26, srcSpanStartColumn = 5, srcSpanEndLine = 26, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 28, srcSpanStartColumn = 5, srcSpanEndLine = 28, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 29, srcSpanStartColumn = 5, srcSpanEndLine = 29, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 30, srcSpanStartColumn = 5, srcSpanEndLine = 30, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 33, srcSpanStartColumn = 5, srcSpanEndLine = 33, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 34, srcSpanStartColumn = 5, srcSpanEndLine = 34, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 35, srcSpanStartColumn = 5, srcSpanEndLine = 35, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 36, srcSpanStartColumn = 5, srcSpanEndLine = 36, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 39, srcSpanStartColumn = 5, srcSpanEndLine = 39, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 40, srcSpanStartColumn = 5, srcSpanEndLine = 40, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 41, srcSpanStartColumn = 5, srcSpanEndLine = 41, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 43, srcSpanStartColumn = 5, srcSpanEndLine = 43, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 44, srcSpanStartColumn = 5, srcSpanEndLine = 44, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 45, srcSpanStartColumn = 5, srcSpanEndLine = 45, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 48, srcSpanStartColumn = 5, srcSpanEndLine = 48, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 49, srcSpanStartColumn = 5, srcSpanEndLine = 49, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 55, srcSpanStartColumn = 5, srcSpanEndLine = 55, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 63, srcSpanStartColumn = 5, srcSpanEndLine = 63, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 64, srcSpanStartColumn = 5, srcSpanEndLine = 64, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 65, srcSpanStartColumn = 5, srcSpanEndLine = 65, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 69, srcSpanStartColumn = 5, srcSpanEndLine = 69, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 70, srcSpanStartColumn = 4, srcSpanEndLine = 70, srcSpanEndColumn = 5}]}) [EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 22, srcSpanStartColumn = 7, srcSpanEndLine = 22, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 22, srcSpanStartColumn = 7, srcSpanEndLine = 22, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 22, srcSpanStartColumn = 7, srcSpanEndLine = 22, srcSpanEndColumn = 22}, srcInfoPoints = []}) "createDirectory")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 23, srcSpanStartColumn = 7, srcSpanEndLine = 23, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 23, srcSpanStartColumn = 7, srcSpanEndLine = 23, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 23, srcSpanStartColumn = 7, srcSpanEndLine = 23, srcSpanEndColumn = 31}, srcInfoPoints = []}) "createDirectoryIfMissing")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 24, srcSpanStartColumn = 7, srcSpanEndLine = 24, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 24, srcSpanStartColumn = 7, srcSpanEndLine = 24, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 24, srcSpanStartColumn = 7, srcSpanEndLine = 24, srcSpanEndColumn = 22}, srcInfoPoints = []}) "removeDirectory")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 25, srcSpanStartColumn = 7, srcSpanEndLine = 25, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 25, srcSpanStartColumn = 7, srcSpanEndLine = 25, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 25, srcSpanStartColumn = 7, srcSpanEndLine = 25, srcSpanEndColumn = 31}, srcInfoPoints = []}) "removeDirectoryRecursive")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 26, srcSpanStartColumn = 7, srcSpanEndLine = 26, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 26, srcSpanStartColumn = 7, srcSpanEndLine = 26, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 26, srcSpanStartColumn = 7, srcSpanEndLine = 26, srcSpanEndColumn = 22}, srcInfoPoints = []}) "renameDirectory")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 28, srcSpanStartColumn = 7, srcSpanEndLine = 28, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 28, srcSpanStartColumn = 7, srcSpanEndLine = 28, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 28, srcSpanStartColumn = 7, srcSpanEndLine = 28, srcSpanEndColumn = 27}, srcInfoPoints = []}) "getDirectoryContents")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 29, srcSpanStartColumn = 7, srcSpanEndLine = 29, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 29, srcSpanStartColumn = 7, srcSpanEndLine = 29, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 29, srcSpanStartColumn = 7, srcSpanEndLine = 29, srcSpanEndColumn = 26}, srcInfoPoints = []}) "getCurrentDirectory")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 30, srcSpanStartColumn = 7, srcSpanEndLine = 30, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 30, srcSpanStartColumn = 7, srcSpanEndLine = 30, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 30, srcSpanStartColumn = 7, srcSpanEndLine = 30, srcSpanEndColumn = 26}, srcInfoPoints = []}) "setCurrentDirectory")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 33, srcSpanStartColumn = 7, srcSpanEndLine = 33, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 33, srcSpanStartColumn = 7, srcSpanEndLine = 33, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 33, srcSpanStartColumn = 7, srcSpanEndLine = 33, srcSpanEndColumn = 23}, srcInfoPoints = []}) "getHomeDirectory")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 34, srcSpanStartColumn = 7, srcSpanEndLine = 34, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 34, srcSpanStartColumn = 7, srcSpanEndLine = 34, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 34, srcSpanStartColumn = 7, srcSpanEndLine = 34, srcSpanEndColumn = 30}, srcInfoPoints = []}) "getAppUserDataDirectory")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 35, srcSpanStartColumn = 7, srcSpanEndLine = 35, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 35, srcSpanStartColumn = 7, srcSpanEndLine = 35, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 35, srcSpanStartColumn = 7, srcSpanEndLine = 35, srcSpanEndColumn = 32}, srcInfoPoints = []}) "getUserDocumentsDirectory")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 36, srcSpanStartColumn = 7, srcSpanEndLine = 36, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 36, srcSpanStartColumn = 7, srcSpanEndLine = 36, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 36, srcSpanStartColumn = 7, srcSpanEndLine = 36, srcSpanEndColumn = 28}, srcInfoPoints = []}) "getTemporaryDirectory")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 39, srcSpanStartColumn = 7, srcSpanEndLine = 39, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 39, srcSpanStartColumn = 7, srcSpanEndLine = 39, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 39, srcSpanStartColumn = 7, srcSpanEndLine = 39, srcSpanEndColumn = 17}, srcInfoPoints = []}) "removeFile")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 40, srcSpanStartColumn = 7, srcSpanEndLine = 40, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 40, srcSpanStartColumn = 7, srcSpanEndLine = 40, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 40, srcSpanStartColumn = 7, srcSpanEndLine = 40, srcSpanEndColumn = 17}, srcInfoPoints = []}) "renameFile")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 41, srcSpanStartColumn = 7, srcSpanEndLine = 41, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 41, srcSpanStartColumn = 7, srcSpanEndLine = 41, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 41, srcSpanStartColumn = 7, srcSpanEndLine = 41, srcSpanEndColumn = 15}, srcInfoPoints = []}) "copyFile")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 43, srcSpanStartColumn = 7, srcSpanEndLine = 43, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 43, srcSpanStartColumn = 7, srcSpanEndLine = 43, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 43, srcSpanStartColumn = 7, srcSpanEndLine = 43, srcSpanEndColumn = 23}, srcInfoPoints = []}) "canonicalizePath")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 44, srcSpanStartColumn = 7, srcSpanEndLine = 44, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 44, srcSpanStartColumn = 7, srcSpanEndLine = 44, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 44, srcSpanStartColumn = 7, srcSpanEndLine = 44, srcSpanEndColumn = 37}, srcInfoPoints = []}) "makeRelativeToCurrentDirectory")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 45, srcSpanStartColumn = 7, srcSpanEndLine = 45, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 45, srcSpanStartColumn = 7, srcSpanEndLine = 45, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 45, srcSpanStartColumn = 7, srcSpanEndLine = 45, srcSpanEndColumn = 21}, srcInfoPoints = []}) "findExecutable")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 48, srcSpanStartColumn = 7, srcSpanEndLine = 48, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 48, srcSpanStartColumn = 7, srcSpanEndLine = 48, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 48, srcSpanStartColumn = 7, srcSpanEndLine = 48, srcSpanEndColumn = 20}, srcInfoPoints = []}) "doesFileExist")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 49, srcSpanStartColumn = 7, srcSpanEndLine = 49, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 49, srcSpanStartColumn = 7, srcSpanEndLine = 49, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 49, srcSpanStartColumn = 7, srcSpanEndLine = 49, srcSpanEndColumn = 25}, srcInfoPoints = []}) "doesDirectoryExist")),EThingWith (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 55, srcSpanStartColumn = 7, srcSpanEndLine = 61, srcSpanEndColumn = 8}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 55, srcSpanStartColumn = 18, srcSpanEndLine = 55, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 56, srcSpanStartColumn = 16, srcSpanEndLine = 56, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 57, srcSpanStartColumn = 13, srcSpanEndLine = 57, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 58, srcSpanStartColumn = 13, srcSpanEndLine = 58, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 59, srcSpanStartColumn = 15, srcSpanEndLine = 59, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 61, srcSpanStartColumn = 7, srcSpanEndLine = 61, srcSpanEndColumn = 8}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 55, srcSpanStartColumn = 7, srcSpanEndLine = 55, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 55, srcSpanStartColumn = 7, srcSpanEndLine = 55, srcSpanEndColumn = 18}, srcInfoPoints = []}) "Permissions")) [ConName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 56, srcSpanStartColumn = 5, srcSpanEndLine = 56, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 56, srcSpanStartColumn = 5, srcSpanEndLine = 56, srcSpanEndColumn = 16}, srcInfoPoints = []}) "Permissions"),VarName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 57, srcSpanStartColumn = 5, srcSpanEndLine = 57, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 57, srcSpanStartColumn = 5, srcSpanEndLine = 57, srcSpanEndColumn = 13}, srcInfoPoints = []}) "readable"),VarName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 58, srcSpanStartColumn = 5, srcSpanEndLine = 58, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 58, srcSpanStartColumn = 5, srcSpanEndLine = 58, srcSpanEndColumn = 13}, srcInfoPoints = []}) "writable"),VarName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 59, srcSpanStartColumn = 5, srcSpanEndLine = 59, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 59, srcSpanStartColumn = 5, srcSpanEndLine = 59, srcSpanEndColumn = 15}, srcInfoPoints = []}) "executable"),VarName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 60, srcSpanStartColumn = 5, srcSpanEndLine = 60, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 60, srcSpanStartColumn = 5, srcSpanEndLine = 60, srcSpanEndColumn = 15}, srcInfoPoints = []}) "searchable")],EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 63, srcSpanStartColumn = 7, srcSpanEndLine = 63, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 63, srcSpanStartColumn = 7, srcSpanEndLine = 63, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 63, srcSpanStartColumn = 7, srcSpanEndLine = 63, srcSpanEndColumn = 21}, srcInfoPoints = []}) "getPermissions")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 64, srcSpanStartColumn = 7, srcSpanEndLine = 64, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 64, srcSpanStartColumn = 7, srcSpanEndLine = 64, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 64, srcSpanStartColumn = 7, srcSpanEndLine = 64, srcSpanEndColumn = 21}, srcInfoPoints = []}) "setPermissions")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 65, srcSpanStartColumn = 7, srcSpanEndLine = 65, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 65, srcSpanStartColumn = 7, srcSpanEndLine = 65, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 65, srcSpanStartColumn = 7, srcSpanEndLine = 65, srcSpanEndColumn = 22}, srcInfoPoints = []}) "copyPermissions")),EVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 69, srcSpanStartColumn = 7, srcSpanEndLine = 69, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 69, srcSpanStartColumn = 7, srcSpanEndLine = 69, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 69, srcSpanStartColumn = 7, srcSpanEndLine = 69, srcSpanEndColumn = 26}, srcInfoPoints = []}) "getModificationTime"))])))) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 1, srcSpanStartColumn = 38, srcSpanEndLine = 1, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 1, srcSpanStartColumn = 65, srcSpanEndLine = 1, srcSpanEndColumn = 68}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 38}, srcInfoPoints = []}) "ForeignFunctionInterface",Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 1, srcSpanStartColumn = 40, srcSpanEndLine = 1, srcSpanEndColumn = 64}, srcInfoPoints = []}) "NondecreasingIndentation"]] [ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 72, srcSpanStartColumn = 1, srcSpanEndLine = 72, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 72, srcSpanStartColumn = 1, srcSpanEndLine = 72, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 72, srcSpanStartColumn = 8, srcSpanEndLine = 72, srcSpanEndColumn = 15}, srcInfoPoints = []}) "Prelude", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 72, srcSpanStartColumn = 16, srcSpanEndLine = 72, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 72, srcSpanStartColumn = 16, srcSpanEndLine = 72, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 72, srcSpanStartColumn = 23, srcSpanEndLine = 72, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 72, srcSpanStartColumn = 31, srcSpanEndLine = 72, srcSpanEndColumn = 32}]}) True [IVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 72, srcSpanStartColumn = 25, srcSpanEndLine = 72, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 72, srcSpanStartColumn = 25, srcSpanEndLine = 72, srcSpanEndColumn = 30}, srcInfoPoints = []}) "catch")])},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 73, srcSpanStartColumn = 1, srcSpanEndLine = 73, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 73, srcSpanStartColumn = 1, srcSpanEndLine = 73, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 73, srcSpanStartColumn = 8, srcSpanEndLine = 73, srcSpanEndColumn = 17}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 73, srcSpanStartColumn = 18, srcSpanEndLine = 73, srcSpanEndColumn = 25}, srcInfoPoints = []}) "Prelude", importQualified = True, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 75, srcSpanStartColumn = 1, srcSpanEndLine = 75, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 75, srcSpanStartColumn = 1, srcSpanEndLine = 75, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 75, srcSpanStartColumn = 8, srcSpanEndLine = 75, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Control.Monad", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 75, srcSpanStartColumn = 22, srcSpanEndLine = 75, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 75, srcSpanStartColumn = 22, srcSpanEndLine = 75, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 75, srcSpanStartColumn = 28, srcSpanEndLine = 75, srcSpanEndColumn = 29}]}) False [IVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 75, srcSpanStartColumn = 23, srcSpanEndLine = 75, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 75, srcSpanStartColumn = 23, srcSpanEndLine = 75, srcSpanEndColumn = 28}, srcInfoPoints = []}) "guard")])},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 76, srcSpanStartColumn = 1, srcSpanEndLine = 76, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 76, srcSpanStartColumn = 1, srcSpanEndLine = 76, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 76, srcSpanStartColumn = 8, srcSpanEndLine = 76, srcSpanEndColumn = 26}, srcInfoPoints = []}) "System.Environment", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 76, srcSpanStartColumn = 32, srcSpanEndLine = 76, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 76, srcSpanStartColumn = 32, srcSpanEndLine = 76, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 76, srcSpanStartColumn = 41, srcSpanEndLine = 76, srcSpanEndColumn = 42}]}) False [IVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 76, srcSpanStartColumn = 34, srcSpanEndLine = 76, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 76, srcSpanStartColumn = 34, srcSpanEndLine = 76, srcSpanEndColumn = 40}, srcInfoPoints = []}) "getEnv")])},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 77, srcSpanStartColumn = 1, srcSpanEndLine = 77, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 77, srcSpanStartColumn = 1, srcSpanEndLine = 77, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 77, srcSpanStartColumn = 8, srcSpanEndLine = 77, srcSpanEndColumn = 23}, srcInfoPoints = []}) "System.FilePath", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 78, srcSpanStartColumn = 1, srcSpanEndLine = 78, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 78, srcSpanStartColumn = 1, srcSpanEndLine = 78, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 78, srcSpanStartColumn = 8, srcSpanEndLine = 78, srcSpanEndColumn = 17}, srcInfoPoints = []}) "System.IO", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 1, srcSpanEndLine = 79, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 1, srcSpanEndLine = 79, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 8, srcSpanEndLine = 79, srcSpanEndColumn = 23}, srcInfoPoints = []}) "System.IO.Error", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 24, srcSpanEndLine = 79, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 24, srcSpanEndLine = 79, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 31, srcSpanEndLine = 79, srcSpanEndColumn = 32},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 38, srcSpanEndLine = 79, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 44, srcSpanEndLine = 79, srcSpanEndColumn = 45}]}) True [IVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 33, srcSpanEndLine = 79, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 33, srcSpanEndLine = 79, srcSpanEndColumn = 38}, srcInfoPoints = []}) "catch"),IVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 40, srcSpanEndLine = 79, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 79, srcSpanStartColumn = 40, srcSpanEndLine = 79, srcSpanEndColumn = 43}, srcInfoPoints = []}) "try")])},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 1, srcSpanEndLine = 80, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 1, srcSpanEndLine = 80, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 8, srcSpanEndLine = 80, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Control.Monad", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 32, srcSpanEndLine = 80, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 32, srcSpanEndLine = 80, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 38, srcSpanEndLine = 80, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 47, srcSpanEndLine = 80, srcSpanEndColumn = 48}]}) False [IVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 34, srcSpanEndLine = 80, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 34, srcSpanEndLine = 80, srcSpanEndColumn = 38}, srcInfoPoints = []}) "when"),IVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 40, srcSpanEndLine = 80, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 80, srcSpanStartColumn = 40, srcSpanEndLine = 80, srcSpanEndColumn = 46}, srcInfoPoints = []}) "unless")])},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 81, srcSpanStartColumn = 1, srcSpanEndLine = 81, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 81, srcSpanStartColumn = 1, srcSpanEndLine = 81, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 81, srcSpanStartColumn = 8, srcSpanEndLine = 81, srcSpanEndColumn = 30}, srcInfoPoints = []}) "Control.Exception.Base", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 83, srcSpanStartColumn = 1, srcSpanEndLine = 83, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 83, srcSpanStartColumn = 1, srcSpanEndLine = 83, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 83, srcSpanStartColumn = 8, srcSpanEndLine = 83, srcSpanEndColumn = 15}, srcInfoPoints = []}) "Foreign", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 84, srcSpanStartColumn = 1, srcSpanEndLine = 84, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 84, srcSpanStartColumn = 1, srcSpanEndLine = 84, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 84, srcSpanStartColumn = 8, srcSpanEndLine = 84, srcSpanEndColumn = 17}, srcInfoPoints = []}) "Foreign.C", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 1, srcSpanEndLine = 88, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 1, srcSpanEndLine = 88, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 8, srcSpanEndLine = 88, srcSpanEndColumn = 19}, srcInfoPoints = []}) "System.Time", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 32, srcSpanEndLine = 88, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 32, srcSpanEndLine = 88, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 48, srcSpanEndLine = 88, srcSpanEndColumn = 49}]}) False [IThingAll (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 34, srcSpanEndLine = 88, srcSpanEndColumn = 47}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 43, srcSpanEndLine = 88, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 44, srcSpanEndLine = 88, srcSpanEndColumn = 46},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 46, srcSpanEndLine = 88, srcSpanEndColumn = 47}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 88, srcSpanStartColumn = 34, srcSpanEndLine = 88, srcSpanEndColumn = 43}, srcInfoPoints = []}) "ClockTime")])},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 1, srcSpanEndLine = 90, srcSpanEndColumn = 74}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 1, srcSpanEndLine = 90, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 8, srcSpanEndLine = 90, srcSpanEndColumn = 24}, srcInfoPoints = []}) "GHC.IO.Exception", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 25, srcSpanEndLine = 90, srcSpanEndColumn = 74}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 25, srcSpanEndLine = 90, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 42, srcSpanEndLine = 90, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 59, srcSpanEndLine = 90, srcSpanEndColumn = 60},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 73, srcSpanEndLine = 90, srcSpanEndColumn = 74}]}) False [IThingAll (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 27, srcSpanEndLine = 90, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 38, srcSpanEndLine = 90, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 39, srcSpanEndLine = 90, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 41, srcSpanEndLine = 90, srcSpanEndColumn = 42}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 27, srcSpanEndLine = 90, srcSpanEndColumn = 38}, srcInfoPoints = []}) "IOException"),IThingAll (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 44, srcSpanEndLine = 90, srcSpanEndColumn = 59}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 55, srcSpanEndLine = 90, srcSpanEndColumn = 56},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 56, srcSpanEndLine = 90, srcSpanEndColumn = 58},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 58, srcSpanEndLine = 90, srcSpanEndColumn = 59}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 44, srcSpanEndLine = 90, srcSpanEndColumn = 55}, srcInfoPoints = []}) "IOErrorType"),IVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 61, srcSpanEndLine = 90, srcSpanEndColumn = 72}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 90, srcSpanStartColumn = 61, srcSpanEndLine = 90, srcSpanEndColumn = 72}, srcInfoPoints = []}) "ioException")])},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 92, srcSpanStartColumn = 1, srcSpanEndLine = 92, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 92, srcSpanStartColumn = 1, srcSpanEndLine = 92, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 92, srcSpanStartColumn = 8, srcSpanEndLine = 92, srcSpanEndColumn = 26}, srcInfoPoints = []}) "System.Posix.Types", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 93, srcSpanStartColumn = 1, srcSpanEndLine = 93, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 93, srcSpanStartColumn = 1, srcSpanEndLine = 93, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 93, srcSpanStartColumn = 8, srcSpanEndLine = 93, srcSpanEndColumn = 30}, srcInfoPoints = []}) "System.Posix.Internals", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 94, srcSpanStartColumn = 1, srcSpanEndLine = 94, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 94, srcSpanStartColumn = 1, srcSpanEndLine = 94, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 94, srcSpanStartColumn = 8, srcSpanEndLine = 94, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 94, srcSpanStartColumn = 31, srcSpanEndLine = 94, srcSpanEndColumn = 33}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 94, srcSpanStartColumn = 18, srcSpanEndLine = 94, srcSpanEndColumn = 30}, srcInfoPoints = []}) "System.Win32", importQualified = True, importSrc = False, importPkg = Nothing, importAs = Just (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 94, srcSpanStartColumn = 34, srcSpanEndLine = 94, srcSpanEndColumn = 39}, srcInfoPoints = []}) "Win32"), importSpecs = Nothing}] [DataDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 134, srcSpanStartColumn = 1, srcSpanEndLine = 138, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 135, srcSpanStartColumn = 2, srcSpanEndLine = 135, srcSpanEndColumn = 3}]}) (DataType (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 134, srcSpanStartColumn = 1, srcSpanEndLine = 134, srcSpanEndColumn = 5}, srcInfoPoints = []})) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 134, srcSpanStartColumn = 6, srcSpanEndLine = 134, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 134, srcSpanStartColumn = 6, srcSpanEndLine = 134, srcSpanEndColumn = 17}, srcInfoPoints = []}) "Permissions") []) [QualConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 135, srcSpanStartColumn = 4, srcSpanEndLine = 138, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 135, srcSpanStartColumn = 16, srcSpanEndLine = 135, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 4, srcSpanEndLine = 138, srcSpanEndColumn = 5}]}) Nothing Nothing (RecDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 135, srcSpanStartColumn = 4, srcSpanEndLine = 138, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 135, srcSpanStartColumn = 16, srcSpanEndLine = 135, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 4, srcSpanEndLine = 138, srcSpanEndColumn = 5}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 135, srcSpanStartColumn = 4, srcSpanEndLine = 135, srcSpanEndColumn = 15}, srcInfoPoints = []}) "Permissions") [FieldDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 136, srcSpanStartColumn = 5, srcSpanEndLine = 137, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 136, srcSpanStartColumn = 13, srcSpanEndLine = 136, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 136, srcSpanStartColumn = 25, srcSpanEndLine = 136, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 137, srcSpanStartColumn = 15, srcSpanEndLine = 137, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 137, srcSpanStartColumn = 28, srcSpanEndLine = 137, srcSpanEndColumn = 30}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 136, srcSpanStartColumn = 5, srcSpanEndLine = 136, srcSpanEndColumn = 13}, srcInfoPoints = []}) "readable",Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 136, srcSpanStartColumn = 17, srcSpanEndLine = 136, srcSpanEndColumn = 25}, srcInfoPoints = []}) "writable",Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 137, srcSpanStartColumn = 5, srcSpanEndLine = 137, srcSpanEndColumn = 15}, srcInfoPoints = []}) "executable",Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 137, srcSpanStartColumn = 17, srcSpanEndLine = 137, srcSpanEndColumn = 27}, srcInfoPoints = []}) "searchable"] (UnBangedTy (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 137, srcSpanStartColumn = 31, srcSpanEndLine = 137, srcSpanEndColumn = 35}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 137, srcSpanStartColumn = 31, srcSpanEndLine = 137, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 137, srcSpanStartColumn = 31, srcSpanEndLine = 137, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 137, srcSpanStartColumn = 31, srcSpanEndLine = 137, srcSpanEndColumn = 35}, srcInfoPoints = []}) "Bool"))))])] (Just (Deriving (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 6, srcSpanEndLine = 138, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 6, srcSpanEndLine = 138, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 15, srcSpanEndLine = 138, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 18, srcSpanEndLine = 138, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 23, srcSpanEndLine = 138, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 29, srcSpanEndLine = 138, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 35, srcSpanEndLine = 138, srcSpanEndColumn = 36}]}) [IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 16, srcSpanEndLine = 138, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 16, srcSpanEndLine = 138, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 16, srcSpanEndLine = 138, srcSpanEndColumn = 18}, srcInfoPoints = []}) "Eq")) [],IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 20, srcSpanEndLine = 138, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 20, srcSpanEndLine = 138, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 20, srcSpanEndLine = 138, srcSpanEndColumn = 23}, srcInfoPoints = []}) "Ord")) [],IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 25, srcSpanEndLine = 138, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 25, srcSpanEndLine = 138, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 25, srcSpanEndLine = 138, srcSpanEndColumn = 29}, srcInfoPoints = []}) "Read")) [],IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 31, srcSpanEndLine = 138, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 31, srcSpanEndLine = 138, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 138, srcSpanStartColumn = 31, srcSpanEndLine = 138, srcSpanEndColumn = 35}, srcInfoPoints = []}) "Show")) []])),TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 1, srcSpanEndLine = 152, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 16, srcSpanEndLine = 152, srcSpanEndColumn = 18}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 1, srcSpanEndLine = 152, srcSpanEndColumn = 15}, srcInfoPoints = []}) "getPermissions"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 19, srcSpanEndLine = 152, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 28, srcSpanEndLine = 152, srcSpanEndColumn = 30}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 19, srcSpanEndLine = 152, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 19, srcSpanEndLine = 152, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 19, srcSpanEndLine = 152, srcSpanEndColumn = 27}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 31, srcSpanEndLine = 152, srcSpanEndColumn = 45}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 31, srcSpanEndLine = 152, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 31, srcSpanEndLine = 152, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 31, srcSpanEndLine = 152, srcSpanEndColumn = 33}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 34, srcSpanEndLine = 152, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 34, srcSpanEndLine = 152, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 152, srcSpanStartColumn = 34, srcSpanEndLine = 152, srcSpanEndColumn = 45}, srcInfoPoints = []}) "Permissions"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 153, srcSpanStartColumn = 1, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 153, srcSpanStartColumn = 1, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 153, srcSpanStartColumn = 1, srcSpanEndLine = 153, srcSpanEndColumn = 15}, srcInfoPoints = []}) "getPermissions") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 153, srcSpanStartColumn = 16, srcSpanEndLine = 153, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 153, srcSpanStartColumn = 16, srcSpanEndLine = 153, srcSpanEndColumn = 20}, srcInfoPoints = []}) "name")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 153, srcSpanStartColumn = 21, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 153, srcSpanStartColumn = 21, srcSpanEndLine = 153, srcSpanEndColumn = 22}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 153, srcSpanStartColumn = 23, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 153, srcSpanStartColumn = 23, srcSpanEndLine = 153, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 3, srcSpanEndLine = 154, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 1, srcSpanEndLine = 189, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 3, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 3, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 3, srcSpanEndLine = 154, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 3, srcSpanEndLine = 154, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 3, srcSpanEndLine = 154, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 3, srcSpanEndLine = 154, srcSpanEndColumn = 15}, srcInfoPoints = []}) "withFilePath"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 16, srcSpanEndLine = 154, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 16, srcSpanEndLine = 154, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 16, srcSpanEndLine = 154, srcSpanEndColumn = 20}, srcInfoPoints = []}) "name")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 21, srcSpanEndLine = 154, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 21, srcSpanEndLine = 154, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 21, srcSpanEndLine = 154, srcSpanEndColumn = 22}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 23, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 23, srcSpanEndLine = 154, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 26, srcSpanEndLine = 154, srcSpanEndColumn = 28}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 24, srcSpanEndLine = 154, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 24, srcSpanEndLine = 154, srcSpanEndColumn = 25}, srcInfoPoints = []}) "s")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 29, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 154, srcSpanStartColumn = 29, srcSpanEndLine = 154, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 3, srcSpanEndLine = 161, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 3, srcSpanEndLine = 161, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 1, srcSpanEndLine = 189, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 3, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 3, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 3, srcSpanEndLine = 161, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 3, srcSpanEndLine = 161, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 3, srcSpanEndLine = 161, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 3, srcSpanEndLine = 161, srcSpanEndColumn = 14}, srcInfoPoints = []}) "allocaBytes"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 15, srcSpanEndLine = 161, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 15, srcSpanEndLine = 161, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 15, srcSpanEndLine = 161, srcSpanEndColumn = 26}, srcInfoPoints = []}) "sizeof_stat")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 27, srcSpanEndLine = 161, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 27, srcSpanEndLine = 161, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 27, srcSpanEndLine = 161, srcSpanEndColumn = 28}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 29, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 29, srcSpanEndLine = 161, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 38, srcSpanEndLine = 161, srcSpanEndColumn = 40}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 31, srcSpanEndLine = 161, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 31, srcSpanEndLine = 161, srcSpanEndColumn = 37}, srcInfoPoints = []}) "p_stat")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 41, srcSpanEndLine = 189, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 161, srcSpanStartColumn = 41, srcSpanEndLine = 161, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 3, srcSpanEndLine = 162, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 3, srcSpanEndLine = 162, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 3, srcSpanEndLine = 163, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 3, srcSpanEndLine = 164, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 3, srcSpanEndLine = 165, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 3, srcSpanEndLine = 166, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 3, srcSpanEndLine = 167, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 168, srcSpanStartColumn = 3, srcSpanEndLine = 168, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 1, srcSpanEndLine = 189, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 3, srcSpanEndLine = 162, srcSpanEndColumn = 57}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 3, srcSpanEndLine = 162, srcSpanEndColumn = 57}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 3, srcSpanEndLine = 162, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 3, srcSpanEndLine = 162, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 3, srcSpanEndLine = 162, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 3, srcSpanEndLine = 162, srcSpanEndColumn = 22}, srcInfoPoints = []}) "throwErrnoIfMinus1_"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 23, srcSpanEndLine = 162, srcSpanEndColumn = 39}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 23, srcSpanEndLine = 162, srcSpanEndColumn = 39}, srcInfoPoints = []}) "getPermissions" "getPermissions"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 40, srcSpanEndLine = 162, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 40, srcSpanEndLine = 162, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 40, srcSpanEndLine = 162, srcSpanEndColumn = 41}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 42, srcSpanEndLine = 162, srcSpanEndColumn = 57}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 42, srcSpanEndLine = 162, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 42, srcSpanEndLine = 162, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 42, srcSpanEndLine = 162, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 42, srcSpanEndLine = 162, srcSpanEndColumn = 48}, srcInfoPoints = []}) "c_stat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 49, srcSpanEndLine = 162, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 49, srcSpanEndLine = 162, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 49, srcSpanEndLine = 162, srcSpanEndColumn = 50}, srcInfoPoints = []}) "s")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 51, srcSpanEndLine = 162, srcSpanEndColumn = 57}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 51, srcSpanEndLine = 162, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 162, srcSpanStartColumn = 51, srcSpanEndLine = 162, srcSpanEndColumn = 57}, srcInfoPoints = []}) "p_stat"))))),Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 3, srcSpanEndLine = 163, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 8, srcSpanEndLine = 163, srcSpanEndColumn = 10}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 3, srcSpanEndLine = 163, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 3, srcSpanEndLine = 163, srcSpanEndColumn = 7}, srcInfoPoints = []}) "mode")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 11, srcSpanEndLine = 163, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 11, srcSpanEndLine = 163, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 11, srcSpanEndLine = 163, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 11, srcSpanEndLine = 163, srcSpanEndColumn = 18}, srcInfoPoints = []}) "st_mode"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 19, srcSpanEndLine = 163, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 19, srcSpanEndLine = 163, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 163, srcSpanStartColumn = 19, srcSpanEndLine = 163, srcSpanEndColumn = 25}, srcInfoPoints = []}) "p_stat")))),LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 3, srcSpanEndLine = 165, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 3, srcSpanEndLine = 164, srcSpanEndColumn = 6}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 7, srcSpanEndLine = 165, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 7, srcSpanEndLine = 164, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 3, srcSpanEndLine = 165, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 7, srcSpanEndLine = 164, srcSpanEndColumn = 36}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 7, srcSpanEndLine = 164, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 7, srcSpanEndLine = 164, srcSpanEndColumn = 15}, srcInfoPoints = []}) "usr_read")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 18, srcSpanEndLine = 164, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 18, srcSpanEndLine = 164, srcSpanEndColumn = 19}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 20, srcSpanEndLine = 164, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 20, srcSpanEndLine = 164, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 20, srcSpanEndLine = 164, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 20, srcSpanEndLine = 164, srcSpanEndColumn = 24}, srcInfoPoints = []}) "mode"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 25, srcSpanEndLine = 164, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 25, srcSpanEndLine = 164, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 25, srcSpanEndLine = 164, srcSpanEndColumn = 28}, srcInfoPoints = []}) ".&."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 29, srcSpanEndLine = 164, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 29, srcSpanEndLine = 164, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 164, srcSpanStartColumn = 29, srcSpanEndLine = 164, srcSpanEndColumn = 36}, srcInfoPoints = []}) "s_IRUSR"))))) Nothing]),LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 3, srcSpanEndLine = 166, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 3, srcSpanEndLine = 165, srcSpanEndColumn = 6}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 7, srcSpanEndLine = 166, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 7, srcSpanEndLine = 165, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 3, srcSpanEndLine = 166, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 7, srcSpanEndLine = 165, srcSpanEndColumn = 36}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 7, srcSpanEndLine = 165, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 7, srcSpanEndLine = 165, srcSpanEndColumn = 16}, srcInfoPoints = []}) "usr_write")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 18, srcSpanEndLine = 165, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 18, srcSpanEndLine = 165, srcSpanEndColumn = 19}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 20, srcSpanEndLine = 165, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 20, srcSpanEndLine = 165, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 20, srcSpanEndLine = 165, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 20, srcSpanEndLine = 165, srcSpanEndColumn = 24}, srcInfoPoints = []}) "mode"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 25, srcSpanEndLine = 165, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 25, srcSpanEndLine = 165, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 25, srcSpanEndLine = 165, srcSpanEndColumn = 28}, srcInfoPoints = []}) ".&."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 29, srcSpanEndLine = 165, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 29, srcSpanEndLine = 165, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 165, srcSpanStartColumn = 29, srcSpanEndLine = 165, srcSpanEndColumn = 36}, srcInfoPoints = []}) "s_IWUSR"))))) Nothing]),LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 3, srcSpanEndLine = 167, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 3, srcSpanEndLine = 166, srcSpanEndColumn = 6}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 7, srcSpanEndLine = 167, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 7, srcSpanEndLine = 166, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 3, srcSpanEndLine = 167, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 7, srcSpanEndLine = 166, srcSpanEndColumn = 36}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 7, srcSpanEndLine = 166, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 7, srcSpanEndLine = 166, srcSpanEndColumn = 15}, srcInfoPoints = []}) "usr_exec")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 18, srcSpanEndLine = 166, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 18, srcSpanEndLine = 166, srcSpanEndColumn = 19}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 20, srcSpanEndLine = 166, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 20, srcSpanEndLine = 166, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 20, srcSpanEndLine = 166, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 20, srcSpanEndLine = 166, srcSpanEndColumn = 24}, srcInfoPoints = []}) "mode"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 25, srcSpanEndLine = 166, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 25, srcSpanEndLine = 166, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 25, srcSpanEndLine = 166, srcSpanEndColumn = 28}, srcInfoPoints = []}) ".&."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 29, srcSpanEndLine = 166, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 29, srcSpanEndLine = 166, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 166, srcSpanStartColumn = 29, srcSpanEndLine = 166, srcSpanEndColumn = 36}, srcInfoPoints = []}) "s_IXUSR"))))) Nothing]),LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 3, srcSpanEndLine = 168, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 3, srcSpanEndLine = 167, srcSpanEndColumn = 6}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 7, srcSpanEndLine = 168, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 7, srcSpanEndLine = 167, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 168, srcSpanStartColumn = 3, srcSpanEndLine = 168, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 7, srcSpanEndLine = 167, srcSpanEndColumn = 32}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 7, srcSpanEndLine = 167, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 7, srcSpanEndLine = 167, srcSpanEndColumn = 13}, srcInfoPoints = []}) "is_dir")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 14, srcSpanEndLine = 167, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 14, srcSpanEndLine = 167, srcSpanEndColumn = 15}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 16, srcSpanEndLine = 167, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 16, srcSpanEndLine = 167, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 16, srcSpanEndLine = 167, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 16, srcSpanEndLine = 167, srcSpanEndColumn = 20}, srcInfoPoints = []}) "mode"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 21, srcSpanEndLine = 167, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 21, srcSpanEndLine = 167, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 21, srcSpanEndLine = 167, srcSpanEndColumn = 24}, srcInfoPoints = []}) ".&."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 25, srcSpanEndLine = 167, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 25, srcSpanEndLine = 167, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 167, srcSpanStartColumn = 25, srcSpanEndLine = 167, srcSpanEndColumn = 32}, srcInfoPoints = []}) "s_IFDIR"))))) Nothing]),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 168, srcSpanStartColumn = 3, srcSpanEndLine = 175, srcSpanEndColumn = 5}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 168, srcSpanStartColumn = 3, srcSpanEndLine = 175, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 168, srcSpanStartColumn = 3, srcSpanEndLine = 168, srcSpanEndColumn = 9}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 168, srcSpanStartColumn = 3, srcSpanEndLine = 168, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 168, srcSpanStartColumn = 3, srcSpanEndLine = 168, srcSpanEndColumn = 9}, srcInfoPoints = []}) "return"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 168, srcSpanStartColumn = 10, srcSpanEndLine = 175, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 168, srcSpanStartColumn = 10, srcSpanEndLine = 168, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 175, srcSpanStartColumn = 4, srcSpanEndLine = 175, srcSpanEndColumn = 5}]}) (RecConstr (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 169, srcSpanStartColumn = 5, srcSpanEndLine = 174, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 169, srcSpanStartColumn = 17, srcSpanEndLine = 169, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 34, srcSpanEndLine = 170, srcSpanEndColumn = 35},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 34, srcSpanEndLine = 171, srcSpanEndColumn = 35},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 48, srcSpanEndLine = 172, srcSpanEndColumn = 49},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 174, srcSpanStartColumn = 5, srcSpanEndLine = 174, srcSpanEndColumn = 6}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 169, srcSpanStartColumn = 5, srcSpanEndLine = 169, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 169, srcSpanStartColumn = 5, srcSpanEndLine = 169, srcSpanEndColumn = 16}, srcInfoPoints = []}) "Permissions")) [FieldUpdate (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 7, srcSpanEndLine = 170, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 18, srcSpanEndLine = 170, srcSpanEndColumn = 19}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 7, srcSpanEndLine = 170, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 7, srcSpanEndLine = 170, srcSpanEndColumn = 15}, srcInfoPoints = []}) "readable")) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 20, srcSpanEndLine = 170, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 20, srcSpanEndLine = 170, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 20, srcSpanEndLine = 170, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 20, srcSpanEndLine = 170, srcSpanEndColumn = 28}, srcInfoPoints = []}) "usr_read"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 30, srcSpanEndLine = 170, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 30, srcSpanEndLine = 170, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 30, srcSpanEndLine = 170, srcSpanEndColumn = 32}, srcInfoPoints = []}) "/="))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 33, srcSpanEndLine = 170, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 170, srcSpanStartColumn = 33, srcSpanEndLine = 170, srcSpanEndColumn = 34}, srcInfoPoints = []}) 0 "0"))),FieldUpdate (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 7, srcSpanEndLine = 171, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 18, srcSpanEndLine = 171, srcSpanEndColumn = 19}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 7, srcSpanEndLine = 171, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 7, srcSpanEndLine = 171, srcSpanEndColumn = 15}, srcInfoPoints = []}) "writable")) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 20, srcSpanEndLine = 171, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 20, srcSpanEndLine = 171, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 20, srcSpanEndLine = 171, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 20, srcSpanEndLine = 171, srcSpanEndColumn = 29}, srcInfoPoints = []}) "usr_write"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 30, srcSpanEndLine = 171, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 30, srcSpanEndLine = 171, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 30, srcSpanEndLine = 171, srcSpanEndColumn = 32}, srcInfoPoints = []}) "/="))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 33, srcSpanEndLine = 171, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 171, srcSpanStartColumn = 33, srcSpanEndLine = 171, srcSpanEndColumn = 34}, srcInfoPoints = []}) 0 "0"))),FieldUpdate (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 7, srcSpanEndLine = 172, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 18, srcSpanEndLine = 172, srcSpanEndColumn = 19}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 7, srcSpanEndLine = 172, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 7, srcSpanEndLine = 172, srcSpanEndColumn = 17}, srcInfoPoints = []}) "executable")) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 20, srcSpanEndLine = 172, srcSpanEndColumn = 48}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 20, srcSpanEndLine = 172, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 20, srcSpanEndLine = 172, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 20, srcSpanEndLine = 172, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 20, srcSpanEndLine = 172, srcSpanEndColumn = 26}, srcInfoPoints = []}) "is_dir"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 27, srcSpanEndLine = 172, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 27, srcSpanEndLine = 172, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 27, srcSpanEndLine = 172, srcSpanEndColumn = 29}, srcInfoPoints = []}) "=="))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 30, srcSpanEndLine = 172, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 30, srcSpanEndLine = 172, srcSpanEndColumn = 31}, srcInfoPoints = []}) 0 "0"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 32, srcSpanEndLine = 172, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 32, srcSpanEndLine = 172, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 32, srcSpanEndLine = 172, srcSpanEndColumn = 34}, srcInfoPoints = []}) "&&"))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 35, srcSpanEndLine = 172, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 35, srcSpanEndLine = 172, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 35, srcSpanEndLine = 172, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 35, srcSpanEndLine = 172, srcSpanEndColumn = 43}, srcInfoPoints = []}) "usr_exec"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 44, srcSpanEndLine = 172, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 44, srcSpanEndLine = 172, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 44, srcSpanEndLine = 172, srcSpanEndColumn = 46}, srcInfoPoints = []}) "/="))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 47, srcSpanEndLine = 172, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 172, srcSpanStartColumn = 47, srcSpanEndLine = 172, srcSpanEndColumn = 48}, srcInfoPoints = []}) 0 "0")))),FieldUpdate (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 7, srcSpanEndLine = 173, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 18, srcSpanEndLine = 173, srcSpanEndColumn = 19}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 7, srcSpanEndLine = 173, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 7, srcSpanEndLine = 173, srcSpanEndColumn = 17}, srcInfoPoints = []}) "searchable")) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 20, srcSpanEndLine = 173, srcSpanEndColumn = 48}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 20, srcSpanEndLine = 173, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 20, srcSpanEndLine = 173, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 20, srcSpanEndLine = 173, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 20, srcSpanEndLine = 173, srcSpanEndColumn = 26}, srcInfoPoints = []}) "is_dir"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 27, srcSpanEndLine = 173, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 27, srcSpanEndLine = 173, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 27, srcSpanEndLine = 173, srcSpanEndColumn = 29}, srcInfoPoints = []}) "/="))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 30, srcSpanEndLine = 173, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 30, srcSpanEndLine = 173, srcSpanEndColumn = 31}, srcInfoPoints = []}) 0 "0"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 32, srcSpanEndLine = 173, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 32, srcSpanEndLine = 173, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 32, srcSpanEndLine = 173, srcSpanEndColumn = 34}, srcInfoPoints = []}) "&&"))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 35, srcSpanEndLine = 173, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 35, srcSpanEndLine = 173, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 35, srcSpanEndLine = 173, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 35, srcSpanEndLine = 173, srcSpanEndColumn = 43}, srcInfoPoints = []}) "usr_exec"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 44, srcSpanEndLine = 173, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 44, srcSpanEndLine = 173, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 44, srcSpanEndLine = 173, srcSpanEndColumn = 46}, srcInfoPoints = []}) "/="))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 47, srcSpanEndLine = 173, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 173, srcSpanStartColumn = 47, srcSpanEndLine = 173, srcSpanEndColumn = 48}, srcInfoPoints = []}) 0 "0"))))])))])))])))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 1, srcSpanEndLine = 189, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 16, srcSpanEndLine = 189, srcSpanEndColumn = 18}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 1, srcSpanEndLine = 189, srcSpanEndColumn = 15}, srcInfoPoints = []}) "setPermissions"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 19, srcSpanEndLine = 189, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 28, srcSpanEndLine = 189, srcSpanEndColumn = 30}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 19, srcSpanEndLine = 189, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 19, srcSpanEndLine = 189, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 19, srcSpanEndLine = 189, srcSpanEndColumn = 27}, srcInfoPoints = []}) "FilePath"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 31, srcSpanEndLine = 189, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 43, srcSpanEndLine = 189, srcSpanEndColumn = 45}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 31, srcSpanEndLine = 189, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 31, srcSpanEndLine = 189, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 31, srcSpanEndLine = 189, srcSpanEndColumn = 42}, srcInfoPoints = []}) "Permissions"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 46, srcSpanEndLine = 189, srcSpanEndColumn = 51}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 46, srcSpanEndLine = 189, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 46, srcSpanEndLine = 189, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 46, srcSpanEndLine = 189, srcSpanEndColumn = 48}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 49, srcSpanEndLine = 189, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 49, srcSpanEndLine = 189, srcSpanEndColumn = 50},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 50, srcSpanEndLine = 189, srcSpanEndColumn = 51}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 49, srcSpanEndLine = 189, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 49, srcSpanEndLine = 189, srcSpanEndColumn = 50},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 50, srcSpanEndLine = 189, srcSpanEndColumn = 51}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 49, srcSpanEndLine = 189, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 49, srcSpanEndLine = 189, srcSpanEndColumn = 50},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 189, srcSpanStartColumn = 50, srcSpanEndLine = 189, srcSpanEndColumn = 51}]}))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 1, srcSpanEndLine = 205, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 200, srcSpanStartColumn = 2, srcSpanEndLine = 200, srcSpanEndColumn = 7}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 1, srcSpanEndLine = 205, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 200, srcSpanStartColumn = 2, srcSpanEndLine = 200, srcSpanEndColumn = 7}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 1, srcSpanEndLine = 190, srcSpanEndColumn = 15}, srcInfoPoints = []}) "setPermissions") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 16, srcSpanEndLine = 190, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 16, srcSpanEndLine = 190, srcSpanEndColumn = 20}, srcInfoPoints = []}) "name"),PParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 21, srcSpanEndLine = 190, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 21, srcSpanEndLine = 190, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 41, srcSpanEndLine = 190, srcSpanEndColumn = 42}]}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 22, srcSpanEndLine = 190, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 22, srcSpanEndLine = 190, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 22, srcSpanEndLine = 190, srcSpanEndColumn = 33}, srcInfoPoints = []}) "Permissions")) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 34, srcSpanEndLine = 190, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 34, srcSpanEndLine = 190, srcSpanEndColumn = 35}, srcInfoPoints = []}) "r"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 36, srcSpanEndLine = 190, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 36, srcSpanEndLine = 190, srcSpanEndColumn = 37}, srcInfoPoints = []}) "w"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 38, srcSpanEndLine = 190, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 38, srcSpanEndLine = 190, srcSpanEndColumn = 39}, srcInfoPoints = []}) "e"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 40, srcSpanEndLine = 190, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 40, srcSpanEndLine = 190, srcSpanEndColumn = 41}, srcInfoPoints = []}) "s")])] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 43, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 43, srcSpanEndLine = 190, srcSpanEndColumn = 44}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 45, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 190, srcSpanStartColumn = 45, srcSpanEndLine = 190, srcSpanEndColumn = 47},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 3, srcSpanEndLine = 191, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 200, srcSpanStartColumn = 2, srcSpanEndLine = 200, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 3, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 3, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 3, srcSpanEndLine = 191, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 3, srcSpanEndLine = 191, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 3, srcSpanEndLine = 191, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 3, srcSpanEndLine = 191, srcSpanEndColumn = 14}, srcInfoPoints = []}) "allocaBytes"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 15, srcSpanEndLine = 191, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 15, srcSpanEndLine = 191, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 15, srcSpanEndLine = 191, srcSpanEndColumn = 26}, srcInfoPoints = []}) "sizeof_stat")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 27, srcSpanEndLine = 191, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 27, srcSpanEndLine = 191, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 27, srcSpanEndLine = 191, srcSpanEndColumn = 28}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 29, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 29, srcSpanEndLine = 191, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 38, srcSpanEndLine = 191, srcSpanEndColumn = 40}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 31, srcSpanEndLine = 191, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 31, srcSpanEndLine = 191, srcSpanEndColumn = 37}, srcInfoPoints = []}) "p_stat")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 41, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 191, srcSpanStartColumn = 41, srcSpanEndLine = 191, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 3, srcSpanEndLine = 192, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 3, srcSpanEndLine = 192, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 200, srcSpanStartColumn = 2, srcSpanEndLine = 200, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 3, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 3, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 3, srcSpanEndLine = 192, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 3, srcSpanEndLine = 192, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 3, srcSpanEndLine = 192, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 3, srcSpanEndLine = 192, srcSpanEndColumn = 15}, srcInfoPoints = []}) "withFilePath"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 16, srcSpanEndLine = 192, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 16, srcSpanEndLine = 192, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 16, srcSpanEndLine = 192, srcSpanEndColumn = 20}, srcInfoPoints = []}) "name")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 21, srcSpanEndLine = 192, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 21, srcSpanEndLine = 192, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 21, srcSpanEndLine = 192, srcSpanEndColumn = 22}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 23, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 23, srcSpanEndLine = 192, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 31, srcSpanEndLine = 192, srcSpanEndColumn = 33}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 24, srcSpanEndLine = 192, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 24, srcSpanEndLine = 192, srcSpanEndColumn = 30}, srcInfoPoints = []}) "p_name")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 34, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 192, srcSpanStartColumn = 34, srcSpanEndLine = 192, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 5, srcSpanEndLine = 193, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 200, srcSpanStartColumn = 2, srcSpanEndLine = 200, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 5, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 5, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 5, srcSpanEndLine = 193, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 5, srcSpanEndLine = 193, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 5, srcSpanEndLine = 193, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 5, srcSpanEndLine = 193, srcSpanEndColumn = 24}, srcInfoPoints = []}) "throwErrnoIfMinus1_"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 25, srcSpanEndLine = 193, srcSpanEndColumn = 41}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 25, srcSpanEndLine = 193, srcSpanEndColumn = 41}, srcInfoPoints = []}) "setPermissions" "setPermissions"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 42, srcSpanEndLine = 193, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 42, srcSpanEndLine = 193, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 42, srcSpanEndLine = 193, srcSpanEndColumn = 43}, srcInfoPoints = []}) "$"))) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 44, srcSpanEndLine = 200, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 193, srcSpanStartColumn = 44, srcSpanEndLine = 193, srcSpanEndColumn = 46},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 7, srcSpanEndLine = 194, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 7, srcSpanEndLine = 195, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 7, srcSpanEndLine = 196, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 7, srcSpanEndLine = 197, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 7, srcSpanEndLine = 198, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 7, srcSpanEndLine = 199, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 200, srcSpanStartColumn = 2, srcSpanEndLine = 200, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 7, srcSpanEndLine = 194, srcSpanEndColumn = 27}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 7, srcSpanEndLine = 194, srcSpanEndColumn = 27}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 7, srcSpanEndLine = 194, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 7, srcSpanEndLine = 194, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 7, srcSpanEndLine = 194, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 7, srcSpanEndLine = 194, srcSpanEndColumn = 13}, srcInfoPoints = []}) "c_stat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 14, srcSpanEndLine = 194, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 14, srcSpanEndLine = 194, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 14, srcSpanEndLine = 194, srcSpanEndColumn = 20}, srcInfoPoints = []}) "p_name")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 21, srcSpanEndLine = 194, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 21, srcSpanEndLine = 194, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 194, srcSpanStartColumn = 21, srcSpanEndLine = 194, srcSpanEndColumn = 27}, srcInfoPoints = []}) "p_stat")))),Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 7, srcSpanEndLine = 195, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 12, srcSpanEndLine = 195, srcSpanEndColumn = 14}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 7, srcSpanEndLine = 195, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 7, srcSpanEndLine = 195, srcSpanEndColumn = 11}, srcInfoPoints = []}) "mode")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 15, srcSpanEndLine = 195, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 15, srcSpanEndLine = 195, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 15, srcSpanEndLine = 195, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 15, srcSpanEndLine = 195, srcSpanEndColumn = 22}, srcInfoPoints = []}) "st_mode"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 23, srcSpanEndLine = 195, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 23, srcSpanEndLine = 195, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 195, srcSpanStartColumn = 23, srcSpanEndLine = 195, srcSpanEndColumn = 29}, srcInfoPoints = []}) "p_stat")))),LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 7, srcSpanEndLine = 197, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 7, srcSpanEndLine = 196, srcSpanEndColumn = 10}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 11, srcSpanEndLine = 197, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 11, srcSpanEndLine = 196, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 7, srcSpanEndLine = 197, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 11, srcSpanEndLine = 196, srcSpanEndColumn = 43}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 11, srcSpanEndLine = 196, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 11, srcSpanEndLine = 196, srcSpanEndColumn = 16}, srcInfoPoints = []}) "mode1")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 17, srcSpanEndLine = 196, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 17, srcSpanEndLine = 196, srcSpanEndColumn = 18}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 19, srcSpanEndLine = 196, srcSpanEndColumn = 43}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 19, srcSpanEndLine = 196, srcSpanEndColumn = 35}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 19, srcSpanEndLine = 196, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 19, srcSpanEndLine = 196, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 19, srcSpanEndLine = 196, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 19, srcSpanEndLine = 196, srcSpanEndColumn = 28}, srcInfoPoints = []}) "modifyBit"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 29, srcSpanEndLine = 196, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 29, srcSpanEndLine = 196, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 29, srcSpanEndLine = 196, srcSpanEndColumn = 30}, srcInfoPoints = []}) "r")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 31, srcSpanEndLine = 196, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 31, srcSpanEndLine = 196, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 31, srcSpanEndLine = 196, srcSpanEndColumn = 35}, srcInfoPoints = []}) "mode")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 36, srcSpanEndLine = 196, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 36, srcSpanEndLine = 196, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 196, srcSpanStartColumn = 36, srcSpanEndLine = 196, srcSpanEndColumn = 43}, srcInfoPoints = []}) "s_IRUSR"))))) Nothing]),LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 7, srcSpanEndLine = 198, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 7, srcSpanEndLine = 197, srcSpanEndColumn = 10}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 11, srcSpanEndLine = 198, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 11, srcSpanEndLine = 197, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 7, srcSpanEndLine = 198, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 11, srcSpanEndLine = 197, srcSpanEndColumn = 44}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 11, srcSpanEndLine = 197, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 11, srcSpanEndLine = 197, srcSpanEndColumn = 16}, srcInfoPoints = []}) "mode2")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 17, srcSpanEndLine = 197, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 17, srcSpanEndLine = 197, srcSpanEndColumn = 18}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 19, srcSpanEndLine = 197, srcSpanEndColumn = 44}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 19, srcSpanEndLine = 197, srcSpanEndColumn = 36}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 19, srcSpanEndLine = 197, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 19, srcSpanEndLine = 197, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 19, srcSpanEndLine = 197, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 19, srcSpanEndLine = 197, srcSpanEndColumn = 28}, srcInfoPoints = []}) "modifyBit"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 29, srcSpanEndLine = 197, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 29, srcSpanEndLine = 197, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 29, srcSpanEndLine = 197, srcSpanEndColumn = 30}, srcInfoPoints = []}) "w")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 31, srcSpanEndLine = 197, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 31, srcSpanEndLine = 197, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 31, srcSpanEndLine = 197, srcSpanEndColumn = 36}, srcInfoPoints = []}) "mode1")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 37, srcSpanEndLine = 197, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 37, srcSpanEndLine = 197, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 197, srcSpanStartColumn = 37, srcSpanEndLine = 197, srcSpanEndColumn = 44}, srcInfoPoints = []}) "s_IWUSR"))))) Nothing]),LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 7, srcSpanEndLine = 199, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 7, srcSpanEndLine = 198, srcSpanEndColumn = 10}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 11, srcSpanEndLine = 199, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 11, srcSpanEndLine = 198, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 7, srcSpanEndLine = 199, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 11, srcSpanEndLine = 198, srcSpanEndColumn = 51}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 11, srcSpanEndLine = 198, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 11, srcSpanEndLine = 198, srcSpanEndColumn = 16}, srcInfoPoints = []}) "mode3")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 17, srcSpanEndLine = 198, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 17, srcSpanEndLine = 198, srcSpanEndColumn = 18}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 19, srcSpanEndLine = 198, srcSpanEndColumn = 51}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 19, srcSpanEndLine = 198, srcSpanEndColumn = 43}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 19, srcSpanEndLine = 198, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 19, srcSpanEndLine = 198, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 19, srcSpanEndLine = 198, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 19, srcSpanEndLine = 198, srcSpanEndColumn = 28}, srcInfoPoints = []}) "modifyBit"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 29, srcSpanEndLine = 198, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 29, srcSpanEndLine = 198, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 36, srcSpanEndLine = 198, srcSpanEndColumn = 37}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 30, srcSpanEndLine = 198, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 30, srcSpanEndLine = 198, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 30, srcSpanEndLine = 198, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 30, srcSpanEndLine = 198, srcSpanEndColumn = 31}, srcInfoPoints = []}) "e"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 32, srcSpanEndLine = 198, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 32, srcSpanEndLine = 198, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 32, srcSpanEndLine = 198, srcSpanEndColumn = 34}, srcInfoPoints = []}) "||"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 35, srcSpanEndLine = 198, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 35, srcSpanEndLine = 198, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 35, srcSpanEndLine = 198, srcSpanEndColumn = 36}, srcInfoPoints = []}) "s")))))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 38, srcSpanEndLine = 198, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 38, srcSpanEndLine = 198, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 38, srcSpanEndLine = 198, srcSpanEndColumn = 43}, srcInfoPoints = []}) "mode2")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 44, srcSpanEndLine = 198, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 44, srcSpanEndLine = 198, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 198, srcSpanStartColumn = 44, srcSpanEndLine = 198, srcSpanEndColumn = 51}, srcInfoPoints = []}) "s_IXUSR"))))) Nothing]),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 7, srcSpanEndLine = 199, srcSpanEndColumn = 28}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 7, srcSpanEndLine = 199, srcSpanEndColumn = 28}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 7, srcSpanEndLine = 199, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 7, srcSpanEndLine = 199, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 7, srcSpanEndLine = 199, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 7, srcSpanEndLine = 199, srcSpanEndColumn = 15}, srcInfoPoints = []}) "c_wchmod"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 16, srcSpanEndLine = 199, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 16, srcSpanEndLine = 199, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 16, srcSpanEndLine = 199, srcSpanEndColumn = 22}, srcInfoPoints = []}) "p_name")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 23, srcSpanEndLine = 199, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 23, srcSpanEndLine = 199, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 199, srcSpanStartColumn = 23, srcSpanEndLine = 199, srcSpanEndColumn = 28}, srcInfoPoints = []}) "mode3"))))]))])))])))])) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 4, srcSpanEndLine = 205, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 4, srcSpanEndLine = 201, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 4, srcSpanEndLine = 202, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 4, srcSpanEndLine = 203, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 205, srcSpanStartColumn = 1, srcSpanEndLine = 205, srcSpanEndColumn = 0}]}) [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 4, srcSpanEndLine = 201, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 14, srcSpanEndLine = 201, srcSpanEndColumn = 16}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 4, srcSpanEndLine = 201, srcSpanEndColumn = 13}, srcInfoPoints = []}) "modifyBit"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 17, srcSpanEndLine = 201, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 22, srcSpanEndLine = 201, srcSpanEndColumn = 24}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 17, srcSpanEndLine = 201, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 17, srcSpanEndLine = 201, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 17, srcSpanEndLine = 201, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Bool"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 25, srcSpanEndLine = 201, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 31, srcSpanEndLine = 201, srcSpanEndColumn = 33}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 25, srcSpanEndLine = 201, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 25, srcSpanEndLine = 201, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 25, srcSpanEndLine = 201, srcSpanEndColumn = 30}, srcInfoPoints = []}) "CMode"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 34, srcSpanEndLine = 201, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 40, srcSpanEndLine = 201, srcSpanEndColumn = 42}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 34, srcSpanEndLine = 201, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 34, srcSpanEndLine = 201, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 34, srcSpanEndLine = 201, srcSpanEndColumn = 39}, srcInfoPoints = []}) "CMode"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 43, srcSpanEndLine = 201, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 43, srcSpanEndLine = 201, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 201, srcSpanStartColumn = 43, srcSpanEndLine = 201, srcSpanEndColumn = 48}, srcInfoPoints = []}) "CMode")))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 4, srcSpanEndLine = 203, srcSpanEndColumn = 33}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 4, srcSpanEndLine = 202, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 4, srcSpanEndLine = 202, srcSpanEndColumn = 13}, srcInfoPoints = []}) "modifyBit") [PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 14, srcSpanEndLine = 202, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 14, srcSpanEndLine = 202, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 14, srcSpanEndLine = 202, srcSpanEndColumn = 19}, srcInfoPoints = []}) "False")) [],PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 20, srcSpanEndLine = 202, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 20, srcSpanEndLine = 202, srcSpanEndColumn = 21}, srcInfoPoints = []}) "m"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 22, srcSpanEndLine = 202, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 22, srcSpanEndLine = 202, srcSpanEndColumn = 23}, srcInfoPoints = []}) "b")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 24, srcSpanEndLine = 202, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 24, srcSpanEndLine = 202, srcSpanEndColumn = 25}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 26, srcSpanEndLine = 202, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 26, srcSpanEndLine = 202, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 26, srcSpanEndLine = 202, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 26, srcSpanEndLine = 202, srcSpanEndColumn = 27}, srcInfoPoints = []}) "m"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 28, srcSpanEndLine = 202, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 28, srcSpanEndLine = 202, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 28, srcSpanEndLine = 202, srcSpanEndColumn = 31}, srcInfoPoints = []}) ".&."))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 32, srcSpanEndLine = 202, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 32, srcSpanEndLine = 202, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 45, srcSpanEndLine = 202, srcSpanEndColumn = 46}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 33, srcSpanEndLine = 202, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 33, srcSpanEndLine = 202, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 33, srcSpanEndLine = 202, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 33, srcSpanEndLine = 202, srcSpanEndColumn = 43}, srcInfoPoints = []}) "complement"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 44, srcSpanEndLine = 202, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 44, srcSpanEndLine = 202, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 202, srcSpanStartColumn = 44, srcSpanEndLine = 202, srcSpanEndColumn = 45}, srcInfoPoints = []}) "b"))))))) Nothing,Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 4, srcSpanEndLine = 203, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 4, srcSpanEndLine = 203, srcSpanEndColumn = 13}, srcInfoPoints = []}) "modifyBit") [PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 14, srcSpanEndLine = 203, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 14, srcSpanEndLine = 203, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 14, srcSpanEndLine = 203, srcSpanEndColumn = 18}, srcInfoPoints = []}) "True")) [],PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 20, srcSpanEndLine = 203, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 20, srcSpanEndLine = 203, srcSpanEndColumn = 21}, srcInfoPoints = []}) "m"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 22, srcSpanEndLine = 203, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 22, srcSpanEndLine = 203, srcSpanEndColumn = 23}, srcInfoPoints = []}) "b")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 24, srcSpanEndLine = 203, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 24, srcSpanEndLine = 203, srcSpanEndColumn = 25}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 26, srcSpanEndLine = 203, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 26, srcSpanEndLine = 203, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 26, srcSpanEndLine = 203, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 26, srcSpanEndLine = 203, srcSpanEndColumn = 27}, srcInfoPoints = []}) "m"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 28, srcSpanEndLine = 203, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 28, srcSpanEndLine = 203, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 28, srcSpanEndLine = 203, srcSpanEndColumn = 31}, srcInfoPoints = []}) ".|."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 32, srcSpanEndLine = 203, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 32, srcSpanEndLine = 203, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 203, srcSpanStartColumn = 32, srcSpanEndLine = 203, srcSpanEndColumn = 33}, srcInfoPoints = []}) "b"))))) Nothing]]))],ForImp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 205, srcSpanStartColumn = 1, srcSpanEndLine = 206, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 205, srcSpanStartColumn = 1, srcSpanEndLine = 205, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 205, srcSpanStartColumn = 9, srcSpanEndLine = 205, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 205, srcSpanStartColumn = 29, srcSpanEndLine = 205, srcSpanEndColumn = 38},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 13, srcSpanEndLine = 206, srcSpanEndColumn = 15}]}) (CCall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 205, srcSpanStartColumn = 16, srcSpanEndLine = 205, srcSpanEndColumn = 21}, srcInfoPoints = []})) (Just (PlayRisky (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 205, srcSpanStartColumn = 22, srcSpanEndLine = 205, srcSpanEndColumn = 28}, srcInfoPoints = []}))) (Just "_wchmod") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 4, srcSpanEndLine = 206, srcSpanEndColumn = 12}, srcInfoPoints = []}) "c_wchmod") (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 16, srcSpanEndLine = 206, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 25, srcSpanEndLine = 206, srcSpanEndColumn = 27}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 16, srcSpanEndLine = 206, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 16, srcSpanEndLine = 206, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 16, srcSpanEndLine = 206, srcSpanEndColumn = 24}, srcInfoPoints = []}) "CWString"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 28, srcSpanEndLine = 206, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 34, srcSpanEndLine = 206, srcSpanEndColumn = 36}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 28, srcSpanEndLine = 206, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 28, srcSpanEndLine = 206, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 28, srcSpanEndLine = 206, srcSpanEndColumn = 33}, srcInfoPoints = []}) "CMode"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 37, srcSpanEndLine = 206, srcSpanEndColumn = 44}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 37, srcSpanEndLine = 206, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 37, srcSpanEndLine = 206, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 37, srcSpanEndLine = 206, srcSpanEndColumn = 39}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 40, srcSpanEndLine = 206, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 40, srcSpanEndLine = 206, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 206, srcSpanStartColumn = 40, srcSpanEndLine = 206, srcSpanEndColumn = 44}, srcInfoPoints = []}) "CInt")))))),TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 1, srcSpanEndLine = 208, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 17, srcSpanEndLine = 208, srcSpanEndColumn = 19}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 1, srcSpanEndLine = 208, srcSpanEndColumn = 16}, srcInfoPoints = []}) "copyPermissions"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 20, srcSpanEndLine = 208, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 29, srcSpanEndLine = 208, srcSpanEndColumn = 31}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 20, srcSpanEndLine = 208, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 20, srcSpanEndLine = 208, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 20, srcSpanEndLine = 208, srcSpanEndColumn = 28}, srcInfoPoints = []}) "FilePath"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 32, srcSpanEndLine = 208, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 41, srcSpanEndLine = 208, srcSpanEndColumn = 43}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 32, srcSpanEndLine = 208, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 32, srcSpanEndLine = 208, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 32, srcSpanEndLine = 208, srcSpanEndColumn = 40}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 44, srcSpanEndLine = 208, srcSpanEndColumn = 49}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 44, srcSpanEndLine = 208, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 44, srcSpanEndLine = 208, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 44, srcSpanEndLine = 208, srcSpanEndColumn = 46}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 47, srcSpanEndLine = 208, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 47, srcSpanEndLine = 208, srcSpanEndColumn = 48},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 48, srcSpanEndLine = 208, srcSpanEndColumn = 49}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 47, srcSpanEndLine = 208, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 47, srcSpanEndLine = 208, srcSpanEndColumn = 48},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 48, srcSpanEndLine = 208, srcSpanEndColumn = 49}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 47, srcSpanEndLine = 208, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 47, srcSpanEndLine = 208, srcSpanEndColumn = 48},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 208, srcSpanStartColumn = 48, srcSpanEndLine = 208, srcSpanEndColumn = 49}]}))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 1, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 1, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 1, srcSpanEndLine = 209, srcSpanEndColumn = 16}, srcInfoPoints = []}) "copyPermissions") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 17, srcSpanEndLine = 209, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 17, srcSpanEndLine = 209, srcSpanEndColumn = 23}, srcInfoPoints = []}) "source"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 24, srcSpanEndLine = 209, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 24, srcSpanEndLine = 209, srcSpanEndColumn = 28}, srcInfoPoints = []}) "dest")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 29, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 29, srcSpanEndLine = 209, srcSpanEndColumn = 30}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 31, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 209, srcSpanStartColumn = 31, srcSpanEndLine = 209, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 3, srcSpanEndLine = 210, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 1, srcSpanEndLine = 257, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 3, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 3, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 3, srcSpanEndLine = 210, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 3, srcSpanEndLine = 210, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 3, srcSpanEndLine = 210, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 3, srcSpanEndLine = 210, srcSpanEndColumn = 14}, srcInfoPoints = []}) "allocaBytes"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 15, srcSpanEndLine = 210, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 15, srcSpanEndLine = 210, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 15, srcSpanEndLine = 210, srcSpanEndColumn = 26}, srcInfoPoints = []}) "sizeof_stat")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 27, srcSpanEndLine = 210, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 27, srcSpanEndLine = 210, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 27, srcSpanEndLine = 210, srcSpanEndColumn = 28}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 29, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 29, srcSpanEndLine = 210, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 38, srcSpanEndLine = 210, srcSpanEndColumn = 40}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 31, srcSpanEndLine = 210, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 31, srcSpanEndLine = 210, srcSpanEndColumn = 37}, srcInfoPoints = []}) "p_stat")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 41, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 210, srcSpanStartColumn = 41, srcSpanEndLine = 210, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 3, srcSpanEndLine = 211, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 3, srcSpanEndLine = 211, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 1, srcSpanEndLine = 257, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 3, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 3, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 3, srcSpanEndLine = 211, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 3, srcSpanEndLine = 211, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 3, srcSpanEndLine = 211, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 3, srcSpanEndLine = 211, srcSpanEndColumn = 15}, srcInfoPoints = []}) "withFilePath"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 16, srcSpanEndLine = 211, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 16, srcSpanEndLine = 211, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 16, srcSpanEndLine = 211, srcSpanEndColumn = 22}, srcInfoPoints = []}) "source")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 23, srcSpanEndLine = 211, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 23, srcSpanEndLine = 211, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 23, srcSpanEndLine = 211, srcSpanEndColumn = 24}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 25, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 25, srcSpanEndLine = 211, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 35, srcSpanEndLine = 211, srcSpanEndColumn = 37}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 26, srcSpanEndLine = 211, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 26, srcSpanEndLine = 211, srcSpanEndColumn = 34}, srcInfoPoints = []}) "p_source")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 38, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 211, srcSpanStartColumn = 38, srcSpanEndLine = 211, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 3, srcSpanEndLine = 212, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 3, srcSpanEndLine = 212, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 1, srcSpanEndLine = 257, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 3, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 3, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 3, srcSpanEndLine = 212, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 3, srcSpanEndLine = 212, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 3, srcSpanEndLine = 212, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 3, srcSpanEndLine = 212, srcSpanEndColumn = 15}, srcInfoPoints = []}) "withFilePath"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 16, srcSpanEndLine = 212, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 16, srcSpanEndLine = 212, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 16, srcSpanEndLine = 212, srcSpanEndColumn = 20}, srcInfoPoints = []}) "dest")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 21, srcSpanEndLine = 212, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 21, srcSpanEndLine = 212, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 21, srcSpanEndLine = 212, srcSpanEndColumn = 22}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 23, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 23, srcSpanEndLine = 212, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 31, srcSpanEndLine = 212, srcSpanEndColumn = 33}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 24, srcSpanEndLine = 212, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 24, srcSpanEndLine = 212, srcSpanEndColumn = 30}, srcInfoPoints = []}) "p_dest")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 34, srcSpanEndLine = 257, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 212, srcSpanStartColumn = 34, srcSpanEndLine = 212, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 5, srcSpanEndLine = 213, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 5, srcSpanEndLine = 214, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 5, srcSpanEndLine = 215, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 1, srcSpanEndLine = 257, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 5, srcSpanEndLine = 213, srcSpanEndColumn = 67}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 5, srcSpanEndLine = 213, srcSpanEndColumn = 67}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 5, srcSpanEndLine = 213, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 5, srcSpanEndLine = 213, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 5, srcSpanEndLine = 213, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 5, srcSpanEndLine = 213, srcSpanEndColumn = 24}, srcInfoPoints = []}) "throwErrnoIfMinus1_"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 25, srcSpanEndLine = 213, srcSpanEndColumn = 42}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 25, srcSpanEndLine = 213, srcSpanEndColumn = 42}, srcInfoPoints = []}) "copyPermissions" "copyPermissions"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 43, srcSpanEndLine = 213, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 43, srcSpanEndLine = 213, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 43, srcSpanEndLine = 213, srcSpanEndColumn = 44}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 45, srcSpanEndLine = 213, srcSpanEndColumn = 67}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 45, srcSpanEndLine = 213, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 45, srcSpanEndLine = 213, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 45, srcSpanEndLine = 213, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 45, srcSpanEndLine = 213, srcSpanEndColumn = 51}, srcInfoPoints = []}) "c_stat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 52, srcSpanEndLine = 213, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 52, srcSpanEndLine = 213, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 52, srcSpanEndLine = 213, srcSpanEndColumn = 60}, srcInfoPoints = []}) "p_source")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 61, srcSpanEndLine = 213, srcSpanEndColumn = 67}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 61, srcSpanEndLine = 213, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 213, srcSpanStartColumn = 61, srcSpanEndLine = 213, srcSpanEndColumn = 67}, srcInfoPoints = []}) "p_stat"))))),Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 5, srcSpanEndLine = 214, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 10, srcSpanEndLine = 214, srcSpanEndColumn = 12}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 5, srcSpanEndLine = 214, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 5, srcSpanEndLine = 214, srcSpanEndColumn = 9}, srcInfoPoints = []}) "mode")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 13, srcSpanEndLine = 214, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 13, srcSpanEndLine = 214, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 13, srcSpanEndLine = 214, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 13, srcSpanEndLine = 214, srcSpanEndColumn = 20}, srcInfoPoints = []}) "st_mode"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 21, srcSpanEndLine = 214, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 21, srcSpanEndLine = 214, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 214, srcSpanStartColumn = 21, srcSpanEndLine = 214, srcSpanEndColumn = 27}, srcInfoPoints = []}) "p_stat")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 5, srcSpanEndLine = 215, srcSpanEndColumn = 65}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 5, srcSpanEndLine = 215, srcSpanEndColumn = 65}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 5, srcSpanEndLine = 215, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 5, srcSpanEndLine = 215, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 5, srcSpanEndLine = 215, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 5, srcSpanEndLine = 215, srcSpanEndColumn = 24}, srcInfoPoints = []}) "throwErrnoIfMinus1_"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 25, srcSpanEndLine = 215, srcSpanEndColumn = 42}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 25, srcSpanEndLine = 215, srcSpanEndColumn = 42}, srcInfoPoints = []}) "copyPermissions" "copyPermissions"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 43, srcSpanEndLine = 215, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 43, srcSpanEndLine = 215, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 43, srcSpanEndLine = 215, srcSpanEndColumn = 44}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 45, srcSpanEndLine = 215, srcSpanEndColumn = 65}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 45, srcSpanEndLine = 215, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 45, srcSpanEndLine = 215, srcSpanEndColumn = 53}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 45, srcSpanEndLine = 215, srcSpanEndColumn = 53}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 45, srcSpanEndLine = 215, srcSpanEndColumn = 53}, srcInfoPoints = []}) "c_wchmod"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 54, srcSpanEndLine = 215, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 54, srcSpanEndLine = 215, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 54, srcSpanEndLine = 215, srcSpanEndColumn = 60}, srcInfoPoints = []}) "p_dest")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 61, srcSpanEndLine = 215, srcSpanEndColumn = 65}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 61, srcSpanEndLine = 215, srcSpanEndColumn = 65}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 215, srcSpanStartColumn = 61, srcSpanEndLine = 215, srcSpanEndColumn = 65}, srcInfoPoints = []}) "mode")))))])))])))])))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 1, srcSpanEndLine = 257, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 17, srcSpanEndLine = 257, srcSpanEndColumn = 19}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 1, srcSpanEndLine = 257, srcSpanEndColumn = 16}, srcInfoPoints = []}) "createDirectory"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 20, srcSpanEndLine = 257, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 29, srcSpanEndLine = 257, srcSpanEndColumn = 31}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 20, srcSpanEndLine = 257, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 20, srcSpanEndLine = 257, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 20, srcSpanEndLine = 257, srcSpanEndColumn = 28}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 32, srcSpanEndLine = 257, srcSpanEndColumn = 37}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 32, srcSpanEndLine = 257, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 32, srcSpanEndLine = 257, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 32, srcSpanEndLine = 257, srcSpanEndColumn = 34}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 35, srcSpanEndLine = 257, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 35, srcSpanEndLine = 257, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 36, srcSpanEndLine = 257, srcSpanEndColumn = 37}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 35, srcSpanEndLine = 257, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 35, srcSpanEndLine = 257, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 36, srcSpanEndLine = 257, srcSpanEndColumn = 37}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 35, srcSpanEndLine = 257, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 35, srcSpanEndLine = 257, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 257, srcSpanStartColumn = 36, srcSpanEndLine = 257, srcSpanEndColumn = 37}]})))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 258, srcSpanStartColumn = 1, srcSpanEndLine = 264, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 258, srcSpanStartColumn = 1, srcSpanEndLine = 264, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 258, srcSpanStartColumn = 1, srcSpanEndLine = 258, srcSpanEndColumn = 16}, srcInfoPoints = []}) "createDirectory") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 258, srcSpanStartColumn = 17, srcSpanEndLine = 258, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 258, srcSpanStartColumn = 17, srcSpanEndLine = 258, srcSpanEndColumn = 21}, srcInfoPoints = []}) "path")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 258, srcSpanStartColumn = 22, srcSpanEndLine = 264, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 258, srcSpanStartColumn = 22, srcSpanEndLine = 258, srcSpanEndColumn = 23}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 258, srcSpanStartColumn = 24, srcSpanEndLine = 264, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 258, srcSpanStartColumn = 24, srcSpanEndLine = 258, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 3, srcSpanEndLine = 259, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 264, srcSpanStartColumn = 1, srcSpanEndLine = 264, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 3, srcSpanEndLine = 259, srcSpanEndColumn = 37}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 3, srcSpanEndLine = 259, srcSpanEndColumn = 37}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 3, srcSpanEndLine = 259, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 3, srcSpanEndLine = 259, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 3, srcSpanEndLine = 259, srcSpanEndColumn = 24}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 3, srcSpanEndLine = 259, srcSpanEndColumn = 24}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 3, srcSpanEndLine = 259, srcSpanEndColumn = 24}, srcInfoPoints = []}) "createDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 25, srcSpanEndLine = 259, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 25, srcSpanEndLine = 259, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 25, srcSpanEndLine = 259, srcSpanEndColumn = 29}, srcInfoPoints = []}) "path")))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 30, srcSpanEndLine = 259, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 30, srcSpanEndLine = 259, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 259, srcSpanStartColumn = 30, srcSpanEndLine = 259, srcSpanEndColumn = 37}, srcInfoPoints = []}) "Nothing"))))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 264, srcSpanStartColumn = 1, srcSpanEndLine = 266, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 264, srcSpanStartColumn = 26, srcSpanEndLine = 264, srcSpanEndColumn = 28}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 264, srcSpanStartColumn = 1, srcSpanEndLine = 264, srcSpanEndColumn = 25}, srcInfoPoints = []}) "createDirectoryIfMissing"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 264, srcSpanStartColumn = 29, srcSpanEndLine = 266, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 265, srcSpanStartColumn = 18, srcSpanEndLine = 265, srcSpanEndColumn = 20}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 264, srcSpanStartColumn = 29, srcSpanEndLine = 264, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 264, srcSpanStartColumn = 29, srcSpanEndLine = 264, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 264, srcSpanStartColumn = 29, srcSpanEndLine = 264, srcSpanEndColumn = 33}, srcInfoPoints = []}) "Bool"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 265, srcSpanStartColumn = 21, srcSpanEndLine = 266, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 18, srcSpanEndLine = 266, srcSpanEndColumn = 20}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 265, srcSpanStartColumn = 21, srcSpanEndLine = 265, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 265, srcSpanStartColumn = 21, srcSpanEndLine = 265, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 265, srcSpanStartColumn = 21, srcSpanEndLine = 265, srcSpanEndColumn = 29}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 21, srcSpanEndLine = 266, srcSpanEndColumn = 26}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 21, srcSpanEndLine = 266, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 21, srcSpanEndLine = 266, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 21, srcSpanEndLine = 266, srcSpanEndColumn = 23}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 24, srcSpanEndLine = 266, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 24, srcSpanEndLine = 266, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 25, srcSpanEndLine = 266, srcSpanEndColumn = 26}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 24, srcSpanEndLine = 266, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 24, srcSpanEndLine = 266, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 25, srcSpanEndLine = 266, srcSpanEndColumn = 26}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 24, srcSpanEndLine = 266, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 24, srcSpanEndLine = 266, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 266, srcSpanStartColumn = 25, srcSpanEndLine = 266, srcSpanEndColumn = 26}]}))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 267, srcSpanStartColumn = 1, srcSpanEndLine = 343, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 270, srcSpanStartColumn = 3, srcSpanEndLine = 270, srcSpanEndColumn = 8}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 267, srcSpanStartColumn = 1, srcSpanEndLine = 343, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 270, srcSpanStartColumn = 3, srcSpanEndLine = 270, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 267, srcSpanStartColumn = 1, srcSpanEndLine = 267, srcSpanEndColumn = 25}, srcInfoPoints = []}) "createDirectoryIfMissing") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 267, srcSpanStartColumn = 26, srcSpanEndLine = 267, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 267, srcSpanStartColumn = 26, srcSpanEndLine = 267, srcSpanEndColumn = 40}, srcInfoPoints = []}) "create_parents"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 267, srcSpanStartColumn = 41, srcSpanEndLine = 267, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 267, srcSpanStartColumn = 41, srcSpanEndLine = 267, srcSpanEndColumn = 46}, srcInfoPoints = []}) "path0")] (GuardedRhss (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 3, srcSpanEndLine = 269, srcSpanEndColumn = 57}, srcInfoPoints = []}) [GuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 3, srcSpanEndLine = 268, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 3, srcSpanEndLine = 268, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 20, srcSpanEndLine = 268, srcSpanEndColumn = 21}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 5, srcSpanEndLine = 268, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 5, srcSpanEndLine = 268, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 5, srcSpanEndLine = 268, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 5, srcSpanEndLine = 268, srcSpanEndColumn = 19}, srcInfoPoints = []}) "create_parents")))] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 22, srcSpanEndLine = 268, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 22, srcSpanEndLine = 268, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 22, srcSpanEndLine = 268, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 22, srcSpanEndLine = 268, srcSpanEndColumn = 32}, srcInfoPoints = []}) "createDirs"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 33, srcSpanEndLine = 268, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 33, srcSpanEndLine = 268, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 47, srcSpanEndLine = 268, srcSpanEndColumn = 48}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 34, srcSpanEndLine = 268, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 34, srcSpanEndLine = 268, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 34, srcSpanEndLine = 268, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 34, srcSpanEndLine = 268, srcSpanEndColumn = 41}, srcInfoPoints = []}) "parents"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 42, srcSpanEndLine = 268, srcSpanEndColumn = 47}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 42, srcSpanEndLine = 268, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 268, srcSpanStartColumn = 42, srcSpanEndLine = 268, srcSpanEndColumn = 47}, srcInfoPoints = []}) "path0")))))),GuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 3, srcSpanEndLine = 269, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 3, srcSpanEndLine = 269, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 20, srcSpanEndLine = 269, srcSpanEndColumn = 21}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 5, srcSpanEndLine = 269, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 5, srcSpanEndLine = 269, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 5, srcSpanEndLine = 269, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 5, srcSpanEndLine = 269, srcSpanEndColumn = 14}, srcInfoPoints = []}) "otherwise")))] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 22, srcSpanEndLine = 269, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 22, srcSpanEndLine = 269, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 22, srcSpanEndLine = 269, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 22, srcSpanEndLine = 269, srcSpanEndColumn = 32}, srcInfoPoints = []}) "createDirs"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 33, srcSpanEndLine = 269, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 33, srcSpanEndLine = 269, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 56, srcSpanEndLine = 269, srcSpanEndColumn = 57}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 34, srcSpanEndLine = 269, srcSpanEndColumn = 56}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 34, srcSpanEndLine = 269, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 34, srcSpanEndLine = 269, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 34, srcSpanEndLine = 269, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 34, srcSpanEndLine = 269, srcSpanEndColumn = 38}, srcInfoPoints = []}) "take"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 39, srcSpanEndLine = 269, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 39, srcSpanEndLine = 269, srcSpanEndColumn = 40}, srcInfoPoints = []}) 1 "1"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 41, srcSpanEndLine = 269, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 41, srcSpanEndLine = 269, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 55, srcSpanEndLine = 269, srcSpanEndColumn = 56}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 42, srcSpanEndLine = 269, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 42, srcSpanEndLine = 269, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 42, srcSpanEndLine = 269, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 42, srcSpanEndLine = 269, srcSpanEndColumn = 49}, srcInfoPoints = []}) "parents"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 50, srcSpanEndLine = 269, srcSpanEndColumn = 55}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 50, srcSpanEndLine = 269, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 269, srcSpanStartColumn = 50, srcSpanEndLine = 269, srcSpanEndColumn = 55}, srcInfoPoints = []}) "path0"))))))))]) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 5, srcSpanEndLine = 343, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 5, srcSpanEndLine = 271, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 5, srcSpanEndLine = 273, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 5, srcSpanEndLine = 274, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 5, srcSpanEndLine = 275, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 5, srcSpanEndLine = 280, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 5, srcSpanEndLine = 281, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 1, srcSpanEndLine = 343, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 5, srcSpanEndLine = 271, srcSpanEndColumn = 68}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 5, srcSpanEndLine = 271, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 5, srcSpanEndLine = 271, srcSpanEndColumn = 12}, srcInfoPoints = []}) "parents")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 13, srcSpanEndLine = 271, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 13, srcSpanEndLine = 271, srcSpanEndColumn = 14}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 15, srcSpanEndLine = 271, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 15, srcSpanEndLine = 271, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 15, srcSpanEndLine = 271, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 15, srcSpanEndLine = 271, srcSpanEndColumn = 22}, srcInfoPoints = []}) "reverse"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 23, srcSpanEndLine = 271, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 23, srcSpanEndLine = 271, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 23, srcSpanEndLine = 271, srcSpanEndColumn = 24}, srcInfoPoints = []}) "."))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 25, srcSpanEndLine = 271, srcSpanEndColumn = 68}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 25, srcSpanEndLine = 271, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 25, srcSpanEndLine = 271, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 25, srcSpanEndLine = 271, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 25, srcSpanEndLine = 271, srcSpanEndColumn = 31}, srcInfoPoints = []}) "scanl1"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 32, srcSpanEndLine = 271, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 32, srcSpanEndLine = 271, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 33, srcSpanEndLine = 271, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 36, srcSpanEndLine = 271, srcSpanEndColumn = 37}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 32, srcSpanEndLine = 271, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 32, srcSpanEndLine = 271, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 33, srcSpanEndLine = 271, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 36, srcSpanEndLine = 271, srcSpanEndColumn = 37}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 32, srcSpanEndLine = 271, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 32, srcSpanEndLine = 271, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 33, srcSpanEndLine = 271, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 36, srcSpanEndLine = 271, srcSpanEndColumn = 37}]}) "</>")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 38, srcSpanEndLine = 271, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 38, srcSpanEndLine = 271, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 38, srcSpanEndLine = 271, srcSpanEndColumn = 39}, srcInfoPoints = []}) "."))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 40, srcSpanEndLine = 271, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 40, srcSpanEndLine = 271, srcSpanEndColumn = 56}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 40, srcSpanEndLine = 271, srcSpanEndColumn = 56}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 40, srcSpanEndLine = 271, srcSpanEndColumn = 56}, srcInfoPoints = []}) "splitDirectories"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 57, srcSpanEndLine = 271, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 57, srcSpanEndLine = 271, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 57, srcSpanEndLine = 271, srcSpanEndColumn = 58}, srcInfoPoints = []}) "."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 59, srcSpanEndLine = 271, srcSpanEndColumn = 68}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 59, srcSpanEndLine = 271, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 271, srcSpanStartColumn = 59, srcSpanEndLine = 271, srcSpanEndColumn = 68}, srcInfoPoints = []}) "normalise"))))))) Nothing,FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 5, srcSpanEndLine = 280, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 5, srcSpanEndLine = 273, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 5, srcSpanEndLine = 273, srcSpanEndColumn = 15}, srcInfoPoints = []}) "createDirs") [PList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 16, srcSpanEndLine = 273, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 16, srcSpanEndLine = 273, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 17, srcSpanEndLine = 273, srcSpanEndColumn = 18}]}) []] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 27, srcSpanEndLine = 273, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 27, srcSpanEndLine = 273, srcSpanEndColumn = 28}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 29, srcSpanEndLine = 273, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 29, srcSpanEndLine = 273, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 29, srcSpanEndLine = 273, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 29, srcSpanEndLine = 273, srcSpanEndColumn = 35}, srcInfoPoints = []}) "return"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 36, srcSpanEndLine = 273, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 36, srcSpanEndLine = 273, srcSpanEndColumn = 37},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 37, srcSpanEndLine = 273, srcSpanEndColumn = 38}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 36, srcSpanEndLine = 273, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 36, srcSpanEndLine = 273, srcSpanEndColumn = 37},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 37, srcSpanEndLine = 273, srcSpanEndColumn = 38}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 36, srcSpanEndLine = 273, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 36, srcSpanEndLine = 273, srcSpanEndColumn = 37},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 273, srcSpanStartColumn = 37, srcSpanEndLine = 273, srcSpanEndColumn = 38}]})))))) Nothing,Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 5, srcSpanEndLine = 274, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 5, srcSpanEndLine = 274, srcSpanEndColumn = 15}, srcInfoPoints = []}) "createDirs") [PParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 16, srcSpanEndLine = 274, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 16, srcSpanEndLine = 274, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 23, srcSpanEndLine = 274, srcSpanEndColumn = 24}]}) (PInfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 17, srcSpanEndLine = 274, srcSpanEndColumn = 23}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 17, srcSpanEndLine = 274, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 17, srcSpanEndLine = 274, srcSpanEndColumn = 20}, srcInfoPoints = []}) "dir")) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 20, srcSpanEndLine = 274, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Cons (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 20, srcSpanEndLine = 274, srcSpanEndColumn = 21}, srcInfoPoints = []}))) (PList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 21, srcSpanEndLine = 274, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 21, srcSpanEndLine = 274, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 22, srcSpanEndLine = 274, srcSpanEndColumn = 23}]}) []))] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 27, srcSpanEndLine = 274, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 27, srcSpanEndLine = 274, srcSpanEndColumn = 28}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 29, srcSpanEndLine = 274, srcSpanEndColumn = 48}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 29, srcSpanEndLine = 274, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 29, srcSpanEndLine = 274, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 29, srcSpanEndLine = 274, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 29, srcSpanEndLine = 274, srcSpanEndColumn = 38}, srcInfoPoints = []}) "createDir"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 39, srcSpanEndLine = 274, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 39, srcSpanEndLine = 274, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 39, srcSpanEndLine = 274, srcSpanEndColumn = 42}, srcInfoPoints = []}) "dir")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 43, srcSpanEndLine = 274, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 43, srcSpanEndLine = 274, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 274, srcSpanStartColumn = 43, srcSpanEndLine = 274, srcSpanEndColumn = 48}, srcInfoPoints = []}) "throw"))))) Nothing,Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 5, srcSpanEndLine = 280, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 5, srcSpanEndLine = 275, srcSpanEndColumn = 15}, srcInfoPoints = []}) "createDirs") [PParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 16, srcSpanEndLine = 275, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 16, srcSpanEndLine = 275, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 25, srcSpanEndLine = 275, srcSpanEndColumn = 26}]}) (PInfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 17, srcSpanEndLine = 275, srcSpanEndColumn = 25}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 17, srcSpanEndLine = 275, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 17, srcSpanEndLine = 275, srcSpanEndColumn = 20}, srcInfoPoints = []}) "dir")) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 20, srcSpanEndLine = 275, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Cons (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 20, srcSpanEndLine = 275, srcSpanEndColumn = 21}, srcInfoPoints = []}))) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 21, srcSpanEndLine = 275, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 21, srcSpanEndLine = 275, srcSpanEndColumn = 25}, srcInfoPoints = []}) "dirs")))] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 27, srcSpanEndLine = 280, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 275, srcSpanStartColumn = 27, srcSpanEndLine = 275, srcSpanEndColumn = 28}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 7, srcSpanEndLine = 280, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 7, srcSpanEndLine = 276, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 7, srcSpanEndLine = 276, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 7, srcSpanEndLine = 276, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 7, srcSpanEndLine = 276, srcSpanEndColumn = 16}, srcInfoPoints = []}) "createDir"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 17, srcSpanEndLine = 276, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 17, srcSpanEndLine = 276, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 17, srcSpanEndLine = 276, srcSpanEndColumn = 20}, srcInfoPoints = []}) "dir")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 21, srcSpanEndLine = 276, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 21, srcSpanEndLine = 276, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 21, srcSpanEndLine = 276, srcSpanEndColumn = 22}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 23, srcSpanEndLine = 280, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 23, srcSpanEndLine = 276, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 26, srcSpanEndLine = 276, srcSpanEndColumn = 28}]}) [PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 24, srcSpanEndLine = 276, srcSpanEndColumn = 25}, srcInfoPoints = []})] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 29, srcSpanEndLine = 280, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 276, srcSpanStartColumn = 29, srcSpanEndLine = 276, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 277, srcSpanStartColumn = 9, srcSpanEndLine = 277, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 9, srcSpanEndLine = 278, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 5, srcSpanEndLine = 280, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 277, srcSpanStartColumn = 9, srcSpanEndLine = 277, srcSpanEndColumn = 24}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 277, srcSpanStartColumn = 9, srcSpanEndLine = 277, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 277, srcSpanStartColumn = 9, srcSpanEndLine = 277, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 277, srcSpanStartColumn = 9, srcSpanEndLine = 277, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 277, srcSpanStartColumn = 9, srcSpanEndLine = 277, srcSpanEndColumn = 19}, srcInfoPoints = []}) "createDirs"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 277, srcSpanStartColumn = 20, srcSpanEndLine = 277, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 277, srcSpanStartColumn = 20, srcSpanEndLine = 277, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 277, srcSpanStartColumn = 20, srcSpanEndLine = 277, srcSpanEndColumn = 24}, srcInfoPoints = []}) "dirs")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 9, srcSpanEndLine = 278, srcSpanEndColumn = 28}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 9, srcSpanEndLine = 278, srcSpanEndColumn = 28}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 9, srcSpanEndLine = 278, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 9, srcSpanEndLine = 278, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 9, srcSpanEndLine = 278, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 9, srcSpanEndLine = 278, srcSpanEndColumn = 18}, srcInfoPoints = []}) "createDir"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 19, srcSpanEndLine = 278, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 19, srcSpanEndLine = 278, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 19, srcSpanEndLine = 278, srcSpanEndColumn = 22}, srcInfoPoints = []}) "dir")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 23, srcSpanEndLine = 278, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 23, srcSpanEndLine = 278, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 278, srcSpanStartColumn = 23, srcSpanEndLine = 278, srcSpanEndColumn = 28}, srcInfoPoints = []}) "throw"))))])))) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 5, srcSpanEndLine = 280, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 15, srcSpanEndLine = 280, srcSpanEndColumn = 17}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 5, srcSpanEndLine = 280, srcSpanEndColumn = 14}, srcInfoPoints = []}) "createDir"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 18, srcSpanEndLine = 280, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 27, srcSpanEndLine = 280, srcSpanEndColumn = 29}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 18, srcSpanEndLine = 280, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 18, srcSpanEndLine = 280, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 18, srcSpanEndLine = 280, srcSpanEndColumn = 26}, srcInfoPoints = []}) "FilePath"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 30, srcSpanEndLine = 280, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 53, srcSpanEndLine = 280, srcSpanEndColumn = 55}]}) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 30, srcSpanEndLine = 280, srcSpanEndColumn = 52}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 30, srcSpanEndLine = 280, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 51, srcSpanEndLine = 280, srcSpanEndColumn = 52}]}) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 31, srcSpanEndLine = 280, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 43, srcSpanEndLine = 280, srcSpanEndColumn = 45}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 31, srcSpanEndLine = 280, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 31, srcSpanEndLine = 280, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 31, srcSpanEndLine = 280, srcSpanEndColumn = 42}, srcInfoPoints = []}) "IOException"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 46, srcSpanEndLine = 280, srcSpanEndColumn = 51}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 46, srcSpanEndLine = 280, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 46, srcSpanEndLine = 280, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 46, srcSpanEndLine = 280, srcSpanEndColumn = 48}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 49, srcSpanEndLine = 280, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 49, srcSpanEndLine = 280, srcSpanEndColumn = 50},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 50, srcSpanEndLine = 280, srcSpanEndColumn = 51}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 49, srcSpanEndLine = 280, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 49, srcSpanEndLine = 280, srcSpanEndColumn = 50},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 50, srcSpanEndLine = 280, srcSpanEndColumn = 51}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 49, srcSpanEndLine = 280, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 49, srcSpanEndLine = 280, srcSpanEndColumn = 50},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 50, srcSpanEndLine = 280, srcSpanEndColumn = 51}]}))))))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 56, srcSpanEndLine = 280, srcSpanEndColumn = 61}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 56, srcSpanEndLine = 280, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 56, srcSpanEndLine = 280, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 56, srcSpanEndLine = 280, srcSpanEndColumn = 58}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 59, srcSpanEndLine = 280, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 59, srcSpanEndLine = 280, srcSpanEndColumn = 60},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 60, srcSpanEndLine = 280, srcSpanEndColumn = 61}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 59, srcSpanEndLine = 280, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 59, srcSpanEndLine = 280, srcSpanEndColumn = 60},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 60, srcSpanEndLine = 280, srcSpanEndColumn = 61}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 59, srcSpanEndLine = 280, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 59, srcSpanEndLine = 280, srcSpanEndColumn = 60},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 280, srcSpanStartColumn = 60, srcSpanEndLine = 280, srcSpanEndColumn = 61}]}))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 5, srcSpanEndLine = 343, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 5, srcSpanEndLine = 343, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 5, srcSpanEndLine = 281, srcSpanEndColumn = 14}, srcInfoPoints = []}) "createDir") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 15, srcSpanEndLine = 281, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 15, srcSpanEndLine = 281, srcSpanEndColumn = 18}, srcInfoPoints = []}) "dir"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 19, srcSpanEndLine = 281, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 19, srcSpanEndLine = 281, srcSpanEndColumn = 34}, srcInfoPoints = []}) "notExistHandler")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 35, srcSpanEndLine = 343, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 35, srcSpanEndLine = 281, srcSpanEndColumn = 36}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 37, srcSpanEndLine = 343, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 281, srcSpanStartColumn = 37, srcSpanEndLine = 281, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 7, srcSpanEndLine = 282, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 7, srcSpanEndLine = 283, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 1, srcSpanEndLine = 343, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 7, srcSpanEndLine = 282, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 9, srcSpanEndLine = 282, srcSpanEndColumn = 11}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 7, srcSpanEndLine = 282, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 7, srcSpanEndLine = 282, srcSpanEndColumn = 8}, srcInfoPoints = []}) "r")) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 12, srcSpanEndLine = 282, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 12, srcSpanEndLine = 282, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 12, srcSpanEndLine = 282, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 12, srcSpanEndLine = 282, srcSpanEndColumn = 15}, srcInfoPoints = []}) "try"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 16, srcSpanEndLine = 282, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 16, srcSpanEndLine = 282, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 16, srcSpanEndLine = 282, srcSpanEndColumn = 17}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 18, srcSpanEndLine = 282, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 18, srcSpanEndLine = 282, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 18, srcSpanEndLine = 282, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 18, srcSpanEndLine = 282, srcSpanEndColumn = 33}, srcInfoPoints = []}) "createDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 34, srcSpanEndLine = 282, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 34, srcSpanEndLine = 282, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 282, srcSpanStartColumn = 34, srcSpanEndLine = 282, srcSpanEndColumn = 37}, srcInfoPoints = []}) "dir"))))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 7, srcSpanEndLine = 343, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 7, srcSpanEndLine = 283, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 41, srcSpanEndLine = 283, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 9, srcSpanEndLine = 284, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 285, srcSpanStartColumn = 9, srcSpanEndLine = 285, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 1, srcSpanEndLine = 343, srcSpanEndColumn = 0}]}) (Case (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 7, srcSpanEndLine = 343, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 7, srcSpanEndLine = 283, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 41, srcSpanEndLine = 283, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 9, srcSpanEndLine = 284, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 285, srcSpanStartColumn = 9, srcSpanEndLine = 285, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 1, srcSpanEndLine = 343, srcSpanEndColumn = 0}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 12, srcSpanEndLine = 283, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 12, srcSpanEndLine = 283, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 39, srcSpanEndLine = 283, srcSpanEndColumn = 40}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 13, srcSpanEndLine = 283, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 15, srcSpanEndLine = 283, srcSpanEndColumn = 17}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 13, srcSpanEndLine = 283, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 13, srcSpanEndLine = 283, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 13, srcSpanEndLine = 283, srcSpanEndColumn = 14}, srcInfoPoints = []}) "r"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 18, srcSpanEndLine = 283, srcSpanEndColumn = 39}, srcInfoPoints = []}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 18, srcSpanEndLine = 283, srcSpanEndColumn = 36}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 18, srcSpanEndLine = 283, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 18, srcSpanEndLine = 283, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 18, srcSpanEndLine = 283, srcSpanEndColumn = 24}, srcInfoPoints = []}) "Either"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 25, srcSpanEndLine = 283, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 25, srcSpanEndLine = 283, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 25, srcSpanEndLine = 283, srcSpanEndColumn = 36}, srcInfoPoints = []}) "IOException")))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 37, srcSpanEndLine = 283, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 37, srcSpanEndLine = 283, srcSpanEndColumn = 38},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 38, srcSpanEndLine = 283, srcSpanEndColumn = 39}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 37, srcSpanEndLine = 283, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 37, srcSpanEndLine = 283, srcSpanEndColumn = 38},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 38, srcSpanEndLine = 283, srcSpanEndColumn = 39}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 37, srcSpanEndLine = 283, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 37, srcSpanEndLine = 283, srcSpanEndColumn = 38},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 283, srcSpanStartColumn = 38, srcSpanEndLine = 283, srcSpanEndColumn = 39}]}))))))) [Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 9, srcSpanEndLine = 284, srcSpanEndColumn = 48}, srcInfoPoints = []}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 9, srcSpanEndLine = 284, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 9, srcSpanEndLine = 284, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 9, srcSpanEndLine = 284, srcSpanEndColumn = 14}, srcInfoPoints = []}) "Right")) [PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 15, srcSpanEndLine = 284, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 15, srcSpanEndLine = 284, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 16, srcSpanEndLine = 284, srcSpanEndColumn = 17}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 15, srcSpanEndLine = 284, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 15, srcSpanEndLine = 284, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 16, srcSpanEndLine = 284, srcSpanEndColumn = 17}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 15, srcSpanEndLine = 284, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 15, srcSpanEndLine = 284, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 16, srcSpanEndLine = 284, srcSpanEndColumn = 17}]}))) []]) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 36, srcSpanEndLine = 284, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 36, srcSpanEndLine = 284, srcSpanEndColumn = 38}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 39, srcSpanEndLine = 284, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 39, srcSpanEndLine = 284, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 39, srcSpanEndLine = 284, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 39, srcSpanEndLine = 284, srcSpanEndColumn = 45}, srcInfoPoints = []}) "return"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 46, srcSpanEndLine = 284, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 46, srcSpanEndLine = 284, srcSpanEndColumn = 47},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 47, srcSpanEndLine = 284, srcSpanEndColumn = 48}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 46, srcSpanEndLine = 284, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 46, srcSpanEndLine = 284, srcSpanEndColumn = 47},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 47, srcSpanEndLine = 284, srcSpanEndColumn = 48}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 46, srcSpanEndLine = 284, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 46, srcSpanEndLine = 284, srcSpanEndColumn = 47},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 284, srcSpanStartColumn = 47, srcSpanEndLine = 284, srcSpanEndColumn = 48}]})))))) Nothing,Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 285, srcSpanStartColumn = 9, srcSpanEndLine = 300, srcSpanEndColumn = 46}, srcInfoPoints = []}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 285, srcSpanStartColumn = 9, srcSpanEndLine = 285, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 285, srcSpanStartColumn = 9, srcSpanEndLine = 285, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 285, srcSpanStartColumn = 9, srcSpanEndLine = 285, srcSpanEndColumn = 13}, srcInfoPoints = []}) "Left")) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 285, srcSpanStartColumn = 15, srcSpanEndLine = 285, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 285, srcSpanStartColumn = 15, srcSpanEndLine = 285, srcSpanEndColumn = 16}, srcInfoPoints = []}) "e")]) (GuardedAlts (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 11, srcSpanEndLine = 300, srcSpanEndColumn = 46}, srcInfoPoints = []}) [GuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 11, srcSpanEndLine = 286, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 11, srcSpanEndLine = 286, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 36, srcSpanEndLine = 286, srcSpanEndColumn = 38}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 13, srcSpanEndLine = 286, srcSpanEndColumn = 35}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 13, srcSpanEndLine = 286, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 13, srcSpanEndLine = 286, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 13, srcSpanEndLine = 286, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 13, srcSpanEndLine = 286, srcSpanEndColumn = 32}, srcInfoPoints = []}) "isDoesNotExistError"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 34, srcSpanEndLine = 286, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 34, srcSpanEndLine = 286, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 34, srcSpanEndLine = 286, srcSpanEndColumn = 35}, srcInfoPoints = []}) "e"))))] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 39, srcSpanEndLine = 286, srcSpanEndColumn = 56}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 39, srcSpanEndLine = 286, srcSpanEndColumn = 54}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 39, srcSpanEndLine = 286, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 39, srcSpanEndLine = 286, srcSpanEndColumn = 54}, srcInfoPoints = []}) "notExistHandler"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 55, srcSpanEndLine = 286, srcSpanEndColumn = 56}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 55, srcSpanEndLine = 286, srcSpanEndColumn = 56}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 286, srcSpanStartColumn = 55, srcSpanEndLine = 286, srcSpanEndColumn = 56}, srcInfoPoints = []}) "e")))),GuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 11, srcSpanEndLine = 299, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 11, srcSpanEndLine = 294, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 36, srcSpanEndLine = 294, srcSpanEndColumn = 38}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 13, srcSpanEndLine = 294, srcSpanEndColumn = 35}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 13, srcSpanEndLine = 294, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 13, srcSpanEndLine = 294, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 13, srcSpanEndLine = 294, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 13, srcSpanEndLine = 294, srcSpanEndColumn = 33}, srcInfoPoints = []}) "isAlreadyExistsError"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 34, srcSpanEndLine = 294, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 34, srcSpanEndLine = 294, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 34, srcSpanEndLine = 294, srcSpanEndColumn = 35}, srcInfoPoints = []}) "e"))))] (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 39, srcSpanEndLine = 299, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 39, srcSpanEndLine = 299, srcSpanEndColumn = 16}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 39, srcSpanEndLine = 294, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 15, srcSpanEndLine = 299, srcSpanEndColumn = 16}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 40, srcSpanEndLine = 299, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 294, srcSpanStartColumn = 40, srcSpanEndLine = 294, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 15, srcSpanEndLine = 295, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 15, srcSpanEndLine = 299, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 15, srcSpanEndLine = 299, srcSpanEndColumn = 15}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 15, srcSpanEndLine = 299, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 15, srcSpanEndLine = 299, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 15, srcSpanEndLine = 295, srcSpanEndColumn = 60}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 15, srcSpanEndLine = 295, srcSpanEndColumn = 56}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 15, srcSpanEndLine = 295, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 15, srcSpanEndLine = 295, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 15, srcSpanEndLine = 295, srcSpanEndColumn = 29}, srcInfoPoints = []}) "withFileStatus"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 30, srcSpanEndLine = 295, srcSpanEndColumn = 56}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 30, srcSpanEndLine = 295, srcSpanEndColumn = 56}, srcInfoPoints = []}) "createDirectoryIfMissing" "createDirectoryIfMissing"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 57, srcSpanEndLine = 295, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 57, srcSpanEndLine = 295, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 57, srcSpanEndLine = 295, srcSpanEndColumn = 60}, srcInfoPoints = []}) "dir")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 61, srcSpanEndLine = 295, srcSpanEndColumn = 62}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 61, srcSpanEndLine = 295, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 61, srcSpanEndLine = 295, srcSpanEndColumn = 62}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 63, srcSpanEndLine = 299, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 63, srcSpanEndLine = 295, srcSpanEndColumn = 64},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 67, srcSpanEndLine = 295, srcSpanEndColumn = 69}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 64, srcSpanEndLine = 295, srcSpanEndColumn = 66}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 64, srcSpanEndLine = 295, srcSpanEndColumn = 66}, srcInfoPoints = []}) "st")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 70, srcSpanEndLine = 299, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 295, srcSpanStartColumn = 70, srcSpanEndLine = 295, srcSpanEndColumn = 72},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 18, srcSpanEndLine = 296, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 18, srcSpanEndLine = 297, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 15, srcSpanEndLine = 299, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 18, srcSpanEndLine = 296, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 24, srcSpanEndLine = 296, srcSpanEndColumn = 26}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 18, srcSpanEndLine = 296, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 18, srcSpanEndLine = 296, srcSpanEndColumn = 23}, srcInfoPoints = []}) "isDir")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 27, srcSpanEndLine = 296, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 27, srcSpanEndLine = 296, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 27, srcSpanEndLine = 296, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 27, srcSpanEndLine = 296, srcSpanEndColumn = 38}, srcInfoPoints = []}) "isDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 39, srcSpanEndLine = 296, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 39, srcSpanEndLine = 296, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 296, srcSpanStartColumn = 39, srcSpanEndLine = 296, srcSpanEndColumn = 41}, srcInfoPoints = []}) "st")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 18, srcSpanEndLine = 298, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 18, srcSpanEndLine = 297, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 27, srcSpanEndLine = 297, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 298, srcSpanStartColumn = 27, srcSpanEndLine = 298, srcSpanEndColumn = 31}]}) (If (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 18, srcSpanEndLine = 298, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 18, srcSpanEndLine = 297, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 27, srcSpanEndLine = 297, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 298, srcSpanStartColumn = 27, srcSpanEndLine = 298, srcSpanEndColumn = 31}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 21, srcSpanEndLine = 297, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 21, srcSpanEndLine = 297, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 21, srcSpanEndLine = 297, srcSpanEndColumn = 26}, srcInfoPoints = []}) "isDir"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 32, srcSpanEndLine = 297, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 32, srcSpanEndLine = 297, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 32, srcSpanEndLine = 297, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 32, srcSpanEndLine = 297, srcSpanEndColumn = 38}, srcInfoPoints = []}) "return"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 39, srcSpanEndLine = 297, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 39, srcSpanEndLine = 297, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 40, srcSpanEndLine = 297, srcSpanEndColumn = 41}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 39, srcSpanEndLine = 297, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 39, srcSpanEndLine = 297, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 40, srcSpanEndLine = 297, srcSpanEndColumn = 41}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 39, srcSpanEndLine = 297, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 39, srcSpanEndLine = 297, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 297, srcSpanStartColumn = 40, srcSpanEndLine = 297, srcSpanEndColumn = 41}]}))))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 298, srcSpanStartColumn = 32, srcSpanEndLine = 298, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 298, srcSpanStartColumn = 32, srcSpanEndLine = 298, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 298, srcSpanStartColumn = 32, srcSpanEndLine = 298, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 298, srcSpanStartColumn = 32, srcSpanEndLine = 298, srcSpanEndColumn = 37}, srcInfoPoints = []}) "throw"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 298, srcSpanStartColumn = 38, srcSpanEndLine = 298, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 298, srcSpanStartColumn = 38, srcSpanEndLine = 298, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 298, srcSpanStartColumn = 38, srcSpanEndLine = 298, srcSpanEndColumn = 39}, srcInfoPoints = []}) "e")))))])))])) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 17, srcSpanEndLine = 299, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 17, srcSpanEndLine = 299, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 18, srcSpanEndLine = 299, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 23, srcSpanEndLine = 299, srcSpanEndColumn = 24}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 17, srcSpanEndLine = 299, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 17, srcSpanEndLine = 299, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 18, srcSpanEndLine = 299, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 23, srcSpanEndLine = 299, srcSpanEndColumn = 24}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 17, srcSpanEndLine = 299, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 17, srcSpanEndLine = 299, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 18, srcSpanEndLine = 299, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 23, srcSpanEndLine = 299, srcSpanEndColumn = 24}]}) "catch"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 25, srcSpanEndLine = 299, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 25, srcSpanEndLine = 299, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 67, srcSpanEndLine = 299, srcSpanEndColumn = 68}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 26, srcSpanEndLine = 299, srcSpanEndColumn = 67}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 44, srcSpanEndLine = 299, srcSpanEndColumn = 46}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 26, srcSpanEndLine = 299, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 26, srcSpanEndLine = 299, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 42, srcSpanEndLine = 299, srcSpanEndColumn = 43}]}) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 27, srcSpanEndLine = 299, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 27, srcSpanEndLine = 299, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 30, srcSpanEndLine = 299, srcSpanEndColumn = 32}]}) [PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 28, srcSpanEndLine = 299, srcSpanEndColumn = 29}, srcInfoPoints = []})] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 33, srcSpanEndLine = 299, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 33, srcSpanEndLine = 299, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 33, srcSpanEndLine = 299, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 33, srcSpanEndLine = 299, srcSpanEndColumn = 39}, srcInfoPoints = []}) "return"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 40, srcSpanEndLine = 299, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 40, srcSpanEndLine = 299, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 41, srcSpanEndLine = 299, srcSpanEndColumn = 42}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 40, srcSpanEndLine = 299, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 40, srcSpanEndLine = 299, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 41, srcSpanEndLine = 299, srcSpanEndColumn = 42}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 40, srcSpanEndLine = 299, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 40, srcSpanEndLine = 299, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 41, srcSpanEndLine = 299, srcSpanEndColumn = 42}]}))))))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 47, srcSpanEndLine = 299, srcSpanEndColumn = 67}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 59, srcSpanEndLine = 299, srcSpanEndColumn = 61}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 47, srcSpanEndLine = 299, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 47, srcSpanEndLine = 299, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 47, srcSpanEndLine = 299, srcSpanEndColumn = 58}, srcInfoPoints = []}) "IOException"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 62, srcSpanEndLine = 299, srcSpanEndColumn = 67}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 62, srcSpanEndLine = 299, srcSpanEndColumn = 64}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 62, srcSpanEndLine = 299, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 62, srcSpanEndLine = 299, srcSpanEndColumn = 64}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 65, srcSpanEndLine = 299, srcSpanEndColumn = 67}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 65, srcSpanEndLine = 299, srcSpanEndColumn = 66},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 66, srcSpanEndLine = 299, srcSpanEndColumn = 67}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 65, srcSpanEndLine = 299, srcSpanEndColumn = 67}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 65, srcSpanEndLine = 299, srcSpanEndColumn = 66},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 66, srcSpanEndLine = 299, srcSpanEndColumn = 67}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 65, srcSpanEndLine = 299, srcSpanEndColumn = 67}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 65, srcSpanEndLine = 299, srcSpanEndColumn = 66},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 299, srcSpanStartColumn = 66, srcSpanEndLine = 299, srcSpanEndColumn = 67}]}))))))))),GuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 11, srcSpanEndLine = 300, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 11, srcSpanEndLine = 300, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 36, srcSpanEndLine = 300, srcSpanEndColumn = 38}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 13, srcSpanEndLine = 300, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 13, srcSpanEndLine = 300, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 13, srcSpanEndLine = 300, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 13, srcSpanEndLine = 300, srcSpanEndColumn = 22}, srcInfoPoints = []}) "otherwise")))] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 39, srcSpanEndLine = 300, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 39, srcSpanEndLine = 300, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 39, srcSpanEndLine = 300, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 39, srcSpanEndLine = 300, srcSpanEndColumn = 44}, srcInfoPoints = []}) "throw"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 45, srcSpanEndLine = 300, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 45, srcSpanEndLine = 300, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 300, srcSpanStartColumn = 45, srcSpanEndLine = 300, srcSpanEndColumn = 46}, srcInfoPoints = []}) "e"))))]) Nothing])])) Nothing]]))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 1, srcSpanEndLine = 343, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 17, srcSpanEndLine = 343, srcSpanEndColumn = 19}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 1, srcSpanEndLine = 343, srcSpanEndColumn = 16}, srcInfoPoints = []}) "removeDirectory"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 20, srcSpanEndLine = 343, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 29, srcSpanEndLine = 343, srcSpanEndColumn = 31}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 20, srcSpanEndLine = 343, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 20, srcSpanEndLine = 343, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 20, srcSpanEndLine = 343, srcSpanEndColumn = 28}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 32, srcSpanEndLine = 343, srcSpanEndColumn = 37}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 32, srcSpanEndLine = 343, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 32, srcSpanEndLine = 343, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 32, srcSpanEndLine = 343, srcSpanEndColumn = 34}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 35, srcSpanEndLine = 343, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 35, srcSpanEndLine = 343, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 36, srcSpanEndLine = 343, srcSpanEndColumn = 37}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 35, srcSpanEndLine = 343, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 35, srcSpanEndLine = 343, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 36, srcSpanEndLine = 343, srcSpanEndColumn = 37}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 35, srcSpanEndLine = 343, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 35, srcSpanEndLine = 343, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 343, srcSpanStartColumn = 36, srcSpanEndLine = 343, srcSpanEndColumn = 37}]})))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 344, srcSpanStartColumn = 1, srcSpanEndLine = 345, srcSpanEndColumn = 29}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 344, srcSpanStartColumn = 1, srcSpanEndLine = 345, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 344, srcSpanStartColumn = 1, srcSpanEndLine = 344, srcSpanEndColumn = 16}, srcInfoPoints = []}) "removeDirectory") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 344, srcSpanStartColumn = 17, srcSpanEndLine = 344, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 344, srcSpanStartColumn = 17, srcSpanEndLine = 344, srcSpanEndColumn = 21}, srcInfoPoints = []}) "path")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 344, srcSpanStartColumn = 22, srcSpanEndLine = 345, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 344, srcSpanStartColumn = 22, srcSpanEndLine = 344, srcSpanEndColumn = 23}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 345, srcSpanStartColumn = 3, srcSpanEndLine = 345, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 345, srcSpanStartColumn = 3, srcSpanEndLine = 345, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 345, srcSpanStartColumn = 3, srcSpanEndLine = 345, srcSpanEndColumn = 24}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 345, srcSpanStartColumn = 3, srcSpanEndLine = 345, srcSpanEndColumn = 24}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 345, srcSpanStartColumn = 3, srcSpanEndLine = 345, srcSpanEndColumn = 24}, srcInfoPoints = []}) "removeDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 345, srcSpanStartColumn = 25, srcSpanEndLine = 345, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 345, srcSpanStartColumn = 25, srcSpanEndLine = 345, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 345, srcSpanStartColumn = 25, srcSpanEndLine = 345, srcSpanEndColumn = 29}, srcInfoPoints = []}) "path"))))) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 1, srcSpanEndLine = 350, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 26, srcSpanEndLine = 350, srcSpanEndColumn = 28}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 1, srcSpanEndLine = 350, srcSpanEndColumn = 25}, srcInfoPoints = []}) "removeDirectoryRecursive"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 29, srcSpanEndLine = 350, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 38, srcSpanEndLine = 350, srcSpanEndColumn = 40}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 29, srcSpanEndLine = 350, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 29, srcSpanEndLine = 350, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 29, srcSpanEndLine = 350, srcSpanEndColumn = 37}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 41, srcSpanEndLine = 350, srcSpanEndColumn = 46}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 41, srcSpanEndLine = 350, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 41, srcSpanEndLine = 350, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 41, srcSpanEndLine = 350, srcSpanEndColumn = 43}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 44, srcSpanEndLine = 350, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 44, srcSpanEndLine = 350, srcSpanEndColumn = 45},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 45, srcSpanEndLine = 350, srcSpanEndColumn = 46}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 44, srcSpanEndLine = 350, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 44, srcSpanEndLine = 350, srcSpanEndColumn = 45},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 45, srcSpanEndLine = 350, srcSpanEndColumn = 46}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 44, srcSpanEndLine = 350, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 44, srcSpanEndLine = 350, srcSpanEndColumn = 45},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 350, srcSpanStartColumn = 45, srcSpanEndLine = 350, srcSpanEndColumn = 46}]})))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 351, srcSpanStartColumn = 1, srcSpanEndLine = 399, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 355, srcSpanStartColumn = 3, srcSpanEndLine = 355, srcSpanEndColumn = 8}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 351, srcSpanStartColumn = 1, srcSpanEndLine = 399, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 355, srcSpanStartColumn = 3, srcSpanEndLine = 355, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 351, srcSpanStartColumn = 1, srcSpanEndLine = 351, srcSpanEndColumn = 25}, srcInfoPoints = []}) "removeDirectoryRecursive") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 351, srcSpanStartColumn = 26, srcSpanEndLine = 351, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 351, srcSpanStartColumn = 26, srcSpanEndLine = 351, srcSpanEndColumn = 34}, srcInfoPoints = []}) "startLoc")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 351, srcSpanStartColumn = 35, srcSpanEndLine = 355, srcSpanEndColumn = 3}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 351, srcSpanStartColumn = 35, srcSpanEndLine = 351, srcSpanEndColumn = 36}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 351, srcSpanStartColumn = 37, srcSpanEndLine = 355, srcSpanEndColumn = 3}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 351, srcSpanStartColumn = 37, srcSpanEndLine = 351, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 3, srcSpanEndLine = 352, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 3, srcSpanEndLine = 353, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 354, srcSpanStartColumn = 3, srcSpanEndLine = 354, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 355, srcSpanStartColumn = 3, srcSpanEndLine = 355, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 355, srcSpanStartColumn = 3, srcSpanEndLine = 355, srcSpanEndColumn = 3}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 3, srcSpanEndLine = 352, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 8, srcSpanEndLine = 352, srcSpanEndColumn = 10}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 3, srcSpanEndLine = 352, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 3, srcSpanEndLine = 352, srcSpanEndColumn = 7}, srcInfoPoints = []}) "cont")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 11, srcSpanEndLine = 352, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 11, srcSpanEndLine = 352, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 11, srcSpanEndLine = 352, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 11, srcSpanEndLine = 352, srcSpanEndColumn = 31}, srcInfoPoints = []}) "getDirectoryContents"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 32, srcSpanEndLine = 352, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 32, srcSpanEndLine = 352, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 352, srcSpanStartColumn = 32, srcSpanEndLine = 352, srcSpanEndColumn = 40}, srcInfoPoints = []}) "startLoc")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 3, srcSpanEndLine = 353, srcSpanEndColumn = 69}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 3, srcSpanEndLine = 353, srcSpanEndColumn = 69}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 3, srcSpanEndLine = 353, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 3, srcSpanEndLine = 353, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 3, srcSpanEndLine = 353, srcSpanEndColumn = 12}, srcInfoPoints = []}) "sequence_"))) (ListComp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 13, srcSpanEndLine = 353, srcSpanEndColumn = 69}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 13, srcSpanEndLine = 353, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 34, srcSpanEndLine = 353, srcSpanEndColumn = 35},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 45, srcSpanEndLine = 353, srcSpanEndColumn = 46},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 68, srcSpanEndLine = 353, srcSpanEndColumn = 69}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 14, srcSpanEndLine = 353, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 14, srcSpanEndLine = 353, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 14, srcSpanEndLine = 353, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 14, srcSpanEndLine = 353, srcSpanEndColumn = 16}, srcInfoPoints = []}) "rm"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 17, srcSpanEndLine = 353, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 17, srcSpanEndLine = 353, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 32, srcSpanEndLine = 353, srcSpanEndColumn = 33}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 18, srcSpanEndLine = 353, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 18, srcSpanEndLine = 353, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 18, srcSpanEndLine = 353, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 18, srcSpanEndLine = 353, srcSpanEndColumn = 26}, srcInfoPoints = []}) "startLoc"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 27, srcSpanEndLine = 353, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 27, srcSpanEndLine = 353, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 27, srcSpanEndLine = 353, srcSpanEndColumn = 30}, srcInfoPoints = []}) "</>"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 31, srcSpanEndLine = 353, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 31, srcSpanEndLine = 353, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 31, srcSpanEndLine = 353, srcSpanEndColumn = 32}, srcInfoPoints = []}) "x")))))) [QualStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 36, srcSpanEndLine = 353, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 38, srcSpanEndLine = 353, srcSpanEndColumn = 40}]}) (Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 36, srcSpanEndLine = 353, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 38, srcSpanEndLine = 353, srcSpanEndColumn = 40}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 36, srcSpanEndLine = 353, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 36, srcSpanEndLine = 353, srcSpanEndColumn = 37}, srcInfoPoints = []}) "x")) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 41, srcSpanEndLine = 353, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 41, srcSpanEndLine = 353, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 41, srcSpanEndLine = 353, srcSpanEndColumn = 45}, srcInfoPoints = []}) "cont")))),QualStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 47, srcSpanEndLine = 353, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 47, srcSpanEndLine = 353, srcSpanEndColumn = 68}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 47, srcSpanEndLine = 353, srcSpanEndColumn = 68}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 47, srcSpanEndLine = 353, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 47, srcSpanEndLine = 353, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 47, srcSpanEndLine = 353, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 47, srcSpanEndLine = 353, srcSpanEndColumn = 48}, srcInfoPoints = []}) "x"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 49, srcSpanEndLine = 353, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 49, srcSpanEndLine = 353, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 49, srcSpanEndLine = 353, srcSpanEndColumn = 51}, srcInfoPoints = []}) "/="))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 52, srcSpanEndLine = 353, srcSpanEndColumn = 55}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 52, srcSpanEndLine = 353, srcSpanEndColumn = 55}, srcInfoPoints = []}) "." "."))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 56, srcSpanEndLine = 353, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 56, srcSpanEndLine = 353, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 56, srcSpanEndLine = 353, srcSpanEndColumn = 58}, srcInfoPoints = []}) "&&"))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 59, srcSpanEndLine = 353, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 59, srcSpanEndLine = 353, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 59, srcSpanEndLine = 353, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 59, srcSpanEndLine = 353, srcSpanEndColumn = 60}, srcInfoPoints = []}) "x"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 61, srcSpanEndLine = 353, srcSpanEndColumn = 63}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 61, srcSpanEndLine = 353, srcSpanEndColumn = 63}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 61, srcSpanEndLine = 353, srcSpanEndColumn = 63}, srcInfoPoints = []}) "/="))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 64, srcSpanEndLine = 353, srcSpanEndColumn = 68}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 353, srcSpanStartColumn = 64, srcSpanEndLine = 353, srcSpanEndColumn = 68}, srcInfoPoints = []}) ".." "..")))))])),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 354, srcSpanStartColumn = 3, srcSpanEndLine = 354, srcSpanEndColumn = 27}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 354, srcSpanStartColumn = 3, srcSpanEndLine = 354, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 354, srcSpanStartColumn = 3, srcSpanEndLine = 354, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 354, srcSpanStartColumn = 3, srcSpanEndLine = 354, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 354, srcSpanStartColumn = 3, srcSpanEndLine = 354, srcSpanEndColumn = 18}, srcInfoPoints = []}) "removeDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 354, srcSpanStartColumn = 19, srcSpanEndLine = 354, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 354, srcSpanStartColumn = 19, srcSpanEndLine = 354, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 354, srcSpanStartColumn = 19, srcSpanEndLine = 354, srcSpanEndColumn = 27}, srcInfoPoints = []}) "startLoc"))))])) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 5, srcSpanEndLine = 399, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 5, srcSpanEndLine = 356, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 5, srcSpanEndLine = 357, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 1, srcSpanEndLine = 399, srcSpanEndColumn = 0}]}) [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 5, srcSpanEndLine = 356, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 8, srcSpanEndLine = 356, srcSpanEndColumn = 10}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 5, srcSpanEndLine = 356, srcSpanEndColumn = 7}, srcInfoPoints = []}) "rm"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 11, srcSpanEndLine = 356, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 20, srcSpanEndLine = 356, srcSpanEndColumn = 22}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 11, srcSpanEndLine = 356, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 11, srcSpanEndLine = 356, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 11, srcSpanEndLine = 356, srcSpanEndColumn = 19}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 23, srcSpanEndLine = 356, srcSpanEndColumn = 28}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 23, srcSpanEndLine = 356, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 23, srcSpanEndLine = 356, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 23, srcSpanEndLine = 356, srcSpanEndColumn = 25}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 26, srcSpanEndLine = 356, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 26, srcSpanEndLine = 356, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 27, srcSpanEndLine = 356, srcSpanEndColumn = 28}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 26, srcSpanEndLine = 356, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 26, srcSpanEndLine = 356, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 27, srcSpanEndLine = 356, srcSpanEndColumn = 28}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 26, srcSpanEndLine = 356, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 26, srcSpanEndLine = 356, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 356, srcSpanStartColumn = 27, srcSpanEndLine = 356, srcSpanEndColumn = 28}]})))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 5, srcSpanEndLine = 399, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 5, srcSpanEndLine = 399, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 5, srcSpanEndLine = 357, srcSpanEndColumn = 7}, srcInfoPoints = []}) "rm") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 8, srcSpanEndLine = 357, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 8, srcSpanEndLine = 357, srcSpanEndColumn = 9}, srcInfoPoints = []}) "f")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 10, srcSpanEndLine = 399, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 10, srcSpanEndLine = 357, srcSpanEndColumn = 11}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 12, srcSpanEndLine = 399, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 12, srcSpanEndLine = 357, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 15, srcSpanEndLine = 357, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 358, srcSpanStartColumn = 15, srcSpanEndLine = 358, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 1, srcSpanEndLine = 399, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 15, srcSpanEndLine = 357, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 20, srcSpanEndLine = 357, srcSpanEndColumn = 22}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 15, srcSpanEndLine = 357, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 15, srcSpanEndLine = 357, srcSpanEndColumn = 19}, srcInfoPoints = []}) "temp")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 23, srcSpanEndLine = 357, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 23, srcSpanEndLine = 357, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 23, srcSpanEndLine = 357, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 23, srcSpanEndLine = 357, srcSpanEndColumn = 26}, srcInfoPoints = []}) "try"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 27, srcSpanEndLine = 357, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 27, srcSpanEndLine = 357, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 40, srcSpanEndLine = 357, srcSpanEndColumn = 41}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 28, srcSpanEndLine = 357, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 28, srcSpanEndLine = 357, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 28, srcSpanEndLine = 357, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 28, srcSpanEndLine = 357, srcSpanEndColumn = 38}, srcInfoPoints = []}) "removeFile"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 39, srcSpanEndLine = 357, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 39, srcSpanEndLine = 357, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 357, srcSpanStartColumn = 39, srcSpanEndLine = 357, srcSpanEndColumn = 40}, srcInfoPoints = []}) "f")))))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 358, srcSpanStartColumn = 15, srcSpanEndLine = 399, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 358, srcSpanStartColumn = 15, srcSpanEndLine = 358, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 358, srcSpanStartColumn = 25, srcSpanEndLine = 358, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 17, srcSpanEndLine = 359, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 17, srcSpanEndLine = 363, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 1, srcSpanEndLine = 399, srcSpanEndColumn = 0}]}) (Case (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 358, srcSpanStartColumn = 15, srcSpanEndLine = 399, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 358, srcSpanStartColumn = 15, srcSpanEndLine = 358, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 358, srcSpanStartColumn = 25, srcSpanEndLine = 358, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 17, srcSpanEndLine = 359, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 17, srcSpanEndLine = 363, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 1, srcSpanEndLine = 399, srcSpanEndColumn = 0}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 358, srcSpanStartColumn = 20, srcSpanEndLine = 358, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 358, srcSpanStartColumn = 20, srcSpanEndLine = 358, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 358, srcSpanStartColumn = 20, srcSpanEndLine = 358, srcSpanEndColumn = 24}, srcInfoPoints = []}) "temp"))) [Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 17, srcSpanEndLine = 363, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 17, srcSpanEndLine = 359, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 17, srcSpanEndLine = 359, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 17, srcSpanEndLine = 359, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Left")) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 22, srcSpanEndLine = 359, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 22, srcSpanEndLine = 359, srcSpanEndColumn = 23}, srcInfoPoints = []}) "e")]) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 25, srcSpanEndLine = 363, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 25, srcSpanEndLine = 359, srcSpanEndColumn = 27}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 28, srcSpanEndLine = 363, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 28, srcSpanEndLine = 359, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 31, srcSpanEndLine = 359, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 31, srcSpanEndLine = 361, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 362, srcSpanStartColumn = 31, srcSpanEndLine = 362, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 17, srcSpanEndLine = 363, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 31, srcSpanEndLine = 359, srcSpanEndColumn = 60}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 37, srcSpanEndLine = 359, srcSpanEndColumn = 39}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 31, srcSpanEndLine = 359, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 31, srcSpanEndLine = 359, srcSpanEndColumn = 36}, srcInfoPoints = []}) "isDir")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 40, srcSpanEndLine = 359, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 40, srcSpanEndLine = 359, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 40, srcSpanEndLine = 359, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 40, srcSpanEndLine = 359, srcSpanEndColumn = 58}, srcInfoPoints = []}) "doesDirectoryExist"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 59, srcSpanEndLine = 359, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 59, srcSpanEndLine = 359, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 359, srcSpanStartColumn = 59, srcSpanEndLine = 359, srcSpanEndColumn = 60}, srcInfoPoints = []}) "f")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 31, srcSpanEndLine = 361, srcSpanEndColumn = 72}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 31, srcSpanEndLine = 361, srcSpanEndColumn = 72}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 31, srcSpanEndLine = 361, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 31, srcSpanEndLine = 361, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 31, srcSpanEndLine = 361, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 31, srcSpanEndLine = 361, srcSpanEndColumn = 37}, srcInfoPoints = []}) "unless"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 38, srcSpanEndLine = 361, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 38, srcSpanEndLine = 361, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 38, srcSpanEndLine = 361, srcSpanEndColumn = 43}, srcInfoPoints = []}) "isDir")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 44, srcSpanEndLine = 361, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 44, srcSpanEndLine = 361, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 44, srcSpanEndLine = 361, srcSpanEndColumn = 45}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 46, srcSpanEndLine = 361, srcSpanEndColumn = 72}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 46, srcSpanEndLine = 361, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 46, srcSpanEndLine = 361, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 46, srcSpanEndLine = 361, srcSpanEndColumn = 51}, srcInfoPoints = []}) "throw"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 52, srcSpanEndLine = 361, srcSpanEndColumn = 72}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 52, srcSpanEndLine = 361, srcSpanEndColumn = 53},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 71, srcSpanEndLine = 361, srcSpanEndColumn = 72}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 53, srcSpanEndLine = 361, srcSpanEndColumn = 71}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 55, srcSpanEndLine = 361, srcSpanEndColumn = 57}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 53, srcSpanEndLine = 361, srcSpanEndColumn = 54}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 53, srcSpanEndLine = 361, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 53, srcSpanEndLine = 361, srcSpanEndColumn = 54}, srcInfoPoints = []}) "e"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 58, srcSpanEndLine = 361, srcSpanEndColumn = 71}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 58, srcSpanEndLine = 361, srcSpanEndColumn = 71}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 361, srcSpanStartColumn = 58, srcSpanEndLine = 361, srcSpanEndColumn = 71}, srcInfoPoints = []}) "SomeException"))))))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 362, srcSpanStartColumn = 31, srcSpanEndLine = 362, srcSpanEndColumn = 57}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 362, srcSpanStartColumn = 31, srcSpanEndLine = 362, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 362, srcSpanStartColumn = 31, srcSpanEndLine = 362, srcSpanEndColumn = 55}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 362, srcSpanStartColumn = 31, srcSpanEndLine = 362, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 362, srcSpanStartColumn = 31, srcSpanEndLine = 362, srcSpanEndColumn = 55}, srcInfoPoints = []}) "removeDirectoryRecursive"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 362, srcSpanStartColumn = 56, srcSpanEndLine = 362, srcSpanEndColumn = 57}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 362, srcSpanStartColumn = 56, srcSpanEndLine = 362, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 362, srcSpanStartColumn = 56, srcSpanEndLine = 362, srcSpanEndColumn = 57}, srcInfoPoints = []}) "f"))))])) Nothing,Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 17, srcSpanEndLine = 363, srcSpanEndColumn = 37}, srcInfoPoints = []}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 17, srcSpanEndLine = 363, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 17, srcSpanEndLine = 363, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 17, srcSpanEndLine = 363, srcSpanEndColumn = 22}, srcInfoPoints = []}) "Right")) [PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 23, srcSpanEndLine = 363, srcSpanEndColumn = 24}, srcInfoPoints = []})]) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 25, srcSpanEndLine = 363, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 25, srcSpanEndLine = 363, srcSpanEndColumn = 27}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 28, srcSpanEndLine = 363, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 28, srcSpanEndLine = 363, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 28, srcSpanEndLine = 363, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 28, srcSpanEndLine = 363, srcSpanEndColumn = 34}, srcInfoPoints = []}) "return"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 35, srcSpanEndLine = 363, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 35, srcSpanEndLine = 363, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 36, srcSpanEndLine = 363, srcSpanEndColumn = 37}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 35, srcSpanEndLine = 363, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 35, srcSpanEndLine = 363, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 36, srcSpanEndLine = 363, srcSpanEndColumn = 37}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 35, srcSpanEndLine = 363, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 35, srcSpanEndLine = 363, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 363, srcSpanStartColumn = 36, srcSpanEndLine = 363, srcSpanEndColumn = 37}]})))))) Nothing])])) Nothing]]))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 1, srcSpanEndLine = 399, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 12, srcSpanEndLine = 399, srcSpanEndColumn = 14}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 1, srcSpanEndLine = 399, srcSpanEndColumn = 11}, srcInfoPoints = []}) "removeFile"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 15, srcSpanEndLine = 399, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 24, srcSpanEndLine = 399, srcSpanEndColumn = 26}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 15, srcSpanEndLine = 399, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 15, srcSpanEndLine = 399, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 15, srcSpanEndLine = 399, srcSpanEndColumn = 23}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 27, srcSpanEndLine = 399, srcSpanEndColumn = 32}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 27, srcSpanEndLine = 399, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 27, srcSpanEndLine = 399, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 27, srcSpanEndLine = 399, srcSpanEndColumn = 29}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 30, srcSpanEndLine = 399, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 30, srcSpanEndLine = 399, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 31, srcSpanEndLine = 399, srcSpanEndColumn = 32}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 30, srcSpanEndLine = 399, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 30, srcSpanEndLine = 399, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 31, srcSpanEndLine = 399, srcSpanEndColumn = 32}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 30, srcSpanEndLine = 399, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 30, srcSpanEndLine = 399, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 399, srcSpanStartColumn = 31, srcSpanEndLine = 399, srcSpanEndColumn = 32}]})))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 400, srcSpanStartColumn = 1, srcSpanEndLine = 401, srcSpanEndColumn = 24}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 400, srcSpanStartColumn = 1, srcSpanEndLine = 401, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 400, srcSpanStartColumn = 1, srcSpanEndLine = 400, srcSpanEndColumn = 11}, srcInfoPoints = []}) "removeFile") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 400, srcSpanStartColumn = 12, srcSpanEndLine = 400, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 400, srcSpanStartColumn = 12, srcSpanEndLine = 400, srcSpanEndColumn = 16}, srcInfoPoints = []}) "path")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 400, srcSpanStartColumn = 17, srcSpanEndLine = 401, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 400, srcSpanStartColumn = 17, srcSpanEndLine = 400, srcSpanEndColumn = 18}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 401, srcSpanStartColumn = 3, srcSpanEndLine = 401, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 401, srcSpanStartColumn = 3, srcSpanEndLine = 401, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 401, srcSpanStartColumn = 3, srcSpanEndLine = 401, srcSpanEndColumn = 19}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 401, srcSpanStartColumn = 3, srcSpanEndLine = 401, srcSpanEndColumn = 19}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 401, srcSpanStartColumn = 3, srcSpanEndLine = 401, srcSpanEndColumn = 19}, srcInfoPoints = []}) "deleteFile"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 401, srcSpanStartColumn = 20, srcSpanEndLine = 401, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 401, srcSpanStartColumn = 20, srcSpanEndLine = 401, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 401, srcSpanStartColumn = 20, srcSpanEndLine = 401, srcSpanEndColumn = 24}, srcInfoPoints = []}) "path"))))) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 1, srcSpanEndLine = 452, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 17, srcSpanEndLine = 452, srcSpanEndColumn = 19}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 1, srcSpanEndLine = 452, srcSpanEndColumn = 16}, srcInfoPoints = []}) "renameDirectory"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 20, srcSpanEndLine = 452, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 29, srcSpanEndLine = 452, srcSpanEndColumn = 31}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 20, srcSpanEndLine = 452, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 20, srcSpanEndLine = 452, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 20, srcSpanEndLine = 452, srcSpanEndColumn = 28}, srcInfoPoints = []}) "FilePath"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 32, srcSpanEndLine = 452, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 41, srcSpanEndLine = 452, srcSpanEndColumn = 43}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 32, srcSpanEndLine = 452, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 32, srcSpanEndLine = 452, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 32, srcSpanEndLine = 452, srcSpanEndColumn = 40}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 44, srcSpanEndLine = 452, srcSpanEndColumn = 49}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 44, srcSpanEndLine = 452, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 44, srcSpanEndLine = 452, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 44, srcSpanEndLine = 452, srcSpanEndColumn = 46}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 47, srcSpanEndLine = 452, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 47, srcSpanEndLine = 452, srcSpanEndColumn = 48},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 48, srcSpanEndLine = 452, srcSpanEndColumn = 49}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 47, srcSpanEndLine = 452, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 47, srcSpanEndLine = 452, srcSpanEndColumn = 48},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 48, srcSpanEndLine = 452, srcSpanEndColumn = 49}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 47, srcSpanEndLine = 452, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 47, srcSpanEndLine = 452, srcSpanEndColumn = 48},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 452, srcSpanStartColumn = 48, srcSpanEndLine = 452, srcSpanEndColumn = 49}]}))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 1, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 1, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 1, srcSpanEndLine = 453, srcSpanEndColumn = 16}, srcInfoPoints = []}) "renameDirectory") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 17, srcSpanEndLine = 453, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 17, srcSpanEndLine = 453, srcSpanEndColumn = 22}, srcInfoPoints = []}) "opath"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 23, srcSpanEndLine = 453, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 23, srcSpanEndLine = 453, srcSpanEndColumn = 28}, srcInfoPoints = []}) "npath")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 29, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 29, srcSpanEndLine = 453, srcSpanEndColumn = 30}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 31, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 453, srcSpanStartColumn = 31, srcSpanEndLine = 453, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 4, srcSpanEndLine = 456, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 1, srcSpanEndLine = 509, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 4, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 4, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 4, srcSpanEndLine = 456, srcSpanEndColumn = 42}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 4, srcSpanEndLine = 456, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 4, srcSpanEndLine = 456, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 4, srcSpanEndLine = 456, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 4, srcSpanEndLine = 456, srcSpanEndColumn = 18}, srcInfoPoints = []}) "withFileStatus"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 19, srcSpanEndLine = 456, srcSpanEndColumn = 36}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 19, srcSpanEndLine = 456, srcSpanEndColumn = 36}, srcInfoPoints = []}) "renameDirectory" "renameDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 37, srcSpanEndLine = 456, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 37, srcSpanEndLine = 456, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 37, srcSpanEndLine = 456, srcSpanEndColumn = 42}, srcInfoPoints = []}) "opath")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 43, srcSpanEndLine = 456, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 43, srcSpanEndLine = 456, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 43, srcSpanEndLine = 456, srcSpanEndColumn = 44}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 45, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 45, srcSpanEndLine = 456, srcSpanEndColumn = 46},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 49, srcSpanEndLine = 456, srcSpanEndColumn = 51}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 46, srcSpanEndLine = 456, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 46, srcSpanEndLine = 456, srcSpanEndColumn = 48}, srcInfoPoints = []}) "st")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 52, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 456, srcSpanStartColumn = 52, srcSpanEndLine = 456, srcSpanEndColumn = 54},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 4, srcSpanEndLine = 457, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 4, srcSpanEndLine = 457, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 4, srcSpanEndLine = 458, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 1, srcSpanEndLine = 509, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 4, srcSpanEndLine = 457, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 11, srcSpanEndLine = 457, srcSpanEndColumn = 13}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 4, srcSpanEndLine = 457, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 4, srcSpanEndLine = 457, srcSpanEndColumn = 10}, srcInfoPoints = []}) "is_dir")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 14, srcSpanEndLine = 457, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 14, srcSpanEndLine = 457, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 14, srcSpanEndLine = 457, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 14, srcSpanEndLine = 457, srcSpanEndColumn = 25}, srcInfoPoints = []}) "isDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 26, srcSpanEndLine = 457, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 26, srcSpanEndLine = 457, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 457, srcSpanStartColumn = 26, srcSpanEndLine = 457, srcSpanEndColumn = 28}, srcInfoPoints = []}) "st")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 4, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 4, srcSpanEndLine = 458, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 5, srcSpanEndLine = 459, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 462, srcSpanStartColumn = 5, srcSpanEndLine = 462, srcSpanEndColumn = 9}]}) (If (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 4, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 4, srcSpanEndLine = 458, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 5, srcSpanEndLine = 459, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 462, srcSpanStartColumn = 5, srcSpanEndLine = 462, srcSpanEndColumn = 9}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 7, srcSpanEndLine = 458, srcSpanEndColumn = 19}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 7, srcSpanEndLine = 458, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 18, srcSpanEndLine = 458, srcSpanEndColumn = 19}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 8, srcSpanEndLine = 458, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 8, srcSpanEndLine = 458, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 8, srcSpanEndLine = 458, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 8, srcSpanEndLine = 458, srcSpanEndColumn = 11}, srcInfoPoints = []}) "not"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 12, srcSpanEndLine = 458, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 12, srcSpanEndLine = 458, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 458, srcSpanStartColumn = 12, srcSpanEndLine = 458, srcSpanEndColumn = 18}, srcInfoPoints = []}) "is_dir"))))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 10, srcSpanEndLine = 461, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 10, srcSpanEndLine = 459, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 10, srcSpanEndLine = 459, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 10, srcSpanEndLine = 459, srcSpanEndColumn = 21}, srcInfoPoints = []}) "ioException"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 22, srcSpanEndLine = 461, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 22, srcSpanEndLine = 459, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 461, srcSpanStartColumn = 44, srcSpanEndLine = 461, srcSpanEndColumn = 45}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 23, srcSpanEndLine = 461, srcSpanEndColumn = 44}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 23, srcSpanEndLine = 460, srcSpanEndColumn = 95}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 23, srcSpanEndLine = 459, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 23, srcSpanEndLine = 459, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 459, srcSpanStartColumn = 23, srcSpanEndLine = 459, srcSpanEndColumn = 40}, srcInfoPoints = []}) "ioeSetErrorString"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 27, srcSpanEndLine = 460, srcSpanEndColumn = 95}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 27, srcSpanEndLine = 460, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 94, srcSpanEndLine = 460, srcSpanEndColumn = 95}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 28, srcSpanEndLine = 460, srcSpanEndColumn = 94}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 28, srcSpanEndLine = 460, srcSpanEndColumn = 81}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 28, srcSpanEndLine = 460, srcSpanEndColumn = 73}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 28, srcSpanEndLine = 460, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 28, srcSpanEndLine = 460, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 28, srcSpanEndLine = 460, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 28, srcSpanEndLine = 460, srcSpanEndColumn = 37}, srcInfoPoints = []}) "mkIOError"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 38, srcSpanEndLine = 460, srcSpanEndColumn = 55}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 38, srcSpanEndLine = 460, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 38, srcSpanEndLine = 460, srcSpanEndColumn = 55}, srcInfoPoints = []}) "InappropriateType")))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 56, srcSpanEndLine = 460, srcSpanEndColumn = 73}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 56, srcSpanEndLine = 460, srcSpanEndColumn = 73}, srcInfoPoints = []}) "renameDirectory" "renameDirectory"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 74, srcSpanEndLine = 460, srcSpanEndColumn = 81}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 74, srcSpanEndLine = 460, srcSpanEndColumn = 81}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 74, srcSpanEndLine = 460, srcSpanEndColumn = 81}, srcInfoPoints = []}) "Nothing")))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 82, srcSpanEndLine = 460, srcSpanEndColumn = 94}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 82, srcSpanEndLine = 460, srcSpanEndColumn = 83},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 93, srcSpanEndLine = 460, srcSpanEndColumn = 94}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 83, srcSpanEndLine = 460, srcSpanEndColumn = 93}, srcInfoPoints = []}) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 83, srcSpanEndLine = 460, srcSpanEndColumn = 87}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 83, srcSpanEndLine = 460, srcSpanEndColumn = 87}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 83, srcSpanEndLine = 460, srcSpanEndColumn = 87}, srcInfoPoints = []}) "Just"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 88, srcSpanEndLine = 460, srcSpanEndColumn = 93}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 88, srcSpanEndLine = 460, srcSpanEndColumn = 93}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 460, srcSpanStartColumn = 88, srcSpanEndLine = 460, srcSpanEndColumn = 93}, srcInfoPoints = []}) "opath")))))))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 461, srcSpanStartColumn = 27, srcSpanEndLine = 461, srcSpanEndColumn = 44}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 461, srcSpanStartColumn = 27, srcSpanEndLine = 461, srcSpanEndColumn = 44}, srcInfoPoints = []}) "not a directory" "not a directory"))))) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 462, srcSpanStartColumn = 10, srcSpanEndLine = 509, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 462, srcSpanStartColumn = 10, srcSpanEndLine = 462, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 4, srcSpanEndLine = 463, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 4, srcSpanEndLine = 463, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 1, srcSpanEndLine = 509, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 4, srcSpanEndLine = 463, srcSpanEndColumn = 64}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 4, srcSpanEndLine = 463, srcSpanEndColumn = 64}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 4, srcSpanEndLine = 463, srcSpanEndColumn = 32}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 4, srcSpanEndLine = 463, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 4, srcSpanEndLine = 463, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 4, srcSpanEndLine = 463, srcSpanEndColumn = 20}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 4, srcSpanEndLine = 463, srcSpanEndColumn = 20}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 4, srcSpanEndLine = 463, srcSpanEndColumn = 20}, srcInfoPoints = []}) "moveFileEx"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 21, srcSpanEndLine = 463, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 21, srcSpanEndLine = 463, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 21, srcSpanEndLine = 463, srcSpanEndColumn = 26}, srcInfoPoints = []}) "opath")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 27, srcSpanEndLine = 463, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 27, srcSpanEndLine = 463, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 27, srcSpanEndLine = 463, srcSpanEndColumn = 32}, srcInfoPoints = []}) "npath")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 33, srcSpanEndLine = 463, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 33, srcSpanEndLine = 463, srcSpanEndColumn = 64}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 33, srcSpanEndLine = 463, srcSpanEndColumn = 64}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 463, srcSpanStartColumn = 33, srcSpanEndLine = 463, srcSpanEndColumn = 64}, srcInfoPoints = []}) "mOVEFILE_REPLACE_EXISTING"))))]))])))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 1, srcSpanEndLine = 509, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 12, srcSpanEndLine = 509, srcSpanEndColumn = 14}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 1, srcSpanEndLine = 509, srcSpanEndColumn = 11}, srcInfoPoints = []}) "renameFile"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 15, srcSpanEndLine = 509, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 24, srcSpanEndLine = 509, srcSpanEndColumn = 26}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 15, srcSpanEndLine = 509, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 15, srcSpanEndLine = 509, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 15, srcSpanEndLine = 509, srcSpanEndColumn = 23}, srcInfoPoints = []}) "FilePath"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 27, srcSpanEndLine = 509, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 36, srcSpanEndLine = 509, srcSpanEndColumn = 38}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 27, srcSpanEndLine = 509, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 27, srcSpanEndLine = 509, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 27, srcSpanEndLine = 509, srcSpanEndColumn = 35}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 39, srcSpanEndLine = 509, srcSpanEndColumn = 44}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 39, srcSpanEndLine = 509, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 39, srcSpanEndLine = 509, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 39, srcSpanEndLine = 509, srcSpanEndColumn = 41}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 42, srcSpanEndLine = 509, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 42, srcSpanEndLine = 509, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 43, srcSpanEndLine = 509, srcSpanEndColumn = 44}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 42, srcSpanEndLine = 509, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 42, srcSpanEndLine = 509, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 43, srcSpanEndLine = 509, srcSpanEndColumn = 44}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 42, srcSpanEndLine = 509, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 42, srcSpanEndLine = 509, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 509, srcSpanStartColumn = 43, srcSpanEndLine = 509, srcSpanEndColumn = 44}]}))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 1, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 1, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 1, srcSpanEndLine = 510, srcSpanEndColumn = 11}, srcInfoPoints = []}) "renameFile") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 12, srcSpanEndLine = 510, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 12, srcSpanEndLine = 510, srcSpanEndColumn = 17}, srcInfoPoints = []}) "opath"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 18, srcSpanEndLine = 510, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 18, srcSpanEndLine = 510, srcSpanEndColumn = 23}, srcInfoPoints = []}) "npath")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 24, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 24, srcSpanEndLine = 510, srcSpanEndColumn = 25}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 26, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 510, srcSpanStartColumn = 26, srcSpanEndLine = 510, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 4, srcSpanEndLine = 513, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 1, srcSpanEndLine = 528, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 4, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 4, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 4, srcSpanEndLine = 513, srcSpanEndColumn = 46}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 4, srcSpanEndLine = 513, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 4, srcSpanEndLine = 513, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 4, srcSpanEndLine = 513, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 4, srcSpanEndLine = 513, srcSpanEndColumn = 27}, srcInfoPoints = []}) "withFileOrSymlinkStatus"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 28, srcSpanEndLine = 513, srcSpanEndColumn = 40}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 28, srcSpanEndLine = 513, srcSpanEndColumn = 40}, srcInfoPoints = []}) "renameFile" "renameFile"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 41, srcSpanEndLine = 513, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 41, srcSpanEndLine = 513, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 41, srcSpanEndLine = 513, srcSpanEndColumn = 46}, srcInfoPoints = []}) "opath")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 47, srcSpanEndLine = 513, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 47, srcSpanEndLine = 513, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 47, srcSpanEndLine = 513, srcSpanEndColumn = 48}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 49, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 49, srcSpanEndLine = 513, srcSpanEndColumn = 50},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 53, srcSpanEndLine = 513, srcSpanEndColumn = 55}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 50, srcSpanEndLine = 513, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 50, srcSpanEndLine = 513, srcSpanEndColumn = 52}, srcInfoPoints = []}) "st")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 56, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 513, srcSpanStartColumn = 56, srcSpanEndLine = 513, srcSpanEndColumn = 58},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 4, srcSpanEndLine = 514, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 4, srcSpanEndLine = 514, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 515, srcSpanStartColumn = 4, srcSpanEndLine = 515, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 1, srcSpanEndLine = 528, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 4, srcSpanEndLine = 514, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 11, srcSpanEndLine = 514, srcSpanEndColumn = 13}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 4, srcSpanEndLine = 514, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 4, srcSpanEndLine = 514, srcSpanEndColumn = 10}, srcInfoPoints = []}) "is_dir")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 14, srcSpanEndLine = 514, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 14, srcSpanEndLine = 514, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 14, srcSpanEndLine = 514, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 14, srcSpanEndLine = 514, srcSpanEndColumn = 25}, srcInfoPoints = []}) "isDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 26, srcSpanEndLine = 514, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 26, srcSpanEndLine = 514, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 514, srcSpanStartColumn = 26, srcSpanEndLine = 514, srcSpanEndColumn = 28}, srcInfoPoints = []}) "st")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 515, srcSpanStartColumn = 4, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 515, srcSpanStartColumn = 4, srcSpanEndLine = 515, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 5, srcSpanEndLine = 516, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 519, srcSpanStartColumn = 5, srcSpanEndLine = 519, srcSpanEndColumn = 9}]}) (If (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 515, srcSpanStartColumn = 4, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 515, srcSpanStartColumn = 4, srcSpanEndLine = 515, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 5, srcSpanEndLine = 516, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 519, srcSpanStartColumn = 5, srcSpanEndLine = 519, srcSpanEndColumn = 9}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 515, srcSpanStartColumn = 7, srcSpanEndLine = 515, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 515, srcSpanStartColumn = 7, srcSpanEndLine = 515, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 515, srcSpanStartColumn = 7, srcSpanEndLine = 515, srcSpanEndColumn = 13}, srcInfoPoints = []}) "is_dir"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 10, srcSpanEndLine = 518, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 10, srcSpanEndLine = 516, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 10, srcSpanEndLine = 516, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 10, srcSpanEndLine = 516, srcSpanEndColumn = 21}, srcInfoPoints = []}) "ioException"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 22, srcSpanEndLine = 518, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 22, srcSpanEndLine = 516, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 518, srcSpanStartColumn = 31, srcSpanEndLine = 518, srcSpanEndColumn = 32}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 23, srcSpanEndLine = 518, srcSpanEndColumn = 31}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 23, srcSpanEndLine = 517, srcSpanEndColumn = 78}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 23, srcSpanEndLine = 516, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 23, srcSpanEndLine = 516, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 516, srcSpanStartColumn = 23, srcSpanEndLine = 516, srcSpanEndColumn = 40}, srcInfoPoints = []}) "ioeSetErrorString"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 15, srcSpanEndLine = 517, srcSpanEndColumn = 78}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 15, srcSpanEndLine = 517, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 77, srcSpanEndLine = 517, srcSpanEndColumn = 78}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 16, srcSpanEndLine = 517, srcSpanEndColumn = 77}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 16, srcSpanEndLine = 517, srcSpanEndColumn = 64}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 16, srcSpanEndLine = 517, srcSpanEndColumn = 56}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 16, srcSpanEndLine = 517, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 16, srcSpanEndLine = 517, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 16, srcSpanEndLine = 517, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 16, srcSpanEndLine = 517, srcSpanEndColumn = 25}, srcInfoPoints = []}) "mkIOError"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 26, srcSpanEndLine = 517, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 26, srcSpanEndLine = 517, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 26, srcSpanEndLine = 517, srcSpanEndColumn = 43}, srcInfoPoints = []}) "InappropriateType")))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 44, srcSpanEndLine = 517, srcSpanEndColumn = 56}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 44, srcSpanEndLine = 517, srcSpanEndColumn = 56}, srcInfoPoints = []}) "renameFile" "renameFile"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 57, srcSpanEndLine = 517, srcSpanEndColumn = 64}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 57, srcSpanEndLine = 517, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 57, srcSpanEndLine = 517, srcSpanEndColumn = 64}, srcInfoPoints = []}) "Nothing")))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 65, srcSpanEndLine = 517, srcSpanEndColumn = 77}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 65, srcSpanEndLine = 517, srcSpanEndColumn = 66},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 76, srcSpanEndLine = 517, srcSpanEndColumn = 77}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 66, srcSpanEndLine = 517, srcSpanEndColumn = 76}, srcInfoPoints = []}) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 66, srcSpanEndLine = 517, srcSpanEndColumn = 70}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 66, srcSpanEndLine = 517, srcSpanEndColumn = 70}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 66, srcSpanEndLine = 517, srcSpanEndColumn = 70}, srcInfoPoints = []}) "Just"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 71, srcSpanEndLine = 517, srcSpanEndColumn = 76}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 71, srcSpanEndLine = 517, srcSpanEndColumn = 76}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 517, srcSpanStartColumn = 71, srcSpanEndLine = 517, srcSpanEndColumn = 76}, srcInfoPoints = []}) "opath")))))))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 518, srcSpanStartColumn = 15, srcSpanEndLine = 518, srcSpanEndColumn = 31}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 518, srcSpanStartColumn = 15, srcSpanEndLine = 518, srcSpanEndColumn = 31}, srcInfoPoints = []}) "is a directory" "is a directory"))))) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 519, srcSpanStartColumn = 10, srcSpanEndLine = 528, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 519, srcSpanStartColumn = 10, srcSpanEndLine = 519, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 4, srcSpanEndLine = 520, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 4, srcSpanEndLine = 520, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 1, srcSpanEndLine = 528, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 4, srcSpanEndLine = 520, srcSpanEndColumn = 64}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 4, srcSpanEndLine = 520, srcSpanEndColumn = 64}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 4, srcSpanEndLine = 520, srcSpanEndColumn = 32}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 4, srcSpanEndLine = 520, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 4, srcSpanEndLine = 520, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 4, srcSpanEndLine = 520, srcSpanEndColumn = 20}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 4, srcSpanEndLine = 520, srcSpanEndColumn = 20}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 4, srcSpanEndLine = 520, srcSpanEndColumn = 20}, srcInfoPoints = []}) "moveFileEx"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 21, srcSpanEndLine = 520, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 21, srcSpanEndLine = 520, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 21, srcSpanEndLine = 520, srcSpanEndColumn = 26}, srcInfoPoints = []}) "opath")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 27, srcSpanEndLine = 520, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 27, srcSpanEndLine = 520, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 27, srcSpanEndLine = 520, srcSpanEndColumn = 32}, srcInfoPoints = []}) "npath")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 33, srcSpanEndLine = 520, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 33, srcSpanEndLine = 520, srcSpanEndColumn = 64}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 33, srcSpanEndLine = 520, srcSpanEndColumn = 64}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 520, srcSpanStartColumn = 33, srcSpanEndLine = 520, srcSpanEndColumn = 64}, srcInfoPoints = []}) "mOVEFILE_REPLACE_EXISTING"))))]))])))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 1, srcSpanEndLine = 528, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 10, srcSpanEndLine = 528, srcSpanEndColumn = 12}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 1, srcSpanEndLine = 528, srcSpanEndColumn = 9}, srcInfoPoints = []}) "copyFile"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 13, srcSpanEndLine = 528, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 22, srcSpanEndLine = 528, srcSpanEndColumn = 24}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 13, srcSpanEndLine = 528, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 13, srcSpanEndLine = 528, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 13, srcSpanEndLine = 528, srcSpanEndColumn = 21}, srcInfoPoints = []}) "FilePath"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 25, srcSpanEndLine = 528, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 34, srcSpanEndLine = 528, srcSpanEndColumn = 36}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 25, srcSpanEndLine = 528, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 25, srcSpanEndLine = 528, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 25, srcSpanEndLine = 528, srcSpanEndColumn = 33}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 37, srcSpanEndLine = 528, srcSpanEndColumn = 42}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 37, srcSpanEndLine = 528, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 37, srcSpanEndLine = 528, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 37, srcSpanEndLine = 528, srcSpanEndColumn = 39}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 40, srcSpanEndLine = 528, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 40, srcSpanEndLine = 528, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 41, srcSpanEndLine = 528, srcSpanEndColumn = 42}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 40, srcSpanEndLine = 528, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 40, srcSpanEndLine = 528, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 41, srcSpanEndLine = 528, srcSpanEndColumn = 42}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 40, srcSpanEndLine = 528, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 40, srcSpanEndLine = 528, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 528, srcSpanStartColumn = 41, srcSpanEndLine = 528, srcSpanEndColumn = 42}]}))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 529, srcSpanStartColumn = 1, srcSpanEndLine = 560, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 5, srcSpanEndLine = 531, srcSpanEndColumn = 10}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 529, srcSpanStartColumn = 1, srcSpanEndLine = 560, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 5, srcSpanEndLine = 531, srcSpanEndColumn = 10}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 529, srcSpanStartColumn = 1, srcSpanEndLine = 529, srcSpanEndColumn = 9}, srcInfoPoints = []}) "copyFile") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 529, srcSpanStartColumn = 10, srcSpanEndLine = 529, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 529, srcSpanStartColumn = 10, srcSpanEndLine = 529, srcSpanEndColumn = 19}, srcInfoPoints = []}) "fromFPath"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 529, srcSpanStartColumn = 20, srcSpanEndLine = 529, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 529, srcSpanStartColumn = 20, srcSpanEndLine = 529, srcSpanEndColumn = 27}, srcInfoPoints = []}) "toFPath")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 529, srcSpanStartColumn = 28, srcSpanEndLine = 530, srcSpanEndColumn = 73}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 529, srcSpanStartColumn = 28, srcSpanEndLine = 529, srcSpanEndColumn = 29}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 5, srcSpanEndLine = 530, srcSpanEndColumn = 73}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 5, srcSpanEndLine = 530, srcSpanEndColumn = 9}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 5, srcSpanEndLine = 530, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 5, srcSpanEndLine = 530, srcSpanEndColumn = 9}, srcInfoPoints = []}) "copy"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 10, srcSpanEndLine = 530, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 10, srcSpanEndLine = 530, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 11, srcSpanEndLine = 530, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 24, srcSpanEndLine = 530, srcSpanEndColumn = 25}]}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 10, srcSpanEndLine = 530, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 10, srcSpanEndLine = 530, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 11, srcSpanEndLine = 530, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 24, srcSpanEndLine = 530, srcSpanEndColumn = 25}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 10, srcSpanEndLine = 530, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 10, srcSpanEndLine = 530, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 11, srcSpanEndLine = 530, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 24, srcSpanEndLine = 530, srcSpanEndColumn = 25}]}) "Prelude") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 10, srcSpanEndLine = 530, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 10, srcSpanEndLine = 530, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 11, srcSpanEndLine = 530, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 24, srcSpanEndLine = 530, srcSpanEndColumn = 25}]}) "catch"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 26, srcSpanEndLine = 530, srcSpanEndColumn = 73}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 26, srcSpanEndLine = 530, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 72, srcSpanEndLine = 530, srcSpanEndColumn = 73}]}) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 27, srcSpanEndLine = 530, srcSpanEndColumn = 72}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 27, srcSpanEndLine = 530, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 32, srcSpanEndLine = 530, srcSpanEndColumn = 34}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 28, srcSpanEndLine = 530, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 28, srcSpanEndLine = 530, srcSpanEndColumn = 31}, srcInfoPoints = []}) "exc")] (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 35, srcSpanEndLine = 530, srcSpanEndColumn = 72}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 35, srcSpanEndLine = 530, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 35, srcSpanEndLine = 530, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 35, srcSpanEndLine = 530, srcSpanEndColumn = 40}, srcInfoPoints = []}) "throw"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 41, srcSpanEndLine = 530, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 41, srcSpanEndLine = 530, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 41, srcSpanEndLine = 530, srcSpanEndColumn = 42}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 43, srcSpanEndLine = 530, srcSpanEndColumn = 72}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 43, srcSpanEndLine = 530, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 43, srcSpanEndLine = 530, srcSpanEndColumn = 57}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 43, srcSpanEndLine = 530, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 43, srcSpanEndLine = 530, srcSpanEndColumn = 57}, srcInfoPoints = []}) "ioeSetLocation"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 58, srcSpanEndLine = 530, srcSpanEndColumn = 61}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 58, srcSpanEndLine = 530, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 58, srcSpanEndLine = 530, srcSpanEndColumn = 61}, srcInfoPoints = []}) "exc")))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 62, srcSpanEndLine = 530, srcSpanEndColumn = 72}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 530, srcSpanStartColumn = 62, srcSpanEndLine = 530, srcSpanEndColumn = 72}, srcInfoPoints = []}) "copyFile" "copyFile")))))))) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 11, srcSpanEndLine = 560, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 11, srcSpanEndLine = 531, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 11, srcSpanEndLine = 537, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 11, srcSpanEndLine = 538, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 541, srcSpanStartColumn = 11, srcSpanEndLine = 541, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 11, srcSpanEndLine = 543, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 11, srcSpanEndLine = 549, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 11, srcSpanEndLine = 550, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 11, srcSpanEndLine = 551, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 1, srcSpanEndLine = 560, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 11, srcSpanEndLine = 537, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 11, srcSpanEndLine = 531, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 11, srcSpanEndLine = 531, srcSpanEndColumn = 15}, srcInfoPoints = []}) "copy")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 16, srcSpanEndLine = 537, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 16, srcSpanEndLine = 531, srcSpanEndColumn = 17}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 18, srcSpanEndLine = 537, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 18, srcSpanEndLine = 531, srcSpanEndColumn = 68}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 18, srcSpanEndLine = 531, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 18, srcSpanEndLine = 531, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 18, srcSpanEndLine = 531, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 18, srcSpanEndLine = 531, srcSpanEndColumn = 25}, srcInfoPoints = []}) "bracket"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 26, srcSpanEndLine = 531, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 26, srcSpanEndLine = 531, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 60, srcSpanEndLine = 531, srcSpanEndColumn = 61}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 27, srcSpanEndLine = 531, srcSpanEndColumn = 60}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 27, srcSpanEndLine = 531, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 27, srcSpanEndLine = 531, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 27, srcSpanEndLine = 531, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 27, srcSpanEndLine = 531, srcSpanEndColumn = 41}, srcInfoPoints = []}) "openBinaryFile"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 42, srcSpanEndLine = 531, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 42, srcSpanEndLine = 531, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 42, srcSpanEndLine = 531, srcSpanEndColumn = 51}, srcInfoPoints = []}) "fromFPath")))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 52, srcSpanEndLine = 531, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 52, srcSpanEndLine = 531, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 52, srcSpanEndLine = 531, srcSpanEndColumn = 60}, srcInfoPoints = []}) "ReadMode")))))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 62, srcSpanEndLine = 531, srcSpanEndColumn = 68}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 62, srcSpanEndLine = 531, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 62, srcSpanEndLine = 531, srcSpanEndColumn = 68}, srcInfoPoints = []}) "hClose")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 69, srcSpanEndLine = 531, srcSpanEndColumn = 70}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 69, srcSpanEndLine = 531, srcSpanEndColumn = 70}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 69, srcSpanEndLine = 531, srcSpanEndColumn = 70}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 71, srcSpanEndLine = 537, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 71, srcSpanEndLine = 531, srcSpanEndColumn = 72},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 78, srcSpanEndLine = 531, srcSpanEndColumn = 80}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 72, srcSpanEndLine = 531, srcSpanEndColumn = 77}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 531, srcSpanStartColumn = 72, srcSpanEndLine = 531, srcSpanEndColumn = 77}, srcInfoPoints = []}) "hFrom")] (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 18, srcSpanEndLine = 537, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 18, srcSpanEndLine = 532, srcSpanEndColumn = 49}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 18, srcSpanEndLine = 532, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 18, srcSpanEndLine = 532, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 18, srcSpanEndLine = 532, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 18, srcSpanEndLine = 532, srcSpanEndColumn = 32}, srcInfoPoints = []}) "bracketOnError"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 33, srcSpanEndLine = 532, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 33, srcSpanEndLine = 532, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 33, srcSpanEndLine = 532, srcSpanEndColumn = 40}, srcInfoPoints = []}) "openTmp")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 41, srcSpanEndLine = 532, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 41, srcSpanEndLine = 532, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 41, srcSpanEndLine = 532, srcSpanEndColumn = 49}, srcInfoPoints = []}) "cleanTmp")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 50, srcSpanEndLine = 532, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 50, srcSpanEndLine = 532, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 50, srcSpanEndLine = 532, srcSpanEndColumn = 51}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 52, srcSpanEndLine = 537, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 52, srcSpanEndLine = 532, srcSpanEndColumn = 53},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 70, srcSpanEndLine = 532, srcSpanEndColumn = 72}]}) [PTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 53, srcSpanEndLine = 532, srcSpanEndColumn = 69}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 53, srcSpanEndLine = 532, srcSpanEndColumn = 54},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 62, srcSpanEndLine = 532, srcSpanEndColumn = 63},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 68, srcSpanEndLine = 532, srcSpanEndColumn = 69}]}) Boxed [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 54, srcSpanEndLine = 532, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 54, srcSpanEndLine = 532, srcSpanEndColumn = 62}, srcInfoPoints = []}) "tmpFPath"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 64, srcSpanEndLine = 532, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 532, srcSpanStartColumn = 64, srcSpanEndLine = 532, srcSpanEndColumn = 68}, srcInfoPoints = []}) "hTmp")]] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 18, srcSpanEndLine = 537, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 18, srcSpanEndLine = 533, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 21, srcSpanEndLine = 533, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 534, srcSpanStartColumn = 21, srcSpanEndLine = 534, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 21, srcSpanEndLine = 535, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 21, srcSpanEndLine = 536, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 11, srcSpanEndLine = 537, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 21, srcSpanEndLine = 533, srcSpanEndColumn = 69}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 21, srcSpanEndLine = 533, srcSpanEndColumn = 69}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 21, srcSpanEndLine = 533, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 21, srcSpanEndLine = 533, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 21, srcSpanEndLine = 533, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 21, srcSpanEndLine = 533, srcSpanEndColumn = 32}, srcInfoPoints = []}) "allocaBytes"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 33, srcSpanEndLine = 533, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 33, srcSpanEndLine = 533, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 33, srcSpanEndLine = 533, srcSpanEndColumn = 43}, srcInfoPoints = []}) "bufferSize")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 44, srcSpanEndLine = 533, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 44, srcSpanEndLine = 533, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 44, srcSpanEndLine = 533, srcSpanEndColumn = 45}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 46, srcSpanEndLine = 533, srcSpanEndColumn = 69}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 46, srcSpanEndLine = 533, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 46, srcSpanEndLine = 533, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 46, srcSpanEndLine = 533, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 46, srcSpanEndLine = 533, srcSpanEndColumn = 58}, srcInfoPoints = []}) "copyContents"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 59, srcSpanEndLine = 533, srcSpanEndColumn = 64}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 59, srcSpanEndLine = 533, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 59, srcSpanEndLine = 533, srcSpanEndColumn = 64}, srcInfoPoints = []}) "hFrom")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 65, srcSpanEndLine = 533, srcSpanEndColumn = 69}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 65, srcSpanEndLine = 533, srcSpanEndColumn = 69}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 533, srcSpanStartColumn = 65, srcSpanEndLine = 533, srcSpanEndColumn = 69}, srcInfoPoints = []}) "hTmp"))))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 534, srcSpanStartColumn = 21, srcSpanEndLine = 534, srcSpanEndColumn = 32}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 534, srcSpanStartColumn = 21, srcSpanEndLine = 534, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 534, srcSpanStartColumn = 21, srcSpanEndLine = 534, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 534, srcSpanStartColumn = 21, srcSpanEndLine = 534, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 534, srcSpanStartColumn = 21, srcSpanEndLine = 534, srcSpanEndColumn = 27}, srcInfoPoints = []}) "hClose"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 534, srcSpanStartColumn = 28, srcSpanEndLine = 534, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 534, srcSpanStartColumn = 28, srcSpanEndLine = 534, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 534, srcSpanStartColumn = 28, srcSpanEndLine = 534, srcSpanEndColumn = 32}, srcInfoPoints = []}) "hTmp")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 21, srcSpanEndLine = 535, srcSpanEndColumn = 76}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 21, srcSpanEndLine = 535, srcSpanEndColumn = 76}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 21, srcSpanEndLine = 535, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 21, srcSpanEndLine = 535, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 21, srcSpanEndLine = 535, srcSpanEndColumn = 39}, srcInfoPoints = []}) "ignoreIOExceptions"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 40, srcSpanEndLine = 535, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 40, srcSpanEndLine = 535, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 40, srcSpanEndLine = 535, srcSpanEndColumn = 41}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 42, srcSpanEndLine = 535, srcSpanEndColumn = 76}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 42, srcSpanEndLine = 535, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 42, srcSpanEndLine = 535, srcSpanEndColumn = 57}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 42, srcSpanEndLine = 535, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 42, srcSpanEndLine = 535, srcSpanEndColumn = 57}, srcInfoPoints = []}) "copyPermissions"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 58, srcSpanEndLine = 535, srcSpanEndColumn = 67}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 58, srcSpanEndLine = 535, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 58, srcSpanEndLine = 535, srcSpanEndColumn = 67}, srcInfoPoints = []}) "fromFPath")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 68, srcSpanEndLine = 535, srcSpanEndColumn = 76}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 68, srcSpanEndLine = 535, srcSpanEndColumn = 76}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 535, srcSpanStartColumn = 68, srcSpanEndLine = 535, srcSpanEndColumn = 76}, srcInfoPoints = []}) "tmpFPath"))))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 21, srcSpanEndLine = 536, srcSpanEndColumn = 48}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 21, srcSpanEndLine = 536, srcSpanEndColumn = 48}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 21, srcSpanEndLine = 536, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 21, srcSpanEndLine = 536, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 21, srcSpanEndLine = 536, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 21, srcSpanEndLine = 536, srcSpanEndColumn = 31}, srcInfoPoints = []}) "renameFile"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 32, srcSpanEndLine = 536, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 32, srcSpanEndLine = 536, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 32, srcSpanEndLine = 536, srcSpanEndColumn = 40}, srcInfoPoints = []}) "tmpFPath")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 41, srcSpanEndLine = 536, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 41, srcSpanEndLine = 536, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 536, srcSpanStartColumn = 41, srcSpanEndLine = 536, srcSpanEndColumn = 48}, srcInfoPoints = []}) "toFPath"))))])))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 11, srcSpanEndLine = 537, srcSpanEndColumn = 79}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 11, srcSpanEndLine = 537, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 11, srcSpanEndLine = 537, srcSpanEndColumn = 18}, srcInfoPoints = []}) "openTmp")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 19, srcSpanEndLine = 537, srcSpanEndColumn = 79}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 19, srcSpanEndLine = 537, srcSpanEndColumn = 20}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 21, srcSpanEndLine = 537, srcSpanEndColumn = 79}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 21, srcSpanEndLine = 537, srcSpanEndColumn = 63}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 21, srcSpanEndLine = 537, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 21, srcSpanEndLine = 537, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 21, srcSpanEndLine = 537, srcSpanEndColumn = 39}, srcInfoPoints = []}) "openBinaryTempFile"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 40, srcSpanEndLine = 537, srcSpanEndColumn = 63}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 40, srcSpanEndLine = 537, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 62, srcSpanEndLine = 537, srcSpanEndColumn = 63}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 41, srcSpanEndLine = 537, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 41, srcSpanEndLine = 537, srcSpanEndColumn = 54}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 41, srcSpanEndLine = 537, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 41, srcSpanEndLine = 537, srcSpanEndColumn = 54}, srcInfoPoints = []}) "takeDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 55, srcSpanEndLine = 537, srcSpanEndColumn = 62}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 55, srcSpanEndLine = 537, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 55, srcSpanEndLine = 537, srcSpanEndColumn = 62}, srcInfoPoints = []}) "toFPath")))))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 64, srcSpanEndLine = 537, srcSpanEndColumn = 79}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 537, srcSpanStartColumn = 64, srcSpanEndLine = 537, srcSpanEndColumn = 79}, srcInfoPoints = []}) ".copyFile.tmp" ".copyFile.tmp")))) Nothing,FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 11, srcSpanEndLine = 541, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 11, srcSpanEndLine = 541, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 11, srcSpanEndLine = 538, srcSpanEndColumn = 19}, srcInfoPoints = []}) "cleanTmp") [PTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 20, srcSpanEndLine = 538, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 20, srcSpanEndLine = 538, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 29, srcSpanEndLine = 538, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 35, srcSpanEndLine = 538, srcSpanEndColumn = 36}]}) Boxed [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 21, srcSpanEndLine = 538, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 21, srcSpanEndLine = 538, srcSpanEndColumn = 29}, srcInfoPoints = []}) "tmpFPath"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 31, srcSpanEndLine = 538, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 538, srcSpanStartColumn = 31, srcSpanEndLine = 538, srcSpanEndColumn = 35}, srcInfoPoints = []}) "hTmp")]] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 15, srcSpanEndLine = 541, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 15, srcSpanEndLine = 539, srcSpanEndColumn = 16}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 17, srcSpanEndLine = 541, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 17, srcSpanEndLine = 539, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 20, srcSpanEndLine = 539, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 20, srcSpanEndLine = 540, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 541, srcSpanStartColumn = 11, srcSpanEndLine = 541, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 20, srcSpanEndLine = 539, srcSpanEndColumn = 52}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 20, srcSpanEndLine = 539, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 20, srcSpanEndLine = 539, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 20, srcSpanEndLine = 539, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 20, srcSpanEndLine = 539, srcSpanEndColumn = 38}, srcInfoPoints = []}) "ignoreIOExceptions"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 39, srcSpanEndLine = 539, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 39, srcSpanEndLine = 539, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 39, srcSpanEndLine = 539, srcSpanEndColumn = 40}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 41, srcSpanEndLine = 539, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 41, srcSpanEndLine = 539, srcSpanEndColumn = 47}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 41, srcSpanEndLine = 539, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 41, srcSpanEndLine = 539, srcSpanEndColumn = 47}, srcInfoPoints = []}) "hClose"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 48, srcSpanEndLine = 539, srcSpanEndColumn = 52}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 48, srcSpanEndLine = 539, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 539, srcSpanStartColumn = 48, srcSpanEndLine = 539, srcSpanEndColumn = 52}, srcInfoPoints = []}) "hTmp"))))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 20, srcSpanEndLine = 540, srcSpanEndColumn = 60}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 20, srcSpanEndLine = 540, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 20, srcSpanEndLine = 540, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 20, srcSpanEndLine = 540, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 20, srcSpanEndLine = 540, srcSpanEndColumn = 38}, srcInfoPoints = []}) "ignoreIOExceptions"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 39, srcSpanEndLine = 540, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 39, srcSpanEndLine = 540, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 39, srcSpanEndLine = 540, srcSpanEndColumn = 40}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 41, srcSpanEndLine = 540, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 41, srcSpanEndLine = 540, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 41, srcSpanEndLine = 540, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 41, srcSpanEndLine = 540, srcSpanEndColumn = 51}, srcInfoPoints = []}) "removeFile"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 52, srcSpanEndLine = 540, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 52, srcSpanEndLine = 540, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 540, srcSpanStartColumn = 52, srcSpanEndLine = 540, srcSpanEndColumn = 60}, srcInfoPoints = []}) "tmpFPath")))))])) Nothing],PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 541, srcSpanStartColumn = 11, srcSpanEndLine = 541, srcSpanEndColumn = 28}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 541, srcSpanStartColumn = 11, srcSpanEndLine = 541, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 541, srcSpanStartColumn = 11, srcSpanEndLine = 541, srcSpanEndColumn = 21}, srcInfoPoints = []}) "bufferSize")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 541, srcSpanStartColumn = 22, srcSpanEndLine = 541, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 541, srcSpanStartColumn = 22, srcSpanEndLine = 541, srcSpanEndColumn = 23}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 541, srcSpanStartColumn = 24, srcSpanEndLine = 541, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 541, srcSpanStartColumn = 24, srcSpanEndLine = 541, srcSpanEndColumn = 28}, srcInfoPoints = []}) 1024 "1024"))) Nothing,FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 11, srcSpanEndLine = 549, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 11, srcSpanEndLine = 549, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 11, srcSpanEndLine = 543, srcSpanEndColumn = 23}, srcInfoPoints = []}) "copyContents") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 24, srcSpanEndLine = 543, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 24, srcSpanEndLine = 543, srcSpanEndColumn = 29}, srcInfoPoints = []}) "hFrom"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 30, srcSpanEndLine = 543, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 30, srcSpanEndLine = 543, srcSpanEndColumn = 33}, srcInfoPoints = []}) "hTo"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 34, srcSpanEndLine = 543, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 34, srcSpanEndLine = 543, srcSpanEndColumn = 40}, srcInfoPoints = []}) "buffer")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 41, srcSpanEndLine = 549, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 41, srcSpanEndLine = 543, srcSpanEndColumn = 42}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 43, srcSpanEndLine = 549, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 543, srcSpanStartColumn = 43, srcSpanEndLine = 543, srcSpanEndColumn = 45},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 19, srcSpanEndLine = 544, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 19, srcSpanEndLine = 545, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 11, srcSpanEndLine = 549, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 19, srcSpanEndLine = 544, srcSpanEndColumn = 59}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 25, srcSpanEndLine = 544, srcSpanEndColumn = 27}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 19, srcSpanEndLine = 544, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 19, srcSpanEndLine = 544, srcSpanEndColumn = 24}, srcInfoPoints = []}) "count")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 28, srcSpanEndLine = 544, srcSpanEndColumn = 59}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 28, srcSpanEndLine = 544, srcSpanEndColumn = 48}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 28, srcSpanEndLine = 544, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 28, srcSpanEndLine = 544, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 28, srcSpanEndLine = 544, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 28, srcSpanEndLine = 544, srcSpanEndColumn = 35}, srcInfoPoints = []}) "hGetBuf"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 36, srcSpanEndLine = 544, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 36, srcSpanEndLine = 544, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 36, srcSpanEndLine = 544, srcSpanEndColumn = 41}, srcInfoPoints = []}) "hFrom")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 42, srcSpanEndLine = 544, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 42, srcSpanEndLine = 544, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 42, srcSpanEndLine = 544, srcSpanEndColumn = 48}, srcInfoPoints = []}) "buffer")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 49, srcSpanEndLine = 544, srcSpanEndColumn = 59}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 49, srcSpanEndLine = 544, srcSpanEndColumn = 59}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 544, srcSpanStartColumn = 49, srcSpanEndLine = 544, srcSpanEndColumn = 59}, srcInfoPoints = []}) "bufferSize")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 19, srcSpanEndLine = 549, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 19, srcSpanEndLine = 549, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 19, srcSpanEndLine = 545, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 19, srcSpanEndLine = 545, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 19, srcSpanEndLine = 545, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 19, srcSpanEndLine = 545, srcSpanEndColumn = 23}, srcInfoPoints = []}) "when"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 24, srcSpanEndLine = 545, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 24, srcSpanEndLine = 545, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 34, srcSpanEndLine = 545, srcSpanEndColumn = 35}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 25, srcSpanEndLine = 545, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 25, srcSpanEndLine = 545, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 25, srcSpanEndLine = 545, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 25, srcSpanEndLine = 545, srcSpanEndColumn = 30}, srcInfoPoints = []}) "count"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 31, srcSpanEndLine = 545, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 31, srcSpanEndLine = 545, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 31, srcSpanEndLine = 545, srcSpanEndColumn = 32}, srcInfoPoints = []}) ">"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 33, srcSpanEndLine = 545, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 33, srcSpanEndLine = 545, srcSpanEndColumn = 34}, srcInfoPoints = []}) 0 "0"))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 36, srcSpanEndLine = 545, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 36, srcSpanEndLine = 545, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 36, srcSpanEndLine = 545, srcSpanEndColumn = 37}, srcInfoPoints = []}) "$"))) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 38, srcSpanEndLine = 549, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 545, srcSpanStartColumn = 38, srcSpanEndLine = 545, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 27, srcSpanEndLine = 546, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 27, srcSpanEndLine = 547, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 11, srcSpanEndLine = 549, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 27, srcSpanEndLine = 546, srcSpanEndColumn = 51}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 27, srcSpanEndLine = 546, srcSpanEndColumn = 51}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 27, srcSpanEndLine = 546, srcSpanEndColumn = 45}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 27, srcSpanEndLine = 546, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 27, srcSpanEndLine = 546, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 27, srcSpanEndLine = 546, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 27, srcSpanEndLine = 546, srcSpanEndColumn = 34}, srcInfoPoints = []}) "hPutBuf"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 35, srcSpanEndLine = 546, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 35, srcSpanEndLine = 546, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 35, srcSpanEndLine = 546, srcSpanEndColumn = 38}, srcInfoPoints = []}) "hTo")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 39, srcSpanEndLine = 546, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 39, srcSpanEndLine = 546, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 39, srcSpanEndLine = 546, srcSpanEndColumn = 45}, srcInfoPoints = []}) "buffer")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 46, srcSpanEndLine = 546, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 46, srcSpanEndLine = 546, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 546, srcSpanStartColumn = 46, srcSpanEndLine = 546, srcSpanEndColumn = 51}, srcInfoPoints = []}) "count")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 27, srcSpanEndLine = 547, srcSpanEndColumn = 56}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 27, srcSpanEndLine = 547, srcSpanEndColumn = 56}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 27, srcSpanEndLine = 547, srcSpanEndColumn = 49}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 27, srcSpanEndLine = 547, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 27, srcSpanEndLine = 547, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 27, srcSpanEndLine = 547, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 27, srcSpanEndLine = 547, srcSpanEndColumn = 39}, srcInfoPoints = []}) "copyContents"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 40, srcSpanEndLine = 547, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 40, srcSpanEndLine = 547, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 40, srcSpanEndLine = 547, srcSpanEndColumn = 45}, srcInfoPoints = []}) "hFrom")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 46, srcSpanEndLine = 547, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 46, srcSpanEndLine = 547, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 46, srcSpanEndLine = 547, srcSpanEndColumn = 49}, srcInfoPoints = []}) "hTo")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 50, srcSpanEndLine = 547, srcSpanEndColumn = 56}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 50, srcSpanEndLine = 547, srcSpanEndColumn = 56}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 547, srcSpanStartColumn = 50, srcSpanEndLine = 547, srcSpanEndColumn = 56}, srcInfoPoints = []}) "buffer"))))]))])) Nothing],FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 11, srcSpanEndLine = 549, srcSpanEndColumn = 64}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 11, srcSpanEndLine = 549, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 11, srcSpanEndLine = 549, srcSpanEndColumn = 29}, srcInfoPoints = []}) "ignoreIOExceptions") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 30, srcSpanEndLine = 549, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 30, srcSpanEndLine = 549, srcSpanEndColumn = 32}, srcInfoPoints = []}) "io")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 33, srcSpanEndLine = 549, srcSpanEndColumn = 64}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 33, srcSpanEndLine = 549, srcSpanEndColumn = 34}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 35, srcSpanEndLine = 549, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 35, srcSpanEndLine = 549, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 35, srcSpanEndLine = 549, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 35, srcSpanEndLine = 549, srcSpanEndColumn = 37}, srcInfoPoints = []}) "io"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 38, srcSpanEndLine = 549, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 38, srcSpanEndLine = 549, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 39, srcSpanEndLine = 549, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 44, srcSpanEndLine = 549, srcSpanEndColumn = 45}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 38, srcSpanEndLine = 549, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 38, srcSpanEndLine = 549, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 39, srcSpanEndLine = 549, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 44, srcSpanEndLine = 549, srcSpanEndColumn = 45}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 38, srcSpanEndLine = 549, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 38, srcSpanEndLine = 549, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 39, srcSpanEndLine = 549, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 44, srcSpanEndLine = 549, srcSpanEndColumn = 45}]}) "catch"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 46, srcSpanEndLine = 549, srcSpanEndColumn = 64}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 46, srcSpanEndLine = 549, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 549, srcSpanStartColumn = 46, srcSpanEndLine = 549, srcSpanEndColumn = 64}, srcInfoPoints = []}) "ioExceptionIgnorer"))))) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 11, srcSpanEndLine = 550, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 30, srcSpanEndLine = 550, srcSpanEndColumn = 32}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 11, srcSpanEndLine = 550, srcSpanEndColumn = 29}, srcInfoPoints = []}) "ioExceptionIgnorer"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 33, srcSpanEndLine = 550, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 45, srcSpanEndLine = 550, srcSpanEndColumn = 47}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 33, srcSpanEndLine = 550, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 33, srcSpanEndLine = 550, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 33, srcSpanEndLine = 550, srcSpanEndColumn = 44}, srcInfoPoints = []}) "IOException"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 48, srcSpanEndLine = 550, srcSpanEndColumn = 53}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 48, srcSpanEndLine = 550, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 48, srcSpanEndLine = 550, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 48, srcSpanEndLine = 550, srcSpanEndColumn = 50}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 51, srcSpanEndLine = 550, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 51, srcSpanEndLine = 550, srcSpanEndColumn = 52},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 52, srcSpanEndLine = 550, srcSpanEndColumn = 53}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 51, srcSpanEndLine = 550, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 51, srcSpanEndLine = 550, srcSpanEndColumn = 52},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 52, srcSpanEndLine = 550, srcSpanEndColumn = 53}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 51, srcSpanEndLine = 550, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 51, srcSpanEndLine = 550, srcSpanEndColumn = 52},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 550, srcSpanStartColumn = 52, srcSpanEndLine = 550, srcSpanEndColumn = 53}]})))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 11, srcSpanEndLine = 551, srcSpanEndColumn = 43}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 11, srcSpanEndLine = 551, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 11, srcSpanEndLine = 551, srcSpanEndColumn = 29}, srcInfoPoints = []}) "ioExceptionIgnorer") [PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 30, srcSpanEndLine = 551, srcSpanEndColumn = 31}, srcInfoPoints = []})] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 32, srcSpanEndLine = 551, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 32, srcSpanEndLine = 551, srcSpanEndColumn = 33}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 34, srcSpanEndLine = 551, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 34, srcSpanEndLine = 551, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 34, srcSpanEndLine = 551, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 34, srcSpanEndLine = 551, srcSpanEndColumn = 40}, srcInfoPoints = []}) "return"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 41, srcSpanEndLine = 551, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 41, srcSpanEndLine = 551, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 42, srcSpanEndLine = 551, srcSpanEndColumn = 43}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 41, srcSpanEndLine = 551, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 41, srcSpanEndLine = 551, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 42, srcSpanEndLine = 551, srcSpanEndColumn = 43}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 41, srcSpanEndLine = 551, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 41, srcSpanEndLine = 551, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 551, srcSpanStartColumn = 42, srcSpanEndLine = 551, srcSpanEndColumn = 43}]})))))) Nothing]]))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 1, srcSpanEndLine = 560, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 18, srcSpanEndLine = 560, srcSpanEndColumn = 20}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 1, srcSpanEndLine = 560, srcSpanEndColumn = 17}, srcInfoPoints = []}) "canonicalizePath"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 21, srcSpanEndLine = 560, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 30, srcSpanEndLine = 560, srcSpanEndColumn = 32}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 21, srcSpanEndLine = 560, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 21, srcSpanEndLine = 560, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 21, srcSpanEndLine = 560, srcSpanEndColumn = 29}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 33, srcSpanEndLine = 560, srcSpanEndColumn = 44}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 33, srcSpanEndLine = 560, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 33, srcSpanEndLine = 560, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 33, srcSpanEndLine = 560, srcSpanEndColumn = 35}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 36, srcSpanEndLine = 560, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 36, srcSpanEndLine = 560, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 560, srcSpanStartColumn = 36, srcSpanEndLine = 560, srcSpanEndColumn = 44}, srcInfoPoints = []}) "FilePath"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 561, srcSpanStartColumn = 1, srcSpanEndLine = 568, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 561, srcSpanStartColumn = 1, srcSpanEndLine = 568, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 561, srcSpanStartColumn = 1, srcSpanEndLine = 561, srcSpanEndColumn = 17}, srcInfoPoints = []}) "canonicalizePath") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 561, srcSpanStartColumn = 18, srcSpanEndLine = 561, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 561, srcSpanStartColumn = 18, srcSpanEndLine = 561, srcSpanEndColumn = 23}, srcInfoPoints = []}) "fpath")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 561, srcSpanStartColumn = 24, srcSpanEndLine = 568, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 561, srcSpanStartColumn = 24, srcSpanEndLine = 561, srcSpanEndColumn = 25}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 5, srcSpanEndLine = 568, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 5, srcSpanEndLine = 562, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 8, srcSpanEndLine = 562, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 8, srcSpanEndLine = 563, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 1, srcSpanEndLine = 568, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 8, srcSpanEndLine = 562, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 13, srcSpanEndLine = 562, srcSpanEndColumn = 15}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 8, srcSpanEndLine = 562, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 8, srcSpanEndLine = 562, srcSpanEndColumn = 12}, srcInfoPoints = []}) "path")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 16, srcSpanEndLine = 562, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 16, srcSpanEndLine = 562, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 16, srcSpanEndLine = 562, srcSpanEndColumn = 37}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 16, srcSpanEndLine = 562, srcSpanEndColumn = 37}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 16, srcSpanEndLine = 562, srcSpanEndColumn = 37}, srcInfoPoints = []}) "getFullPathName"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 38, srcSpanEndLine = 562, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 38, srcSpanEndLine = 562, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 562, srcSpanStartColumn = 38, srcSpanEndLine = 562, srcSpanEndColumn = 43}, srcInfoPoints = []}) "fpath")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 8, srcSpanEndLine = 563, srcSpanEndColumn = 31}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 8, srcSpanEndLine = 563, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 8, srcSpanEndLine = 563, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 8, srcSpanEndLine = 563, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 8, srcSpanEndLine = 563, srcSpanEndColumn = 14}, srcInfoPoints = []}) "return"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 15, srcSpanEndLine = 563, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 15, srcSpanEndLine = 563, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 30, srcSpanEndLine = 563, srcSpanEndColumn = 31}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 16, srcSpanEndLine = 563, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 16, srcSpanEndLine = 563, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 16, srcSpanEndLine = 563, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 16, srcSpanEndLine = 563, srcSpanEndColumn = 25}, srcInfoPoints = []}) "normalise"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 26, srcSpanEndLine = 563, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 26, srcSpanEndLine = 563, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 563, srcSpanStartColumn = 26, srcSpanEndLine = 563, srcSpanEndColumn = 30}, srcInfoPoints = []}) "path"))))))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 1, srcSpanEndLine = 568, srcSpanEndColumn = 58}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 32, srcSpanEndLine = 568, srcSpanEndColumn = 34}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 1, srcSpanEndLine = 568, srcSpanEndColumn = 31}, srcInfoPoints = []}) "makeRelativeToCurrentDirectory"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 35, srcSpanEndLine = 568, srcSpanEndColumn = 58}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 44, srcSpanEndLine = 568, srcSpanEndColumn = 46}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 35, srcSpanEndLine = 568, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 35, srcSpanEndLine = 568, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 35, srcSpanEndLine = 568, srcSpanEndColumn = 43}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 47, srcSpanEndLine = 568, srcSpanEndColumn = 58}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 47, srcSpanEndLine = 568, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 47, srcSpanEndLine = 568, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 47, srcSpanEndLine = 568, srcSpanEndColumn = 49}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 50, srcSpanEndLine = 568, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 50, srcSpanEndLine = 568, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 568, srcSpanStartColumn = 50, srcSpanEndLine = 568, srcSpanEndColumn = 58}, srcInfoPoints = []}) "FilePath"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 569, srcSpanStartColumn = 1, srcSpanEndLine = 591, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 569, srcSpanStartColumn = 1, srcSpanEndLine = 591, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 569, srcSpanStartColumn = 1, srcSpanEndLine = 569, srcSpanEndColumn = 31}, srcInfoPoints = []}) "makeRelativeToCurrentDirectory") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 569, srcSpanStartColumn = 32, srcSpanEndLine = 569, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 569, srcSpanStartColumn = 32, srcSpanEndLine = 569, srcSpanEndColumn = 33}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 569, srcSpanStartColumn = 34, srcSpanEndLine = 591, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 569, srcSpanStartColumn = 34, srcSpanEndLine = 569, srcSpanEndColumn = 35}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 569, srcSpanStartColumn = 36, srcSpanEndLine = 591, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 569, srcSpanStartColumn = 36, srcSpanEndLine = 569, srcSpanEndColumn = 38},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 570, srcSpanStartColumn = 5, srcSpanEndLine = 570, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 5, srcSpanEndLine = 571, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 1, srcSpanEndLine = 591, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 570, srcSpanStartColumn = 5, srcSpanEndLine = 570, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 570, srcSpanStartColumn = 9, srcSpanEndLine = 570, srcSpanEndColumn = 11}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 570, srcSpanStartColumn = 5, srcSpanEndLine = 570, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 570, srcSpanStartColumn = 5, srcSpanEndLine = 570, srcSpanEndColumn = 8}, srcInfoPoints = []}) "cur")) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 570, srcSpanStartColumn = 12, srcSpanEndLine = 570, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 570, srcSpanStartColumn = 12, srcSpanEndLine = 570, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 570, srcSpanStartColumn = 12, srcSpanEndLine = 570, srcSpanEndColumn = 31}, srcInfoPoints = []}) "getCurrentDirectory"))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 5, srcSpanEndLine = 571, srcSpanEndColumn = 32}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 5, srcSpanEndLine = 571, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 5, srcSpanEndLine = 571, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 5, srcSpanEndLine = 571, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 5, srcSpanEndLine = 571, srcSpanEndColumn = 11}, srcInfoPoints = []}) "return"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 12, srcSpanEndLine = 571, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 12, srcSpanEndLine = 571, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 12, srcSpanEndLine = 571, srcSpanEndColumn = 13}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 14, srcSpanEndLine = 571, srcSpanEndColumn = 32}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 14, srcSpanEndLine = 571, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 14, srcSpanEndLine = 571, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 14, srcSpanEndLine = 571, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 14, srcSpanEndLine = 571, srcSpanEndColumn = 26}, srcInfoPoints = []}) "makeRelative"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 27, srcSpanEndLine = 571, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 27, srcSpanEndLine = 571, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 27, srcSpanEndLine = 571, srcSpanEndColumn = 30}, srcInfoPoints = []}) "cur")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 31, srcSpanEndLine = 571, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 31, srcSpanEndLine = 571, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 571, srcSpanStartColumn = 31, srcSpanEndLine = 571, srcSpanEndColumn = 32}, srcInfoPoints = []}) "x")))))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 1, srcSpanEndLine = 591, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 16, srcSpanEndLine = 591, srcSpanEndColumn = 18}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 1, srcSpanEndLine = 591, srcSpanEndColumn = 15}, srcInfoPoints = []}) "findExecutable"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 19, srcSpanEndLine = 591, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 26, srcSpanEndLine = 591, srcSpanEndColumn = 28}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 19, srcSpanEndLine = 591, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 19, srcSpanEndLine = 591, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 19, srcSpanEndLine = 591, srcSpanEndColumn = 25}, srcInfoPoints = []}) "String"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 29, srcSpanEndLine = 591, srcSpanEndColumn = 48}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 29, srcSpanEndLine = 591, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 29, srcSpanEndLine = 591, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 29, srcSpanEndLine = 591, srcSpanEndColumn = 31}, srcInfoPoints = []}) "IO"))) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 32, srcSpanEndLine = 591, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 32, srcSpanEndLine = 591, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 47, srcSpanEndLine = 591, srcSpanEndColumn = 48}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 33, srcSpanEndLine = 591, srcSpanEndColumn = 47}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 33, srcSpanEndLine = 591, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 33, srcSpanEndLine = 591, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 33, srcSpanEndLine = 591, srcSpanEndColumn = 38}, srcInfoPoints = []}) "Maybe"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 39, srcSpanEndLine = 591, srcSpanEndColumn = 47}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 39, srcSpanEndLine = 591, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 591, srcSpanStartColumn = 39, srcSpanEndLine = 591, srcSpanEndColumn = 47}, srcInfoPoints = []}) "FilePath"))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 592, srcSpanStartColumn = 1, srcSpanEndLine = 593, srcSpanEndColumn = 53}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 592, srcSpanStartColumn = 1, srcSpanEndLine = 593, srcSpanEndColumn = 53}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 592, srcSpanStartColumn = 1, srcSpanEndLine = 592, srcSpanEndColumn = 15}, srcInfoPoints = []}) "findExecutable") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 592, srcSpanStartColumn = 16, srcSpanEndLine = 592, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 592, srcSpanStartColumn = 16, srcSpanEndLine = 592, srcSpanEndColumn = 22}, srcInfoPoints = []}) "binary")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 592, srcSpanStartColumn = 23, srcSpanEndLine = 593, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 592, srcSpanStartColumn = 23, srcSpanEndLine = 592, srcSpanEndColumn = 24}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 3, srcSpanEndLine = 593, srcSpanEndColumn = 53}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 3, srcSpanEndLine = 593, srcSpanEndColumn = 34}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 3, srcSpanEndLine = 593, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 3, srcSpanEndLine = 593, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 3, srcSpanEndLine = 593, srcSpanEndColumn = 19}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 3, srcSpanEndLine = 593, srcSpanEndColumn = 19}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 3, srcSpanEndLine = 593, srcSpanEndColumn = 19}, srcInfoPoints = []}) "searchPath"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 20, srcSpanEndLine = 593, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 20, srcSpanEndLine = 593, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 20, srcSpanEndLine = 593, srcSpanEndColumn = 27}, srcInfoPoints = []}) "Nothing")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 28, srcSpanEndLine = 593, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 28, srcSpanEndLine = 593, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 28, srcSpanEndLine = 593, srcSpanEndColumn = 34}, srcInfoPoints = []}) "binary")))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 35, srcSpanEndLine = 593, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 35, srcSpanEndLine = 593, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 52, srcSpanEndLine = 593, srcSpanEndColumn = 53}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 36, srcSpanEndLine = 593, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 36, srcSpanEndLine = 593, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Char (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 36, srcSpanEndLine = 593, srcSpanEndColumn = 39}, srcInfoPoints = []}) '.' ".")) (QConOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 39, srcSpanEndLine = 593, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 39, srcSpanEndLine = 593, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Cons (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 39, srcSpanEndLine = 593, srcSpanEndColumn = 40}, srcInfoPoints = []})))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 40, srcSpanEndLine = 593, srcSpanEndColumn = 52}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 40, srcSpanEndLine = 593, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 593, srcSpanStartColumn = 40, srcSpanEndLine = 593, srcSpanEndColumn = 52}, srcInfoPoints = []}) "exeExtension"))))))) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 1, srcSpanEndLine = 627, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 22, srcSpanEndLine = 627, srcSpanEndColumn = 24}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 1, srcSpanEndLine = 627, srcSpanEndColumn = 21}, srcInfoPoints = []}) "getDirectoryContents"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 25, srcSpanEndLine = 627, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 34, srcSpanEndLine = 627, srcSpanEndColumn = 36}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 25, srcSpanEndLine = 627, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 25, srcSpanEndLine = 627, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 25, srcSpanEndLine = 627, srcSpanEndColumn = 33}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 37, srcSpanEndLine = 627, srcSpanEndColumn = 50}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 37, srcSpanEndLine = 627, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 37, srcSpanEndLine = 627, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 37, srcSpanEndLine = 627, srcSpanEndColumn = 39}, srcInfoPoints = []}) "IO"))) (TyList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 40, srcSpanEndLine = 627, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 40, srcSpanEndLine = 627, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 49, srcSpanEndLine = 627, srcSpanEndColumn = 50}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 41, srcSpanEndLine = 627, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 41, srcSpanEndLine = 627, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 627, srcSpanStartColumn = 41, srcSpanEndLine = 627, srcSpanEndColumn = 49}, srcInfoPoints = []}) "FilePath")))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 628, srcSpanStartColumn = 1, srcSpanEndLine = 672, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 635, srcSpanStartColumn = 3, srcSpanEndLine = 635, srcSpanEndColumn = 8}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 628, srcSpanStartColumn = 1, srcSpanEndLine = 672, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 635, srcSpanStartColumn = 3, srcSpanEndLine = 635, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 628, srcSpanStartColumn = 1, srcSpanEndLine = 628, srcSpanEndColumn = 21}, srcInfoPoints = []}) "getDirectoryContents") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 628, srcSpanStartColumn = 22, srcSpanEndLine = 628, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 628, srcSpanStartColumn = 22, srcSpanEndLine = 628, srcSpanEndColumn = 26}, srcInfoPoints = []}) "path")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 628, srcSpanStartColumn = 27, srcSpanEndLine = 635, srcSpanEndColumn = 3}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 628, srcSpanStartColumn = 27, srcSpanEndLine = 628, srcSpanEndColumn = 28}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 3, srcSpanEndLine = 635, srcSpanEndColumn = 3}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 3, srcSpanEndLine = 630, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 3, srcSpanEndLine = 629, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 3, srcSpanEndLine = 629, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 3, srcSpanEndLine = 629, srcSpanEndColumn = 16}, srcInfoPoints = []}) "modifyIOError"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 17, srcSpanEndLine = 630, srcSpanEndColumn = 60}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 17, srcSpanEndLine = 629, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 59, srcSpanEndLine = 630, srcSpanEndColumn = 60}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 18, srcSpanEndLine = 630, srcSpanEndColumn = 59}, srcInfoPoints = []}) (RightSection (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 18, srcSpanEndLine = 629, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 18, srcSpanEndLine = 629, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 40, srcSpanEndLine = 629, srcSpanEndColumn = 41}]}) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 19, srcSpanEndLine = 629, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 19, srcSpanEndLine = 629, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 20, srcSpanEndLine = 629, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 34, srcSpanEndLine = 629, srcSpanEndColumn = 35}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 19, srcSpanEndLine = 629, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 19, srcSpanEndLine = 629, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 20, srcSpanEndLine = 629, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 34, srcSpanEndLine = 629, srcSpanEndColumn = 35}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 19, srcSpanEndLine = 629, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 19, srcSpanEndLine = 629, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 20, srcSpanEndLine = 629, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 34, srcSpanEndLine = 629, srcSpanEndColumn = 35}]}) "ioeSetFileName"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 36, srcSpanEndLine = 629, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 36, srcSpanEndLine = 629, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 36, srcSpanEndLine = 629, srcSpanEndColumn = 40}, srcInfoPoints = []}) "path")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 42, srcSpanEndLine = 629, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 42, srcSpanEndLine = 629, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 629, srcSpanStartColumn = 42, srcSpanEndLine = 629, srcSpanEndColumn = 43}, srcInfoPoints = []}) "."))) (RightSection (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 18, srcSpanEndLine = 630, srcSpanEndColumn = 59}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 18, srcSpanEndLine = 630, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 58, srcSpanEndLine = 630, srcSpanEndColumn = 59}]}) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 19, srcSpanEndLine = 630, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 19, srcSpanEndLine = 630, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 20, srcSpanEndLine = 630, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 34, srcSpanEndLine = 630, srcSpanEndColumn = 35}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 19, srcSpanEndLine = 630, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 19, srcSpanEndLine = 630, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 20, srcSpanEndLine = 630, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 34, srcSpanEndLine = 630, srcSpanEndColumn = 35}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 19, srcSpanEndLine = 630, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 19, srcSpanEndLine = 630, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 20, srcSpanEndLine = 630, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 34, srcSpanEndLine = 630, srcSpanEndColumn = 35}]}) "ioeSetLocation"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 36, srcSpanEndLine = 630, srcSpanEndColumn = 58}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 36, srcSpanEndLine = 630, srcSpanEndColumn = 58}, srcInfoPoints = []}) "getDirectoryContents" "getDirectoryContents")))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 61, srcSpanEndLine = 630, srcSpanEndColumn = 62}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 61, srcSpanEndLine = 630, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 61, srcSpanEndLine = 630, srcSpanEndColumn = 62}, srcInfoPoints = []}) "$"))) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 63, srcSpanEndLine = 635, srcSpanEndColumn = 3}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 630, srcSpanStartColumn = 63, srcSpanEndLine = 630, srcSpanEndColumn = 65},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 631, srcSpanStartColumn = 3, srcSpanEndLine = 631, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 635, srcSpanStartColumn = 3, srcSpanEndLine = 635, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 635, srcSpanStartColumn = 3, srcSpanEndLine = 635, srcSpanEndColumn = 3}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 631, srcSpanStartColumn = 3, srcSpanEndLine = 634, srcSpanEndColumn = 35}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 631, srcSpanStartColumn = 3, srcSpanEndLine = 634, srcSpanEndColumn = 35}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 631, srcSpanStartColumn = 3, srcSpanEndLine = 633, srcSpanEndColumn = 35}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 631, srcSpanStartColumn = 3, srcSpanEndLine = 632, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 631, srcSpanStartColumn = 3, srcSpanEndLine = 631, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 631, srcSpanStartColumn = 3, srcSpanEndLine = 631, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 631, srcSpanStartColumn = 3, srcSpanEndLine = 631, srcSpanEndColumn = 10}, srcInfoPoints = []}) "bracket"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 6, srcSpanEndLine = 632, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 6, srcSpanEndLine = 632, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 41, srcSpanEndLine = 632, srcSpanEndColumn = 42}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 7, srcSpanEndLine = 632, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 7, srcSpanEndLine = 632, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 7, srcSpanEndLine = 632, srcSpanEndColumn = 26}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 7, srcSpanEndLine = 632, srcSpanEndColumn = 26}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 7, srcSpanEndLine = 632, srcSpanEndColumn = 26}, srcInfoPoints = []}) "findFirstFile"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 27, srcSpanEndLine = 632, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 27, srcSpanEndLine = 632, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 40, srcSpanEndLine = 632, srcSpanEndColumn = 41}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 28, srcSpanEndLine = 632, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 28, srcSpanEndLine = 632, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 28, srcSpanEndLine = 632, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 28, srcSpanEndLine = 632, srcSpanEndColumn = 32}, srcInfoPoints = []}) "path"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 33, srcSpanEndLine = 632, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 33, srcSpanEndLine = 632, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 33, srcSpanEndLine = 632, srcSpanEndColumn = 36}, srcInfoPoints = []}) "</>"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 37, srcSpanEndLine = 632, srcSpanEndColumn = 40}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 632, srcSpanStartColumn = 37, srcSpanEndLine = 632, srcSpanEndColumn = 40}, srcInfoPoints = []}) "*" "*"))))))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 6, srcSpanEndLine = 633, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 6, srcSpanEndLine = 633, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 34, srcSpanEndLine = 633, srcSpanEndColumn = 35}]}) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 7, srcSpanEndLine = 633, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 7, srcSpanEndLine = 633, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 14, srcSpanEndLine = 633, srcSpanEndColumn = 16}]}) [PTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 8, srcSpanEndLine = 633, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 8, srcSpanEndLine = 633, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 10, srcSpanEndLine = 633, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 12, srcSpanEndLine = 633, srcSpanEndColumn = 13}]}) Boxed [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 9, srcSpanEndLine = 633, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 9, srcSpanEndLine = 633, srcSpanEndColumn = 10}, srcInfoPoints = []}) "h"),PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 11, srcSpanEndLine = 633, srcSpanEndColumn = 12}, srcInfoPoints = []})]] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 17, srcSpanEndLine = 633, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 17, srcSpanEndLine = 633, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 17, srcSpanEndLine = 633, srcSpanEndColumn = 32}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 17, srcSpanEndLine = 633, srcSpanEndColumn = 32}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 17, srcSpanEndLine = 633, srcSpanEndColumn = 32}, srcInfoPoints = []}) "findClose"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 33, srcSpanEndLine = 633, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 33, srcSpanEndLine = 633, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 633, srcSpanStartColumn = 33, srcSpanEndLine = 633, srcSpanEndColumn = 34}, srcInfoPoints = []}) "h"))))))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 6, srcSpanEndLine = 634, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 6, srcSpanEndLine = 634, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 34, srcSpanEndLine = 634, srcSpanEndColumn = 35}]}) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 7, srcSpanEndLine = 634, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 7, srcSpanEndLine = 634, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 17, srcSpanEndLine = 634, srcSpanEndColumn = 19}]}) [PTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 8, srcSpanEndLine = 634, srcSpanEndColumn = 16}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 8, srcSpanEndLine = 634, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 10, srcSpanEndLine = 634, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 15, srcSpanEndLine = 634, srcSpanEndColumn = 16}]}) Boxed [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 9, srcSpanEndLine = 634, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 9, srcSpanEndLine = 634, srcSpanEndColumn = 10}, srcInfoPoints = []}) "h"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 11, srcSpanEndLine = 634, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 11, srcSpanEndLine = 634, srcSpanEndColumn = 15}, srcInfoPoints = []}) "fdat")]] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 20, srcSpanEndLine = 634, srcSpanEndColumn = 34}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 20, srcSpanEndLine = 634, srcSpanEndColumn = 31}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 20, srcSpanEndLine = 634, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 20, srcSpanEndLine = 634, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 20, srcSpanEndLine = 634, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 20, srcSpanEndLine = 634, srcSpanEndColumn = 24}, srcInfoPoints = []}) "loop"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 25, srcSpanEndLine = 634, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 25, srcSpanEndLine = 634, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 25, srcSpanEndLine = 634, srcSpanEndColumn = 26}, srcInfoPoints = []}) "h")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 27, srcSpanEndLine = 634, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 27, srcSpanEndLine = 634, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 27, srcSpanEndLine = 634, srcSpanEndColumn = 31}, srcInfoPoints = []}) "fdat")))) (List (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 32, srcSpanEndLine = 634, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 32, srcSpanEndLine = 634, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 634, srcSpanStartColumn = 33, srcSpanEndLine = 634, srcSpanEndColumn = 34}]}) [])))))]))) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 5, srcSpanEndLine = 672, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 5, srcSpanEndLine = 638, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 5, srcSpanEndLine = 639, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 1, srcSpanEndLine = 672, srcSpanEndColumn = 0}]}) [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 5, srcSpanEndLine = 638, srcSpanEndColumn = 74}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 10, srcSpanEndLine = 638, srcSpanEndColumn = 12}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 5, srcSpanEndLine = 638, srcSpanEndColumn = 9}, srcInfoPoints = []}) "loop"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 13, srcSpanEndLine = 638, srcSpanEndColumn = 74}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 26, srcSpanEndLine = 638, srcSpanEndColumn = 28}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 13, srcSpanEndLine = 638, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 13, srcSpanEndLine = 638, srcSpanEndColumn = 25}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 13, srcSpanEndLine = 638, srcSpanEndColumn = 25}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 13, srcSpanEndLine = 638, srcSpanEndColumn = 25}, srcInfoPoints = []}) "HANDLE"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 29, srcSpanEndLine = 638, srcSpanEndColumn = 74}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 44, srcSpanEndLine = 638, srcSpanEndColumn = 46}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 29, srcSpanEndLine = 638, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 29, srcSpanEndLine = 638, srcSpanEndColumn = 43}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 29, srcSpanEndLine = 638, srcSpanEndColumn = 43}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 29, srcSpanEndLine = 638, srcSpanEndColumn = 43}, srcInfoPoints = []}) "FindData"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 47, srcSpanEndLine = 638, srcSpanEndColumn = 74}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 58, srcSpanEndLine = 638, srcSpanEndColumn = 60}]}) (TyList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 47, srcSpanEndLine = 638, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 47, srcSpanEndLine = 638, srcSpanEndColumn = 48},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 56, srcSpanEndLine = 638, srcSpanEndColumn = 57}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 48, srcSpanEndLine = 638, srcSpanEndColumn = 56}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 48, srcSpanEndLine = 638, srcSpanEndColumn = 56}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 48, srcSpanEndLine = 638, srcSpanEndColumn = 56}, srcInfoPoints = []}) "FilePath")))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 61, srcSpanEndLine = 638, srcSpanEndColumn = 74}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 61, srcSpanEndLine = 638, srcSpanEndColumn = 63}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 61, srcSpanEndLine = 638, srcSpanEndColumn = 63}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 61, srcSpanEndLine = 638, srcSpanEndColumn = 63}, srcInfoPoints = []}) "IO"))) (TyList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 64, srcSpanEndLine = 638, srcSpanEndColumn = 74}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 64, srcSpanEndLine = 638, srcSpanEndColumn = 65},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 73, srcSpanEndLine = 638, srcSpanEndColumn = 74}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 65, srcSpanEndLine = 638, srcSpanEndColumn = 73}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 65, srcSpanEndLine = 638, srcSpanEndColumn = 73}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 638, srcSpanStartColumn = 65, srcSpanEndLine = 638, srcSpanEndColumn = 73}, srcInfoPoints = []}) "FilePath")))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 5, srcSpanEndLine = 672, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 5, srcSpanEndLine = 672, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 5, srcSpanEndLine = 639, srcSpanEndColumn = 9}, srcInfoPoints = []}) "loop") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 10, srcSpanEndLine = 639, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 10, srcSpanEndLine = 639, srcSpanEndColumn = 11}, srcInfoPoints = []}) "h"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 12, srcSpanEndLine = 639, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 12, srcSpanEndLine = 639, srcSpanEndColumn = 16}, srcInfoPoints = []}) "fdat"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 17, srcSpanEndLine = 639, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 17, srcSpanEndLine = 639, srcSpanEndColumn = 20}, srcInfoPoints = []}) "acc")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 21, srcSpanEndLine = 672, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 21, srcSpanEndLine = 639, srcSpanEndColumn = 22}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 23, srcSpanEndLine = 672, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 639, srcSpanStartColumn = 23, srcSpanEndLine = 639, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 8, srcSpanEndLine = 640, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 8, srcSpanEndLine = 641, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 642, srcSpanStartColumn = 8, srcSpanEndLine = 642, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 1, srcSpanEndLine = 672, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 8, srcSpanEndLine = 640, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 17, srcSpanEndLine = 640, srcSpanEndColumn = 19}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 8, srcSpanEndLine = 640, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 8, srcSpanEndLine = 640, srcSpanEndColumn = 16}, srcInfoPoints = []}) "filename")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 20, srcSpanEndLine = 640, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 20, srcSpanEndLine = 640, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 20, srcSpanEndLine = 640, srcSpanEndColumn = 45}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 20, srcSpanEndLine = 640, srcSpanEndColumn = 45}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 20, srcSpanEndLine = 640, srcSpanEndColumn = 45}, srcInfoPoints = []}) "getFindDataFileName"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 46, srcSpanEndLine = 640, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 46, srcSpanEndLine = 640, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 640, srcSpanStartColumn = 46, srcSpanEndLine = 640, srcSpanEndColumn = 50}, srcInfoPoints = []}) "fdat")))),Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 8, srcSpanEndLine = 641, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 13, srcSpanEndLine = 641, srcSpanEndColumn = 15}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 8, srcSpanEndLine = 641, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 8, srcSpanEndLine = 641, srcSpanEndColumn = 12}, srcInfoPoints = []}) "more")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 16, srcSpanEndLine = 641, srcSpanEndColumn = 41}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 16, srcSpanEndLine = 641, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 16, srcSpanEndLine = 641, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 16, srcSpanEndLine = 641, srcSpanEndColumn = 34}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 16, srcSpanEndLine = 641, srcSpanEndColumn = 34}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 16, srcSpanEndLine = 641, srcSpanEndColumn = 34}, srcInfoPoints = []}) "findNextFile"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 35, srcSpanEndLine = 641, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 35, srcSpanEndLine = 641, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 35, srcSpanEndLine = 641, srcSpanEndColumn = 36}, srcInfoPoints = []}) "h")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 37, srcSpanEndLine = 641, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 37, srcSpanEndLine = 641, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 641, srcSpanStartColumn = 37, srcSpanEndLine = 641, srcSpanEndColumn = 41}, srcInfoPoints = []}) "fdat")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 642, srcSpanStartColumn = 8, srcSpanEndLine = 644, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 642, srcSpanStartColumn = 8, srcSpanEndLine = 642, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 11, srcSpanEndLine = 643, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 11, srcSpanEndLine = 644, srcSpanEndColumn = 15}]}) (If (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 642, srcSpanStartColumn = 8, srcSpanEndLine = 644, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 642, srcSpanStartColumn = 8, srcSpanEndLine = 642, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 11, srcSpanEndLine = 643, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 11, srcSpanEndLine = 644, srcSpanEndColumn = 15}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 642, srcSpanStartColumn = 11, srcSpanEndLine = 642, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 642, srcSpanStartColumn = 11, srcSpanEndLine = 642, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 642, srcSpanStartColumn = 11, srcSpanEndLine = 642, srcSpanEndColumn = 15}, srcInfoPoints = []}) "more"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 16, srcSpanEndLine = 643, srcSpanEndColumn = 42}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 16, srcSpanEndLine = 643, srcSpanEndColumn = 27}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 16, srcSpanEndLine = 643, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 16, srcSpanEndLine = 643, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 16, srcSpanEndLine = 643, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 16, srcSpanEndLine = 643, srcSpanEndColumn = 20}, srcInfoPoints = []}) "loop"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 21, srcSpanEndLine = 643, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 21, srcSpanEndLine = 643, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 21, srcSpanEndLine = 643, srcSpanEndColumn = 22}, srcInfoPoints = []}) "h")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 23, srcSpanEndLine = 643, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 23, srcSpanEndLine = 643, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 23, srcSpanEndLine = 643, srcSpanEndColumn = 27}, srcInfoPoints = []}) "fdat")))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 28, srcSpanEndLine = 643, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 28, srcSpanEndLine = 643, srcSpanEndColumn = 29},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 41, srcSpanEndLine = 643, srcSpanEndColumn = 42}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 29, srcSpanEndLine = 643, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 29, srcSpanEndLine = 643, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 29, srcSpanEndLine = 643, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 29, srcSpanEndLine = 643, srcSpanEndColumn = 37}, srcInfoPoints = []}) "filename"))) (QConOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 37, srcSpanEndLine = 643, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 37, srcSpanEndLine = 643, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Cons (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 37, srcSpanEndLine = 643, srcSpanEndColumn = 38}, srcInfoPoints = []})))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 38, srcSpanEndLine = 643, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 38, srcSpanEndLine = 643, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 643, srcSpanStartColumn = 38, srcSpanEndLine = 643, srcSpanEndColumn = 41}, srcInfoPoints = []}) "acc")))))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 16, srcSpanEndLine = 644, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 16, srcSpanEndLine = 644, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 16, srcSpanEndLine = 644, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 16, srcSpanEndLine = 644, srcSpanEndColumn = 22}, srcInfoPoints = []}) "return"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 23, srcSpanEndLine = 644, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 23, srcSpanEndLine = 644, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 36, srcSpanEndLine = 644, srcSpanEndColumn = 37}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 24, srcSpanEndLine = 644, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 24, srcSpanEndLine = 644, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 24, srcSpanEndLine = 644, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 24, srcSpanEndLine = 644, srcSpanEndColumn = 32}, srcInfoPoints = []}) "filename"))) (QConOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 32, srcSpanEndLine = 644, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 32, srcSpanEndLine = 644, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Cons (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 32, srcSpanEndLine = 644, srcSpanEndColumn = 33}, srcInfoPoints = []})))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 33, srcSpanEndLine = 644, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 33, srcSpanEndLine = 644, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 644, srcSpanStartColumn = 33, srcSpanEndLine = 644, srcSpanEndColumn = 36}, srcInfoPoints = []}) "acc")))))))])) Nothing]]))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 1, srcSpanEndLine = 672, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 21, srcSpanEndLine = 672, srcSpanEndColumn = 23}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 1, srcSpanEndLine = 672, srcSpanEndColumn = 20}, srcInfoPoints = []}) "getCurrentDirectory"] (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 24, srcSpanEndLine = 672, srcSpanEndColumn = 35}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 24, srcSpanEndLine = 672, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 24, srcSpanEndLine = 672, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 24, srcSpanEndLine = 672, srcSpanEndColumn = 26}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 27, srcSpanEndLine = 672, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 27, srcSpanEndLine = 672, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 672, srcSpanStartColumn = 27, srcSpanEndLine = 672, srcSpanEndColumn = 35}, srcInfoPoints = []}) "FilePath")))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 673, srcSpanStartColumn = 1, srcSpanEndLine = 708, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 673, srcSpanStartColumn = 1, srcSpanEndLine = 673, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 673, srcSpanStartColumn = 1, srcSpanEndLine = 673, srcSpanEndColumn = 20}, srcInfoPoints = []}) "getCurrentDirectory")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 673, srcSpanStartColumn = 21, srcSpanEndLine = 708, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 673, srcSpanStartColumn = 21, srcSpanEndLine = 673, srcSpanEndColumn = 22}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 673, srcSpanStartColumn = 23, srcSpanEndLine = 708, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 673, srcSpanStartColumn = 23, srcSpanEndLine = 673, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 674, srcSpanStartColumn = 3, srcSpanEndLine = 674, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 1, srcSpanEndLine = 708, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 674, srcSpanStartColumn = 3, srcSpanEndLine = 674, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 674, srcSpanStartColumn = 3, srcSpanEndLine = 674, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 674, srcSpanStartColumn = 3, srcSpanEndLine = 674, srcSpanEndColumn = 28}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 674, srcSpanStartColumn = 3, srcSpanEndLine = 674, srcSpanEndColumn = 28}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 674, srcSpanStartColumn = 3, srcSpanEndLine = 674, srcSpanEndColumn = 28}, srcInfoPoints = []}) "getCurrentDirectory")))])) Nothing,TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 1, srcSpanEndLine = 708, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 21, srcSpanEndLine = 708, srcSpanEndColumn = 23}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 1, srcSpanEndLine = 708, srcSpanEndColumn = 20}, srcInfoPoints = []}) "setCurrentDirectory"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 24, srcSpanEndLine = 708, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 33, srcSpanEndLine = 708, srcSpanEndColumn = 35}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 24, srcSpanEndLine = 708, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 24, srcSpanEndLine = 708, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 24, srcSpanEndLine = 708, srcSpanEndColumn = 32}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 36, srcSpanEndLine = 708, srcSpanEndColumn = 41}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 36, srcSpanEndLine = 708, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 36, srcSpanEndLine = 708, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 36, srcSpanEndLine = 708, srcSpanEndColumn = 38}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 39, srcSpanEndLine = 708, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 39, srcSpanEndLine = 708, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 40, srcSpanEndLine = 708, srcSpanEndColumn = 41}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 39, srcSpanEndLine = 708, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 39, srcSpanEndLine = 708, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 40, srcSpanEndLine = 708, srcSpanEndColumn = 41}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 39, srcSpanEndLine = 708, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 39, srcSpanEndLine = 708, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 708, srcSpanStartColumn = 40, srcSpanEndLine = 708, srcSpanEndColumn = 41}]})))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 709, srcSpanStartColumn = 1, srcSpanEndLine = 710, srcSpanEndColumn = 33}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 709, srcSpanStartColumn = 1, srcSpanEndLine = 710, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 709, srcSpanStartColumn = 1, srcSpanEndLine = 709, srcSpanEndColumn = 20}, srcInfoPoints = []}) "setCurrentDirectory") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 709, srcSpanStartColumn = 21, srcSpanEndLine = 709, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 709, srcSpanStartColumn = 21, srcSpanEndLine = 709, srcSpanEndColumn = 25}, srcInfoPoints = []}) "path")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 709, srcSpanStartColumn = 26, srcSpanEndLine = 710, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 709, srcSpanStartColumn = 26, srcSpanEndLine = 709, srcSpanEndColumn = 27}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 710, srcSpanStartColumn = 3, srcSpanEndLine = 710, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 710, srcSpanStartColumn = 3, srcSpanEndLine = 710, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 710, srcSpanStartColumn = 3, srcSpanEndLine = 710, srcSpanEndColumn = 28}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 710, srcSpanStartColumn = 3, srcSpanEndLine = 710, srcSpanEndColumn = 28}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 710, srcSpanStartColumn = 3, srcSpanEndLine = 710, srcSpanEndColumn = 28}, srcInfoPoints = []}) "setCurrentDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 710, srcSpanStartColumn = 29, srcSpanEndLine = 710, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 710, srcSpanStartColumn = 29, srcSpanEndLine = 710, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 710, srcSpanStartColumn = 29, srcSpanEndLine = 710, srcSpanEndColumn = 33}, srcInfoPoints = []}) "path"))))) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 1, srcSpanEndLine = 716, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 20, srcSpanEndLine = 716, srcSpanEndColumn = 22}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 1, srcSpanEndLine = 716, srcSpanEndColumn = 19}, srcInfoPoints = []}) "doesDirectoryExist"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 23, srcSpanEndLine = 716, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 32, srcSpanEndLine = 716, srcSpanEndColumn = 34}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 23, srcSpanEndLine = 716, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 23, srcSpanEndLine = 716, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 23, srcSpanEndLine = 716, srcSpanEndColumn = 31}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 35, srcSpanEndLine = 716, srcSpanEndColumn = 42}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 35, srcSpanEndLine = 716, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 35, srcSpanEndLine = 716, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 35, srcSpanEndLine = 716, srcSpanEndColumn = 37}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 38, srcSpanEndLine = 716, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 38, srcSpanEndLine = 716, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 716, srcSpanStartColumn = 38, srcSpanEndLine = 716, srcSpanEndColumn = 42}, srcInfoPoints = []}) "Bool"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 717, srcSpanStartColumn = 1, srcSpanEndLine = 719, srcSpanEndColumn = 61}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 717, srcSpanStartColumn = 1, srcSpanEndLine = 719, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 717, srcSpanStartColumn = 1, srcSpanEndLine = 717, srcSpanEndColumn = 19}, srcInfoPoints = []}) "doesDirectoryExist") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 717, srcSpanStartColumn = 20, srcSpanEndLine = 717, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 717, srcSpanStartColumn = 20, srcSpanEndLine = 717, srcSpanEndColumn = 24}, srcInfoPoints = []}) "name")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 717, srcSpanStartColumn = 25, srcSpanEndLine = 719, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 717, srcSpanStartColumn = 25, srcSpanEndLine = 717, srcSpanEndColumn = 26}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 4, srcSpanEndLine = 719, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 4, srcSpanEndLine = 718, srcSpanEndColumn = 70}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 4, srcSpanEndLine = 718, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 69, srcSpanEndLine = 718, srcSpanEndColumn = 70}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 5, srcSpanEndLine = 718, srcSpanEndColumn = 69}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 5, srcSpanEndLine = 718, srcSpanEndColumn = 45}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 5, srcSpanEndLine = 718, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 5, srcSpanEndLine = 718, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 5, srcSpanEndLine = 718, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 5, srcSpanEndLine = 718, srcSpanEndColumn = 19}, srcInfoPoints = []}) "withFileStatus"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 20, srcSpanEndLine = 718, srcSpanEndColumn = 40}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 20, srcSpanEndLine = 718, srcSpanEndColumn = 40}, srcInfoPoints = []}) "doesDirectoryExist" "doesDirectoryExist"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 41, srcSpanEndLine = 718, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 41, srcSpanEndLine = 718, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 41, srcSpanEndLine = 718, srcSpanEndColumn = 45}, srcInfoPoints = []}) "name")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 46, srcSpanEndLine = 718, srcSpanEndColumn = 47}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 46, srcSpanEndLine = 718, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 46, srcSpanEndLine = 718, srcSpanEndColumn = 47}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 48, srcSpanEndLine = 718, srcSpanEndColumn = 69}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 48, srcSpanEndLine = 718, srcSpanEndColumn = 49},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 52, srcSpanEndLine = 718, srcSpanEndColumn = 54}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 49, srcSpanEndLine = 718, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 49, srcSpanEndLine = 718, srcSpanEndColumn = 51}, srcInfoPoints = []}) "st")] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 55, srcSpanEndLine = 718, srcSpanEndColumn = 69}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 55, srcSpanEndLine = 718, srcSpanEndColumn = 66}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 55, srcSpanEndLine = 718, srcSpanEndColumn = 66}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 55, srcSpanEndLine = 718, srcSpanEndColumn = 66}, srcInfoPoints = []}) "isDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 67, srcSpanEndLine = 718, srcSpanEndColumn = 69}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 67, srcSpanEndLine = 718, srcSpanEndColumn = 69}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 718, srcSpanStartColumn = 67, srcSpanEndLine = 718, srcSpanEndColumn = 69}, srcInfoPoints = []}) "st"))))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 4, srcSpanEndLine = 719, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 4, srcSpanEndLine = 719, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 5, srcSpanEndLine = 719, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 10, srcSpanEndLine = 719, srcSpanEndColumn = 11}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 4, srcSpanEndLine = 719, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 4, srcSpanEndLine = 719, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 5, srcSpanEndLine = 719, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 10, srcSpanEndLine = 719, srcSpanEndColumn = 11}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 4, srcSpanEndLine = 719, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 4, srcSpanEndLine = 719, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 5, srcSpanEndLine = 719, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 10, srcSpanEndLine = 719, srcSpanEndColumn = 11}]}) "catch"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 12, srcSpanEndLine = 719, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 12, srcSpanEndLine = 719, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 60, srcSpanEndLine = 719, srcSpanEndColumn = 61}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 13, srcSpanEndLine = 719, srcSpanEndColumn = 60}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 35, srcSpanEndLine = 719, srcSpanEndColumn = 37}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 13, srcSpanEndLine = 719, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 13, srcSpanEndLine = 719, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 33, srcSpanEndLine = 719, srcSpanEndColumn = 34}]}) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 14, srcSpanEndLine = 719, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 14, srcSpanEndLine = 719, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 18, srcSpanEndLine = 719, srcSpanEndColumn = 20}]}) [PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 16, srcSpanEndLine = 719, srcSpanEndColumn = 17}, srcInfoPoints = []})] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 21, srcSpanEndLine = 719, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 21, srcSpanEndLine = 719, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 21, srcSpanEndLine = 719, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 21, srcSpanEndLine = 719, srcSpanEndColumn = 27}, srcInfoPoints = []}) "return"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 28, srcSpanEndLine = 719, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 28, srcSpanEndLine = 719, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 28, srcSpanEndLine = 719, srcSpanEndColumn = 33}, srcInfoPoints = []}) "False")))))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 38, srcSpanEndLine = 719, srcSpanEndColumn = 60}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 50, srcSpanEndLine = 719, srcSpanEndColumn = 52}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 38, srcSpanEndLine = 719, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 38, srcSpanEndLine = 719, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 38, srcSpanEndLine = 719, srcSpanEndColumn = 49}, srcInfoPoints = []}) "IOException"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 53, srcSpanEndLine = 719, srcSpanEndColumn = 60}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 53, srcSpanEndLine = 719, srcSpanEndColumn = 55}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 53, srcSpanEndLine = 719, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 53, srcSpanEndLine = 719, srcSpanEndColumn = 55}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 56, srcSpanEndLine = 719, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 56, srcSpanEndLine = 719, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 719, srcSpanStartColumn = 56, srcSpanEndLine = 719, srcSpanEndColumn = 60}, srcInfoPoints = []}) "Bool"))))))))) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 1, srcSpanEndLine = 725, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 15, srcSpanEndLine = 725, srcSpanEndColumn = 17}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 1, srcSpanEndLine = 725, srcSpanEndColumn = 14}, srcInfoPoints = []}) "doesFileExist"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 18, srcSpanEndLine = 725, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 27, srcSpanEndLine = 725, srcSpanEndColumn = 29}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 18, srcSpanEndLine = 725, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 18, srcSpanEndLine = 725, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 18, srcSpanEndLine = 725, srcSpanEndColumn = 26}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 30, srcSpanEndLine = 725, srcSpanEndColumn = 37}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 30, srcSpanEndLine = 725, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 30, srcSpanEndLine = 725, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 30, srcSpanEndLine = 725, srcSpanEndColumn = 32}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 33, srcSpanEndLine = 725, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 33, srcSpanEndLine = 725, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 725, srcSpanStartColumn = 33, srcSpanEndLine = 725, srcSpanEndColumn = 37}, srcInfoPoints = []}) "Bool"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 726, srcSpanStartColumn = 1, srcSpanEndLine = 728, srcSpanEndColumn = 61}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 726, srcSpanStartColumn = 1, srcSpanEndLine = 728, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 726, srcSpanStartColumn = 1, srcSpanEndLine = 726, srcSpanEndColumn = 14}, srcInfoPoints = []}) "doesFileExist") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 726, srcSpanStartColumn = 15, srcSpanEndLine = 726, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 726, srcSpanStartColumn = 15, srcSpanEndLine = 726, srcSpanEndColumn = 19}, srcInfoPoints = []}) "name")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 726, srcSpanStartColumn = 20, srcSpanEndLine = 728, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 726, srcSpanStartColumn = 20, srcSpanEndLine = 726, srcSpanEndColumn = 21}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 4, srcSpanEndLine = 728, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 4, srcSpanEndLine = 727, srcSpanEndColumn = 89}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 4, srcSpanEndLine = 727, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 88, srcSpanEndLine = 727, srcSpanEndColumn = 89}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 5, srcSpanEndLine = 727, srcSpanEndColumn = 88}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 5, srcSpanEndLine = 727, srcSpanEndColumn = 40}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 5, srcSpanEndLine = 727, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 5, srcSpanEndLine = 727, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 5, srcSpanEndLine = 727, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 5, srcSpanEndLine = 727, srcSpanEndColumn = 19}, srcInfoPoints = []}) "withFileStatus"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 20, srcSpanEndLine = 727, srcSpanEndColumn = 35}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 20, srcSpanEndLine = 727, srcSpanEndColumn = 35}, srcInfoPoints = []}) "doesFileExist" "doesFileExist"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 36, srcSpanEndLine = 727, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 36, srcSpanEndLine = 727, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 36, srcSpanEndLine = 727, srcSpanEndColumn = 40}, srcInfoPoints = []}) "name")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 41, srcSpanEndLine = 727, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 41, srcSpanEndLine = 727, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 41, srcSpanEndLine = 727, srcSpanEndColumn = 42}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 43, srcSpanEndLine = 727, srcSpanEndColumn = 88}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 43, srcSpanEndLine = 727, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 47, srcSpanEndLine = 727, srcSpanEndColumn = 49}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 44, srcSpanEndLine = 727, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 44, srcSpanEndLine = 727, srcSpanEndColumn = 46}, srcInfoPoints = []}) "st")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 50, srcSpanEndLine = 727, srcSpanEndColumn = 88}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 50, srcSpanEndLine = 727, srcSpanEndColumn = 52},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 53, srcSpanEndLine = 727, srcSpanEndColumn = 53},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 72, srcSpanEndLine = 727, srcSpanEndColumn = 73},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 88, srcSpanEndLine = 727, srcSpanEndColumn = 88}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 53, srcSpanEndLine = 727, srcSpanEndColumn = 72}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 55, srcSpanEndLine = 727, srcSpanEndColumn = 57}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 53, srcSpanEndLine = 727, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 53, srcSpanEndLine = 727, srcSpanEndColumn = 54}, srcInfoPoints = []}) "b")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 58, srcSpanEndLine = 727, srcSpanEndColumn = 72}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 58, srcSpanEndLine = 727, srcSpanEndColumn = 69}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 58, srcSpanEndLine = 727, srcSpanEndColumn = 69}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 58, srcSpanEndLine = 727, srcSpanEndColumn = 69}, srcInfoPoints = []}) "isDirectory"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 70, srcSpanEndLine = 727, srcSpanEndColumn = 72}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 70, srcSpanEndLine = 727, srcSpanEndColumn = 72}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 70, srcSpanEndLine = 727, srcSpanEndColumn = 72}, srcInfoPoints = []}) "st")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 74, srcSpanEndLine = 727, srcSpanEndColumn = 88}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 74, srcSpanEndLine = 727, srcSpanEndColumn = 88}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 74, srcSpanEndLine = 727, srcSpanEndColumn = 80}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 74, srcSpanEndLine = 727, srcSpanEndColumn = 80}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 74, srcSpanEndLine = 727, srcSpanEndColumn = 80}, srcInfoPoints = []}) "return"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 81, srcSpanEndLine = 727, srcSpanEndColumn = 88}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 81, srcSpanEndLine = 727, srcSpanEndColumn = 82},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 87, srcSpanEndLine = 727, srcSpanEndColumn = 88}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 82, srcSpanEndLine = 727, srcSpanEndColumn = 87}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 82, srcSpanEndLine = 727, srcSpanEndColumn = 85}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 82, srcSpanEndLine = 727, srcSpanEndColumn = 85}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 82, srcSpanEndLine = 727, srcSpanEndColumn = 85}, srcInfoPoints = []}) "not"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 86, srcSpanEndLine = 727, srcSpanEndColumn = 87}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 86, srcSpanEndLine = 727, srcSpanEndColumn = 87}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 727, srcSpanStartColumn = 86, srcSpanEndLine = 727, srcSpanEndColumn = 87}, srcInfoPoints = []}) "b"))))))])))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 4, srcSpanEndLine = 728, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 4, srcSpanEndLine = 728, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 5, srcSpanEndLine = 728, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 10, srcSpanEndLine = 728, srcSpanEndColumn = 11}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 4, srcSpanEndLine = 728, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 4, srcSpanEndLine = 728, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 5, srcSpanEndLine = 728, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 10, srcSpanEndLine = 728, srcSpanEndColumn = 11}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 4, srcSpanEndLine = 728, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 4, srcSpanEndLine = 728, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 5, srcSpanEndLine = 728, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 10, srcSpanEndLine = 728, srcSpanEndColumn = 11}]}) "catch"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 12, srcSpanEndLine = 728, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 12, srcSpanEndLine = 728, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 60, srcSpanEndLine = 728, srcSpanEndColumn = 61}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 13, srcSpanEndLine = 728, srcSpanEndColumn = 60}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 35, srcSpanEndLine = 728, srcSpanEndColumn = 37}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 13, srcSpanEndLine = 728, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 13, srcSpanEndLine = 728, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 33, srcSpanEndLine = 728, srcSpanEndColumn = 34}]}) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 14, srcSpanEndLine = 728, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 14, srcSpanEndLine = 728, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 18, srcSpanEndLine = 728, srcSpanEndColumn = 20}]}) [PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 16, srcSpanEndLine = 728, srcSpanEndColumn = 17}, srcInfoPoints = []})] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 21, srcSpanEndLine = 728, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 21, srcSpanEndLine = 728, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 21, srcSpanEndLine = 728, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 21, srcSpanEndLine = 728, srcSpanEndColumn = 27}, srcInfoPoints = []}) "return"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 28, srcSpanEndLine = 728, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 28, srcSpanEndLine = 728, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 28, srcSpanEndLine = 728, srcSpanEndColumn = 33}, srcInfoPoints = []}) "False")))))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 38, srcSpanEndLine = 728, srcSpanEndColumn = 60}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 50, srcSpanEndLine = 728, srcSpanEndColumn = 52}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 38, srcSpanEndLine = 728, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 38, srcSpanEndLine = 728, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 38, srcSpanEndLine = 728, srcSpanEndColumn = 49}, srcInfoPoints = []}) "IOException"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 53, srcSpanEndLine = 728, srcSpanEndColumn = 60}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 53, srcSpanEndLine = 728, srcSpanEndColumn = 55}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 53, srcSpanEndLine = 728, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 53, srcSpanEndLine = 728, srcSpanEndColumn = 55}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 56, srcSpanEndLine = 728, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 56, srcSpanEndLine = 728, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 728, srcSpanStartColumn = 56, srcSpanEndLine = 728, srcSpanEndColumn = 60}, srcInfoPoints = []}) "Bool"))))))))) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 1, srcSpanEndLine = 742, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 21, srcSpanEndLine = 742, srcSpanEndColumn = 23}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 1, srcSpanEndLine = 742, srcSpanEndColumn = 20}, srcInfoPoints = []}) "getModificationTime"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 24, srcSpanEndLine = 742, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 33, srcSpanEndLine = 742, srcSpanEndColumn = 35}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 24, srcSpanEndLine = 742, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 24, srcSpanEndLine = 742, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 24, srcSpanEndLine = 742, srcSpanEndColumn = 32}, srcInfoPoints = []}) "FilePath"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 36, srcSpanEndLine = 742, srcSpanEndColumn = 48}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 36, srcSpanEndLine = 742, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 36, srcSpanEndLine = 742, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 36, srcSpanEndLine = 742, srcSpanEndColumn = 38}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 39, srcSpanEndLine = 742, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 39, srcSpanEndLine = 742, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 742, srcSpanStartColumn = 39, srcSpanEndLine = 742, srcSpanEndColumn = 48}, srcInfoPoints = []}) "ClockTime"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 743, srcSpanStartColumn = 1, srcSpanEndLine = 749, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 743, srcSpanStartColumn = 1, srcSpanEndLine = 749, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 743, srcSpanStartColumn = 1, srcSpanEndLine = 743, srcSpanEndColumn = 20}, srcInfoPoints = []}) "getModificationTime") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 743, srcSpanStartColumn = 21, srcSpanEndLine = 743, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 743, srcSpanStartColumn = 21, srcSpanEndLine = 743, srcSpanEndColumn = 25}, srcInfoPoints = []}) "name")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 743, srcSpanStartColumn = 26, srcSpanEndLine = 749, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 743, srcSpanStartColumn = 26, srcSpanEndLine = 743, srcSpanEndColumn = 27}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 743, srcSpanStartColumn = 28, srcSpanEndLine = 749, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 743, srcSpanStartColumn = 28, srcSpanEndLine = 743, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 2, srcSpanEndLine = 745, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 1, srcSpanEndLine = 749, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 2, srcSpanEndLine = 749, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 2, srcSpanEndLine = 749, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 2, srcSpanEndLine = 745, srcSpanEndColumn = 43}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 2, srcSpanEndLine = 745, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 2, srcSpanEndLine = 745, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 2, srcSpanEndLine = 745, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 2, srcSpanEndLine = 745, srcSpanEndColumn = 16}, srcInfoPoints = []}) "withFileStatus"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 17, srcSpanEndLine = 745, srcSpanEndColumn = 38}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 17, srcSpanEndLine = 745, srcSpanEndColumn = 38}, srcInfoPoints = []}) "getModificationTime" "getModificationTime"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 39, srcSpanEndLine = 745, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 39, srcSpanEndLine = 745, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 39, srcSpanEndLine = 745, srcSpanEndColumn = 43}, srcInfoPoints = []}) "name")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 44, srcSpanEndLine = 745, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 44, srcSpanEndLine = 745, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 44, srcSpanEndLine = 745, srcSpanEndColumn = 45}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 46, srcSpanEndLine = 749, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 46, srcSpanEndLine = 745, srcSpanEndColumn = 47},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 51, srcSpanEndLine = 745, srcSpanEndColumn = 53}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 48, srcSpanEndLine = 745, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 48, srcSpanEndLine = 745, srcSpanEndColumn = 50}, srcInfoPoints = []}) "st")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 54, srcSpanEndLine = 749, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 745, srcSpanStartColumn = 54, srcSpanEndLine = 745, srcSpanEndColumn = 56},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 746, srcSpanStartColumn = 2, srcSpanEndLine = 746, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 746, srcSpanStartColumn = 2, srcSpanEndLine = 746, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 1, srcSpanEndLine = 749, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 746, srcSpanStartColumn = 2, srcSpanEndLine = 746, srcSpanEndColumn = 21}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 746, srcSpanStartColumn = 2, srcSpanEndLine = 746, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 746, srcSpanStartColumn = 2, srcSpanEndLine = 746, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 746, srcSpanStartColumn = 2, srcSpanEndLine = 746, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 746, srcSpanStartColumn = 2, srcSpanEndLine = 746, srcSpanEndColumn = 18}, srcInfoPoints = []}) "modificationTime"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 746, srcSpanStartColumn = 19, srcSpanEndLine = 746, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 746, srcSpanStartColumn = 19, srcSpanEndLine = 746, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 746, srcSpanStartColumn = 19, srcSpanEndLine = 746, srcSpanEndColumn = 21}, srcInfoPoints = []}) "st"))))])))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 1, srcSpanEndLine = 749, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 16, srcSpanEndLine = 749, srcSpanEndColumn = 18}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 1, srcSpanEndLine = 749, srcSpanEndColumn = 15}, srcInfoPoints = []}) "withFileStatus"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 19, srcSpanEndLine = 749, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 26, srcSpanEndLine = 749, srcSpanEndColumn = 28}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 19, srcSpanEndLine = 749, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 19, srcSpanEndLine = 749, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 19, srcSpanEndLine = 749, srcSpanEndColumn = 25}, srcInfoPoints = []}) "String"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 29, srcSpanEndLine = 749, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 38, srcSpanEndLine = 749, srcSpanEndColumn = 40}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 29, srcSpanEndLine = 749, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 29, srcSpanEndLine = 749, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 29, srcSpanEndLine = 749, srcSpanEndColumn = 37}, srcInfoPoints = []}) "FilePath"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 41, srcSpanEndLine = 749, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 61, srcSpanEndLine = 749, srcSpanEndColumn = 63}]}) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 41, srcSpanEndLine = 749, srcSpanEndColumn = 60}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 41, srcSpanEndLine = 749, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 59, srcSpanEndLine = 749, srcSpanEndColumn = 60}]}) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 42, srcSpanEndLine = 749, srcSpanEndColumn = 59}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 52, srcSpanEndLine = 749, srcSpanEndColumn = 54}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 42, srcSpanEndLine = 749, srcSpanEndColumn = 51}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 42, srcSpanEndLine = 749, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 42, srcSpanEndLine = 749, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 42, srcSpanEndLine = 749, srcSpanEndColumn = 45}, srcInfoPoints = []}) "Ptr"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 46, srcSpanEndLine = 749, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 46, srcSpanEndLine = 749, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 46, srcSpanEndLine = 749, srcSpanEndColumn = 51}, srcInfoPoints = []}) "CStat")))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 55, srcSpanEndLine = 749, srcSpanEndColumn = 59}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 55, srcSpanEndLine = 749, srcSpanEndColumn = 57}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 55, srcSpanEndLine = 749, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 55, srcSpanEndLine = 749, srcSpanEndColumn = 57}, srcInfoPoints = []}) "IO"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 58, srcSpanEndLine = 749, srcSpanEndColumn = 59}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 58, srcSpanEndLine = 749, srcSpanEndColumn = 59}, srcInfoPoints = []}) "a"))))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 64, srcSpanEndLine = 749, srcSpanEndColumn = 68}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 64, srcSpanEndLine = 749, srcSpanEndColumn = 66}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 64, srcSpanEndLine = 749, srcSpanEndColumn = 66}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 64, srcSpanEndLine = 749, srcSpanEndColumn = 66}, srcInfoPoints = []}) "IO"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 67, srcSpanEndLine = 749, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 749, srcSpanStartColumn = 67, srcSpanEndLine = 749, srcSpanEndColumn = 68}, srcInfoPoints = []}) "a")))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 1, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 1, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 1, srcSpanEndLine = 750, srcSpanEndColumn = 15}, srcInfoPoints = []}) "withFileStatus") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 16, srcSpanEndLine = 750, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 16, srcSpanEndLine = 750, srcSpanEndColumn = 19}, srcInfoPoints = []}) "loc"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 20, srcSpanEndLine = 750, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 20, srcSpanEndLine = 750, srcSpanEndColumn = 24}, srcInfoPoints = []}) "name"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 25, srcSpanEndLine = 750, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 25, srcSpanEndLine = 750, srcSpanEndColumn = 26}, srcInfoPoints = []}) "f")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 27, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 27, srcSpanEndLine = 750, srcSpanEndColumn = 28}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 29, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 750, srcSpanStartColumn = 29, srcSpanEndLine = 750, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 3, srcSpanEndLine = 751, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 1, srcSpanEndLine = 756, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 3, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 3, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 3, srcSpanEndLine = 751, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 3, srcSpanEndLine = 751, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 3, srcSpanEndLine = 751, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 3, srcSpanEndLine = 751, srcSpanEndColumn = 16}, srcInfoPoints = []}) "modifyIOError"))) (RightSection (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 17, srcSpanEndLine = 751, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 17, srcSpanEndLine = 751, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 39, srcSpanEndLine = 751, srcSpanEndColumn = 40}]}) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 18, srcSpanEndLine = 751, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 18, srcSpanEndLine = 751, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 19, srcSpanEndLine = 751, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 33, srcSpanEndLine = 751, srcSpanEndColumn = 34}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 18, srcSpanEndLine = 751, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 18, srcSpanEndLine = 751, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 19, srcSpanEndLine = 751, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 33, srcSpanEndLine = 751, srcSpanEndColumn = 34}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 18, srcSpanEndLine = 751, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 18, srcSpanEndLine = 751, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 19, srcSpanEndLine = 751, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 33, srcSpanEndLine = 751, srcSpanEndColumn = 34}]}) "ioeSetFileName"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 35, srcSpanEndLine = 751, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 35, srcSpanEndLine = 751, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 35, srcSpanEndLine = 751, srcSpanEndColumn = 39}, srcInfoPoints = []}) "name"))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 41, srcSpanEndLine = 751, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 41, srcSpanEndLine = 751, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 751, srcSpanStartColumn = 41, srcSpanEndLine = 751, srcSpanEndColumn = 42}, srcInfoPoints = []}) "$"))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 5, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 5, srcSpanEndLine = 752, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 5, srcSpanEndLine = 752, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 5, srcSpanEndLine = 752, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 5, srcSpanEndLine = 752, srcSpanEndColumn = 16}, srcInfoPoints = []}) "allocaBytes"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 17, srcSpanEndLine = 752, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 17, srcSpanEndLine = 752, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 17, srcSpanEndLine = 752, srcSpanEndColumn = 28}, srcInfoPoints = []}) "sizeof_stat")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 29, srcSpanEndLine = 752, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 29, srcSpanEndLine = 752, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 29, srcSpanEndLine = 752, srcSpanEndColumn = 30}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 31, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 31, srcSpanEndLine = 752, srcSpanEndColumn = 32},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 34, srcSpanEndLine = 752, srcSpanEndColumn = 36}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 32, srcSpanEndLine = 752, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 752, srcSpanStartColumn = 32, srcSpanEndLine = 752, srcSpanEndColumn = 33}, srcInfoPoints = []}) "p")] (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 7, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 7, srcSpanEndLine = 753, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 7, srcSpanEndLine = 753, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 7, srcSpanEndLine = 753, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 7, srcSpanEndLine = 753, srcSpanEndColumn = 19}, srcInfoPoints = []}) "withFilePath"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 20, srcSpanEndLine = 753, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 20, srcSpanEndLine = 753, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 42, srcSpanEndLine = 753, srcSpanEndColumn = 43}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 21, srcSpanEndLine = 753, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 21, srcSpanEndLine = 753, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 21, srcSpanEndLine = 753, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 21, srcSpanEndLine = 753, srcSpanEndColumn = 37}, srcInfoPoints = []}) "fileNameEndClean"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 38, srcSpanEndLine = 753, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 38, srcSpanEndLine = 753, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 38, srcSpanEndLine = 753, srcSpanEndColumn = 42}, srcInfoPoints = []}) "name")))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 44, srcSpanEndLine = 753, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 44, srcSpanEndLine = 753, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 44, srcSpanEndLine = 753, srcSpanEndColumn = 45}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 46, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 46, srcSpanEndLine = 753, srcSpanEndColumn = 47},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 49, srcSpanEndLine = 753, srcSpanEndColumn = 51}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 47, srcSpanEndLine = 753, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 47, srcSpanEndLine = 753, srcSpanEndColumn = 48}, srcInfoPoints = []}) "s")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 52, srcSpanEndLine = 756, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 753, srcSpanStartColumn = 52, srcSpanEndLine = 753, srcSpanEndColumn = 54},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 9, srcSpanEndLine = 754, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 1, srcSpanEndLine = 756, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 9, srcSpanEndLine = 754, srcSpanEndColumn = 50}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 9, srcSpanEndLine = 754, srcSpanEndColumn = 50}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 9, srcSpanEndLine = 754, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 9, srcSpanEndLine = 754, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 9, srcSpanEndLine = 754, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 9, srcSpanEndLine = 754, srcSpanEndColumn = 33}, srcInfoPoints = []}) "throwErrnoIfMinus1Retry_"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 34, srcSpanEndLine = 754, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 34, srcSpanEndLine = 754, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 34, srcSpanEndLine = 754, srcSpanEndColumn = 37}, srcInfoPoints = []}) "loc")))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 38, srcSpanEndLine = 754, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 38, srcSpanEndLine = 754, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 49, srcSpanEndLine = 754, srcSpanEndColumn = 50}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 39, srcSpanEndLine = 754, srcSpanEndColumn = 49}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 39, srcSpanEndLine = 754, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 39, srcSpanEndLine = 754, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 39, srcSpanEndLine = 754, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 39, srcSpanEndLine = 754, srcSpanEndColumn = 45}, srcInfoPoints = []}) "c_stat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 46, srcSpanEndLine = 754, srcSpanEndColumn = 47}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 46, srcSpanEndLine = 754, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 46, srcSpanEndLine = 754, srcSpanEndColumn = 47}, srcInfoPoints = []}) "s")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 48, srcSpanEndLine = 754, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 48, srcSpanEndLine = 754, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 754, srcSpanStartColumn = 48, srcSpanEndLine = 754, srcSpanEndColumn = 49}, srcInfoPoints = []}) "p"))))))]))))))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 1, srcSpanEndLine = 756, srcSpanEndColumn = 77}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 25, srcSpanEndLine = 756, srcSpanEndColumn = 27}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 1, srcSpanEndLine = 756, srcSpanEndColumn = 24}, srcInfoPoints = []}) "withFileOrSymlinkStatus"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 28, srcSpanEndLine = 756, srcSpanEndColumn = 77}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 35, srcSpanEndLine = 756, srcSpanEndColumn = 37}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 28, srcSpanEndLine = 756, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 28, srcSpanEndLine = 756, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 28, srcSpanEndLine = 756, srcSpanEndColumn = 34}, srcInfoPoints = []}) "String"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 38, srcSpanEndLine = 756, srcSpanEndColumn = 77}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 47, srcSpanEndLine = 756, srcSpanEndColumn = 49}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 38, srcSpanEndLine = 756, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 38, srcSpanEndLine = 756, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 38, srcSpanEndLine = 756, srcSpanEndColumn = 46}, srcInfoPoints = []}) "FilePath"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 50, srcSpanEndLine = 756, srcSpanEndColumn = 77}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 70, srcSpanEndLine = 756, srcSpanEndColumn = 72}]}) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 50, srcSpanEndLine = 756, srcSpanEndColumn = 69}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 50, srcSpanEndLine = 756, srcSpanEndColumn = 51},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 68, srcSpanEndLine = 756, srcSpanEndColumn = 69}]}) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 51, srcSpanEndLine = 756, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 61, srcSpanEndLine = 756, srcSpanEndColumn = 63}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 51, srcSpanEndLine = 756, srcSpanEndColumn = 60}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 51, srcSpanEndLine = 756, srcSpanEndColumn = 54}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 51, srcSpanEndLine = 756, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 51, srcSpanEndLine = 756, srcSpanEndColumn = 54}, srcInfoPoints = []}) "Ptr"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 55, srcSpanEndLine = 756, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 55, srcSpanEndLine = 756, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 55, srcSpanEndLine = 756, srcSpanEndColumn = 60}, srcInfoPoints = []}) "CStat")))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 64, srcSpanEndLine = 756, srcSpanEndColumn = 68}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 64, srcSpanEndLine = 756, srcSpanEndColumn = 66}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 64, srcSpanEndLine = 756, srcSpanEndColumn = 66}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 64, srcSpanEndLine = 756, srcSpanEndColumn = 66}, srcInfoPoints = []}) "IO"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 67, srcSpanEndLine = 756, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 67, srcSpanEndLine = 756, srcSpanEndColumn = 68}, srcInfoPoints = []}) "a"))))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 73, srcSpanEndLine = 756, srcSpanEndColumn = 77}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 73, srcSpanEndLine = 756, srcSpanEndColumn = 75}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 73, srcSpanEndLine = 756, srcSpanEndColumn = 75}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 73, srcSpanEndLine = 756, srcSpanEndColumn = 75}, srcInfoPoints = []}) "IO"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 76, srcSpanEndLine = 756, srcSpanEndColumn = 77}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 756, srcSpanStartColumn = 76, srcSpanEndLine = 756, srcSpanEndColumn = 77}, srcInfoPoints = []}) "a")))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 1, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 1, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 1, srcSpanEndLine = 757, srcSpanEndColumn = 24}, srcInfoPoints = []}) "withFileOrSymlinkStatus") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 25, srcSpanEndLine = 757, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 25, srcSpanEndLine = 757, srcSpanEndColumn = 28}, srcInfoPoints = []}) "loc"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 29, srcSpanEndLine = 757, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 29, srcSpanEndLine = 757, srcSpanEndColumn = 33}, srcInfoPoints = []}) "name"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 34, srcSpanEndLine = 757, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 34, srcSpanEndLine = 757, srcSpanEndColumn = 35}, srcInfoPoints = []}) "f")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 36, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 36, srcSpanEndLine = 757, srcSpanEndColumn = 37}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 38, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 757, srcSpanStartColumn = 38, srcSpanEndLine = 757, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 3, srcSpanEndLine = 758, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 1, srcSpanEndLine = 763, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 3, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 3, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 3, srcSpanEndLine = 758, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 3, srcSpanEndLine = 758, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 3, srcSpanEndLine = 758, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 3, srcSpanEndLine = 758, srcSpanEndColumn = 16}, srcInfoPoints = []}) "modifyIOError"))) (RightSection (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 17, srcSpanEndLine = 758, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 17, srcSpanEndLine = 758, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 39, srcSpanEndLine = 758, srcSpanEndColumn = 40}]}) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 18, srcSpanEndLine = 758, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 18, srcSpanEndLine = 758, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 19, srcSpanEndLine = 758, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 33, srcSpanEndLine = 758, srcSpanEndColumn = 34}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 18, srcSpanEndLine = 758, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 18, srcSpanEndLine = 758, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 19, srcSpanEndLine = 758, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 33, srcSpanEndLine = 758, srcSpanEndColumn = 34}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 18, srcSpanEndLine = 758, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 18, srcSpanEndLine = 758, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 19, srcSpanEndLine = 758, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 33, srcSpanEndLine = 758, srcSpanEndColumn = 34}]}) "ioeSetFileName"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 35, srcSpanEndLine = 758, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 35, srcSpanEndLine = 758, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 35, srcSpanEndLine = 758, srcSpanEndColumn = 39}, srcInfoPoints = []}) "name"))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 41, srcSpanEndLine = 758, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 41, srcSpanEndLine = 758, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 758, srcSpanStartColumn = 41, srcSpanEndLine = 758, srcSpanEndColumn = 42}, srcInfoPoints = []}) "$"))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 5, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 5, srcSpanEndLine = 759, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 5, srcSpanEndLine = 759, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 5, srcSpanEndLine = 759, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 5, srcSpanEndLine = 759, srcSpanEndColumn = 16}, srcInfoPoints = []}) "allocaBytes"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 17, srcSpanEndLine = 759, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 17, srcSpanEndLine = 759, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 17, srcSpanEndLine = 759, srcSpanEndColumn = 28}, srcInfoPoints = []}) "sizeof_stat")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 29, srcSpanEndLine = 759, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 29, srcSpanEndLine = 759, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 29, srcSpanEndLine = 759, srcSpanEndColumn = 30}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 31, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 31, srcSpanEndLine = 759, srcSpanEndColumn = 32},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 34, srcSpanEndLine = 759, srcSpanEndColumn = 36}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 32, srcSpanEndLine = 759, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 759, srcSpanStartColumn = 32, srcSpanEndLine = 759, srcSpanEndColumn = 33}, srcInfoPoints = []}) "p")] (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 7, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 7, srcSpanEndLine = 760, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 7, srcSpanEndLine = 760, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 7, srcSpanEndLine = 760, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 7, srcSpanEndLine = 760, srcSpanEndColumn = 19}, srcInfoPoints = []}) "withFilePath"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 20, srcSpanEndLine = 760, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 20, srcSpanEndLine = 760, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 20, srcSpanEndLine = 760, srcSpanEndColumn = 24}, srcInfoPoints = []}) "name")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 25, srcSpanEndLine = 760, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 25, srcSpanEndLine = 760, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 25, srcSpanEndLine = 760, srcSpanEndColumn = 26}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 27, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 27, srcSpanEndLine = 760, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 30, srcSpanEndLine = 760, srcSpanEndColumn = 32}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 28, srcSpanEndLine = 760, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 28, srcSpanEndLine = 760, srcSpanEndColumn = 29}, srcInfoPoints = []}) "s")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 33, srcSpanEndLine = 763, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 760, srcSpanStartColumn = 33, srcSpanEndLine = 760, srcSpanEndColumn = 35},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 9, srcSpanEndLine = 761, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 1, srcSpanEndLine = 763, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 9, srcSpanEndLine = 761, srcSpanEndColumn = 49}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 9, srcSpanEndLine = 761, srcSpanEndColumn = 49}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 9, srcSpanEndLine = 761, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 9, srcSpanEndLine = 761, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 9, srcSpanEndLine = 761, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 9, srcSpanEndLine = 761, srcSpanEndColumn = 33}, srcInfoPoints = []}) "throwErrnoIfMinus1Retry_"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 34, srcSpanEndLine = 761, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 34, srcSpanEndLine = 761, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 34, srcSpanEndLine = 761, srcSpanEndColumn = 37}, srcInfoPoints = []}) "loc")))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 38, srcSpanEndLine = 761, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 38, srcSpanEndLine = 761, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 48, srcSpanEndLine = 761, srcSpanEndColumn = 49}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 39, srcSpanEndLine = 761, srcSpanEndColumn = 48}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 39, srcSpanEndLine = 761, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 39, srcSpanEndLine = 761, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 39, srcSpanEndLine = 761, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 39, srcSpanEndLine = 761, srcSpanEndColumn = 44}, srcInfoPoints = []}) "lstat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 45, srcSpanEndLine = 761, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 45, srcSpanEndLine = 761, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 45, srcSpanEndLine = 761, srcSpanEndColumn = 46}, srcInfoPoints = []}) "s")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 47, srcSpanEndLine = 761, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 47, srcSpanEndLine = 761, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 761, srcSpanStartColumn = 47, srcSpanEndLine = 761, srcSpanEndColumn = 48}, srcInfoPoints = []}) "p"))))))]))))))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 1, srcSpanEndLine = 763, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 18, srcSpanEndLine = 763, srcSpanEndColumn = 20}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 1, srcSpanEndLine = 763, srcSpanEndColumn = 17}, srcInfoPoints = []}) "modificationTime"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 21, srcSpanEndLine = 763, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 31, srcSpanEndLine = 763, srcSpanEndColumn = 33}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 21, srcSpanEndLine = 763, srcSpanEndColumn = 30}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 21, srcSpanEndLine = 763, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 21, srcSpanEndLine = 763, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 21, srcSpanEndLine = 763, srcSpanEndColumn = 24}, srcInfoPoints = []}) "Ptr"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 25, srcSpanEndLine = 763, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 25, srcSpanEndLine = 763, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 25, srcSpanEndLine = 763, srcSpanEndColumn = 30}, srcInfoPoints = []}) "CStat")))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 34, srcSpanEndLine = 763, srcSpanEndColumn = 46}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 34, srcSpanEndLine = 763, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 34, srcSpanEndLine = 763, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 34, srcSpanEndLine = 763, srcSpanEndColumn = 36}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 37, srcSpanEndLine = 763, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 37, srcSpanEndLine = 763, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 763, srcSpanStartColumn = 37, srcSpanEndLine = 763, srcSpanEndColumn = 46}, srcInfoPoints = []}) "ClockTime"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 764, srcSpanStartColumn = 1, srcSpanEndLine = 769, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 764, srcSpanStartColumn = 1, srcSpanEndLine = 769, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 764, srcSpanStartColumn = 1, srcSpanEndLine = 764, srcSpanEndColumn = 17}, srcInfoPoints = []}) "modificationTime") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 764, srcSpanStartColumn = 18, srcSpanEndLine = 764, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 764, srcSpanStartColumn = 18, srcSpanEndLine = 764, srcSpanEndColumn = 22}, srcInfoPoints = []}) "stat")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 764, srcSpanStartColumn = 23, srcSpanEndLine = 769, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 764, srcSpanStartColumn = 23, srcSpanEndLine = 764, srcSpanEndColumn = 24}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 764, srcSpanStartColumn = 25, srcSpanEndLine = 769, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 764, srcSpanStartColumn = 25, srcSpanEndLine = 764, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 5, srcSpanEndLine = 765, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 5, srcSpanEndLine = 766, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 5, srcSpanEndLine = 767, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 1, srcSpanEndLine = 769, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 5, srcSpanEndLine = 765, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 11, srcSpanEndLine = 765, srcSpanEndColumn = 13}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 5, srcSpanEndLine = 765, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 5, srcSpanEndLine = 765, srcSpanEndColumn = 10}, srcInfoPoints = []}) "mtime")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 14, srcSpanEndLine = 765, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 14, srcSpanEndLine = 765, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 14, srcSpanEndLine = 765, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 14, srcSpanEndLine = 765, srcSpanEndColumn = 22}, srcInfoPoints = []}) "st_mtime"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 23, srcSpanEndLine = 765, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 23, srcSpanEndLine = 765, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 765, srcSpanStartColumn = 23, srcSpanEndLine = 765, srcSpanEndColumn = 27}, srcInfoPoints = []}) "stat")))),LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 5, srcSpanEndLine = 767, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 5, srcSpanEndLine = 766, srcSpanEndColumn = 8}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 9, srcSpanEndLine = 767, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 9, srcSpanEndLine = 766, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 5, srcSpanEndLine = 767, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 9, srcSpanEndLine = 766, srcSpanEndColumn = 69}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 9, srcSpanEndLine = 766, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 9, srcSpanEndLine = 766, srcSpanEndColumn = 22}, srcInfoPoints = []}) "realToInteger")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 23, srcSpanEndLine = 766, srcSpanEndColumn = 69}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 23, srcSpanEndLine = 766, srcSpanEndColumn = 24}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 25, srcSpanEndLine = 766, srcSpanEndColumn = 69}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 44, srcSpanEndLine = 766, srcSpanEndColumn = 46}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 25, srcSpanEndLine = 766, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 25, srcSpanEndLine = 766, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 25, srcSpanEndLine = 766, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 25, srcSpanEndLine = 766, srcSpanEndColumn = 30}, srcInfoPoints = []}) "round"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 31, srcSpanEndLine = 766, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 31, srcSpanEndLine = 766, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 31, srcSpanEndLine = 766, srcSpanEndColumn = 32}, srcInfoPoints = []}) "."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 33, srcSpanEndLine = 766, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 33, srcSpanEndLine = 766, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 33, srcSpanEndLine = 766, srcSpanEndColumn = 43}, srcInfoPoints = []}) "realToFrac")))) (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 47, srcSpanEndLine = 766, srcSpanEndColumn = 69}, srcInfoPoints = []}) Nothing (Just (CxSingle (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 47, srcSpanEndLine = 766, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 54, srcSpanEndLine = 766, srcSpanEndColumn = 56}]}) (ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 47, srcSpanEndLine = 766, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 54, srcSpanEndLine = 766, srcSpanEndColumn = 56}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 47, srcSpanEndLine = 766, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 47, srcSpanEndLine = 766, srcSpanEndColumn = 51}, srcInfoPoints = []}) "Real")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 52, srcSpanEndLine = 766, srcSpanEndColumn = 53}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 52, srcSpanEndLine = 766, srcSpanEndColumn = 53}, srcInfoPoints = []}) "a")]))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 57, srcSpanEndLine = 766, srcSpanEndColumn = 69}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 59, srcSpanEndLine = 766, srcSpanEndColumn = 61}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 57, srcSpanEndLine = 766, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 57, srcSpanEndLine = 766, srcSpanEndColumn = 58}, srcInfoPoints = []}) "a")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 62, srcSpanEndLine = 766, srcSpanEndColumn = 69}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 62, srcSpanEndLine = 766, srcSpanEndColumn = 69}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 766, srcSpanStartColumn = 62, srcSpanEndLine = 766, srcSpanEndColumn = 69}, srcInfoPoints = []}) "Integer"))))))) Nothing]),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 5, srcSpanEndLine = 767, srcSpanEndColumn = 52}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 5, srcSpanEndLine = 767, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 5, srcSpanEndLine = 767, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 5, srcSpanEndLine = 767, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 5, srcSpanEndLine = 767, srcSpanEndColumn = 11}, srcInfoPoints = []}) "return"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 12, srcSpanEndLine = 767, srcSpanEndColumn = 52}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 12, srcSpanEndLine = 767, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 51, srcSpanEndLine = 767, srcSpanEndColumn = 52}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 13, srcSpanEndLine = 767, srcSpanEndColumn = 51}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 13, srcSpanEndLine = 767, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 13, srcSpanEndLine = 767, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 13, srcSpanEndLine = 767, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 13, srcSpanEndLine = 767, srcSpanEndColumn = 16}, srcInfoPoints = []}) "TOD"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 17, srcSpanEndLine = 767, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 17, srcSpanEndLine = 767, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 48, srcSpanEndLine = 767, srcSpanEndColumn = 49}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 18, srcSpanEndLine = 767, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 18, srcSpanEndLine = 767, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 18, srcSpanEndLine = 767, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 18, srcSpanEndLine = 767, srcSpanEndColumn = 31}, srcInfoPoints = []}) "realToInteger"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 32, srcSpanEndLine = 767, srcSpanEndColumn = 48}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 32, srcSpanEndLine = 767, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 47, srcSpanEndLine = 767, srcSpanEndColumn = 48}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 33, srcSpanEndLine = 767, srcSpanEndColumn = 47}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 39, srcSpanEndLine = 767, srcSpanEndColumn = 41}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 33, srcSpanEndLine = 767, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 33, srcSpanEndLine = 767, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 33, srcSpanEndLine = 767, srcSpanEndColumn = 38}, srcInfoPoints = []}) "mtime"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 42, srcSpanEndLine = 767, srcSpanEndColumn = 47}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 42, srcSpanEndLine = 767, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 42, srcSpanEndLine = 767, srcSpanEndColumn = 47}, srcInfoPoints = []}) "CTime")))))))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 50, srcSpanEndLine = 767, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 767, srcSpanStartColumn = 50, srcSpanEndLine = 767, srcSpanEndColumn = 51}, srcInfoPoints = []}) 0 "0")))))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 1, srcSpanEndLine = 769, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 13, srcSpanEndLine = 769, srcSpanEndColumn = 15}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 1, srcSpanEndLine = 769, srcSpanEndColumn = 12}, srcInfoPoints = []}) "isDirectory"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 16, srcSpanEndLine = 769, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 26, srcSpanEndLine = 769, srcSpanEndColumn = 28}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 16, srcSpanEndLine = 769, srcSpanEndColumn = 25}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 16, srcSpanEndLine = 769, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 16, srcSpanEndLine = 769, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 16, srcSpanEndLine = 769, srcSpanEndColumn = 19}, srcInfoPoints = []}) "Ptr"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 20, srcSpanEndLine = 769, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 20, srcSpanEndLine = 769, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 20, srcSpanEndLine = 769, srcSpanEndColumn = 25}, srcInfoPoints = []}) "CStat")))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 29, srcSpanEndLine = 769, srcSpanEndColumn = 36}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 29, srcSpanEndLine = 769, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 29, srcSpanEndLine = 769, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 29, srcSpanEndLine = 769, srcSpanEndColumn = 31}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 32, srcSpanEndLine = 769, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 32, srcSpanEndLine = 769, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 769, srcSpanStartColumn = 32, srcSpanEndLine = 769, srcSpanEndColumn = 36}, srcInfoPoints = []}) "Bool"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 770, srcSpanStartColumn = 1, srcSpanEndLine = 774, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 770, srcSpanStartColumn = 1, srcSpanEndLine = 774, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 770, srcSpanStartColumn = 1, srcSpanEndLine = 770, srcSpanEndColumn = 12}, srcInfoPoints = []}) "isDirectory") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 770, srcSpanStartColumn = 13, srcSpanEndLine = 770, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 770, srcSpanStartColumn = 13, srcSpanEndLine = 770, srcSpanEndColumn = 17}, srcInfoPoints = []}) "stat")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 770, srcSpanStartColumn = 18, srcSpanEndLine = 774, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 770, srcSpanStartColumn = 18, srcSpanEndLine = 770, srcSpanEndColumn = 19}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 770, srcSpanStartColumn = 20, srcSpanEndLine = 774, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 770, srcSpanStartColumn = 20, srcSpanEndLine = 770, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 3, srcSpanEndLine = 771, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 3, srcSpanEndLine = 772, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 1, srcSpanEndLine = 774, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 3, srcSpanEndLine = 771, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 8, srcSpanEndLine = 771, srcSpanEndColumn = 10}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 3, srcSpanEndLine = 771, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 3, srcSpanEndLine = 771, srcSpanEndColumn = 7}, srcInfoPoints = []}) "mode")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 11, srcSpanEndLine = 771, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 11, srcSpanEndLine = 771, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 11, srcSpanEndLine = 771, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 11, srcSpanEndLine = 771, srcSpanEndColumn = 18}, srcInfoPoints = []}) "st_mode"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 19, srcSpanEndLine = 771, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 19, srcSpanEndLine = 771, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 771, srcSpanStartColumn = 19, srcSpanEndLine = 771, srcSpanEndColumn = 23}, srcInfoPoints = []}) "stat")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 3, srcSpanEndLine = 772, srcSpanEndColumn = 24}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 3, srcSpanEndLine = 772, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 3, srcSpanEndLine = 772, srcSpanEndColumn = 9}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 3, srcSpanEndLine = 772, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 3, srcSpanEndLine = 772, srcSpanEndColumn = 9}, srcInfoPoints = []}) "return"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 10, srcSpanEndLine = 772, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 10, srcSpanEndLine = 772, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 23, srcSpanEndLine = 772, srcSpanEndColumn = 24}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 11, srcSpanEndLine = 772, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 11, srcSpanEndLine = 772, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 11, srcSpanEndLine = 772, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 11, srcSpanEndLine = 772, srcSpanEndColumn = 18}, srcInfoPoints = []}) "s_isdir"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 19, srcSpanEndLine = 772, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 19, srcSpanEndLine = 772, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 772, srcSpanStartColumn = 19, srcSpanEndLine = 772, srcSpanEndColumn = 23}, srcInfoPoints = []}) "mode"))))))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 1, srcSpanEndLine = 774, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 18, srcSpanEndLine = 774, srcSpanEndColumn = 20}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 1, srcSpanEndLine = 774, srcSpanEndColumn = 17}, srcInfoPoints = []}) "fileNameEndClean"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 21, srcSpanEndLine = 774, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 28, srcSpanEndLine = 774, srcSpanEndColumn = 30}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 21, srcSpanEndLine = 774, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 21, srcSpanEndLine = 774, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 21, srcSpanEndLine = 774, srcSpanEndColumn = 27}, srcInfoPoints = []}) "String"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 31, srcSpanEndLine = 774, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 31, srcSpanEndLine = 774, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 774, srcSpanStartColumn = 31, srcSpanEndLine = 774, srcSpanEndColumn = 37}, srcInfoPoints = []}) "String")))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 1, srcSpanEndLine = 776, srcSpanEndColumn = 76}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 1, srcSpanEndLine = 776, srcSpanEndColumn = 76}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 1, srcSpanEndLine = 775, srcSpanEndColumn = 17}, srcInfoPoints = []}) "fileNameEndClean") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 18, srcSpanEndLine = 775, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 18, srcSpanEndLine = 775, srcSpanEndColumn = 22}, srcInfoPoints = []}) "name")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 23, srcSpanEndLine = 776, srcSpanEndColumn = 76}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 23, srcSpanEndLine = 775, srcSpanEndColumn = 24}]}) (If (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 25, srcSpanEndLine = 776, srcSpanEndColumn = 76}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 25, srcSpanEndLine = 775, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 41, srcSpanEndLine = 775, srcSpanEndColumn = 45},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 776, srcSpanStartColumn = 41, srcSpanEndLine = 776, srcSpanEndColumn = 45}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 28, srcSpanEndLine = 775, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 28, srcSpanEndLine = 775, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 28, srcSpanEndLine = 775, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 28, srcSpanEndLine = 775, srcSpanEndColumn = 35}, srcInfoPoints = []}) "isDrive"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 36, srcSpanEndLine = 775, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 36, srcSpanEndLine = 775, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 36, srcSpanEndLine = 775, srcSpanEndColumn = 40}, srcInfoPoints = []}) "name")))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 46, srcSpanEndLine = 775, srcSpanEndColumn = 75}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 46, srcSpanEndLine = 775, srcSpanEndColumn = 70}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 46, srcSpanEndLine = 775, srcSpanEndColumn = 70}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 46, srcSpanEndLine = 775, srcSpanEndColumn = 70}, srcInfoPoints = []}) "addTrailingPathSeparator"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 71, srcSpanEndLine = 775, srcSpanEndColumn = 75}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 71, srcSpanEndLine = 775, srcSpanEndColumn = 75}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 775, srcSpanStartColumn = 71, srcSpanEndLine = 775, srcSpanEndColumn = 75}, srcInfoPoints = []}) "name")))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 776, srcSpanStartColumn = 46, srcSpanEndLine = 776, srcSpanEndColumn = 76}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 776, srcSpanStartColumn = 46, srcSpanEndLine = 776, srcSpanEndColumn = 71}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 776, srcSpanStartColumn = 46, srcSpanEndLine = 776, srcSpanEndColumn = 71}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 776, srcSpanStartColumn = 46, srcSpanEndLine = 776, srcSpanEndColumn = 71}, srcInfoPoints = []}) "dropTrailingPathSeparator"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 776, srcSpanStartColumn = 72, srcSpanEndLine = 776, srcSpanEndColumn = 76}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 776, srcSpanStartColumn = 72, srcSpanEndLine = 776, srcSpanEndColumn = 76}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 776, srcSpanStartColumn = 72, srcSpanEndLine = 776, srcSpanEndColumn = 76}, srcInfoPoints = []}) "name")))))) Nothing],ForImp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 1, srcSpanEndLine = 778, srcSpanEndColumn = 78}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 1, srcSpanEndLine = 778, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 9, srcSpanEndLine = 778, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 29, srcSpanEndLine = 778, srcSpanEndColumn = 61},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 70, srcSpanEndLine = 778, srcSpanEndColumn = 72}]}) (CCall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 16, srcSpanEndLine = 778, srcSpanEndColumn = 21}, srcInfoPoints = []})) (Just (PlayRisky (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 22, srcSpanEndLine = 778, srcSpanEndColumn = 28}, srcInfoPoints = []}))) (Just "HsDirectory.h __hscore_S_IRUSR") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 62, srcSpanEndLine = 778, srcSpanEndColumn = 69}, srcInfoPoints = []}) "s_IRUSR") (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 73, srcSpanEndLine = 778, srcSpanEndColumn = 78}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 73, srcSpanEndLine = 778, srcSpanEndColumn = 78}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 778, srcSpanStartColumn = 73, srcSpanEndLine = 778, srcSpanEndColumn = 78}, srcInfoPoints = []}) "CMode"))),ForImp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 1, srcSpanEndLine = 779, srcSpanEndColumn = 78}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 1, srcSpanEndLine = 779, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 9, srcSpanEndLine = 779, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 29, srcSpanEndLine = 779, srcSpanEndColumn = 61},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 70, srcSpanEndLine = 779, srcSpanEndColumn = 72}]}) (CCall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 16, srcSpanEndLine = 779, srcSpanEndColumn = 21}, srcInfoPoints = []})) (Just (PlayRisky (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 22, srcSpanEndLine = 779, srcSpanEndColumn = 28}, srcInfoPoints = []}))) (Just "HsDirectory.h __hscore_S_IWUSR") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 62, srcSpanEndLine = 779, srcSpanEndColumn = 69}, srcInfoPoints = []}) "s_IWUSR") (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 73, srcSpanEndLine = 779, srcSpanEndColumn = 78}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 73, srcSpanEndLine = 779, srcSpanEndColumn = 78}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 779, srcSpanStartColumn = 73, srcSpanEndLine = 779, srcSpanEndColumn = 78}, srcInfoPoints = []}) "CMode"))),ForImp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 1, srcSpanEndLine = 780, srcSpanEndColumn = 78}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 1, srcSpanEndLine = 780, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 9, srcSpanEndLine = 780, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 29, srcSpanEndLine = 780, srcSpanEndColumn = 61},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 70, srcSpanEndLine = 780, srcSpanEndColumn = 72}]}) (CCall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 16, srcSpanEndLine = 780, srcSpanEndColumn = 21}, srcInfoPoints = []})) (Just (PlayRisky (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 22, srcSpanEndLine = 780, srcSpanEndColumn = 28}, srcInfoPoints = []}))) (Just "HsDirectory.h __hscore_S_IXUSR") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 62, srcSpanEndLine = 780, srcSpanEndColumn = 69}, srcInfoPoints = []}) "s_IXUSR") (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 73, srcSpanEndLine = 780, srcSpanEndColumn = 78}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 73, srcSpanEndLine = 780, srcSpanEndColumn = 78}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 780, srcSpanStartColumn = 73, srcSpanEndLine = 780, srcSpanEndColumn = 78}, srcInfoPoints = []}) "CMode"))),ForImp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 1, srcSpanEndLine = 781, srcSpanEndColumn = 64}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 1, srcSpanEndLine = 781, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 9, srcSpanEndLine = 781, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 29, srcSpanEndLine = 781, srcSpanEndColumn = 47},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 56, srcSpanEndLine = 781, srcSpanEndColumn = 58}]}) (CCall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 16, srcSpanEndLine = 781, srcSpanEndColumn = 21}, srcInfoPoints = []})) (Just (PlayRisky (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 22, srcSpanEndLine = 781, srcSpanEndColumn = 28}, srcInfoPoints = []}))) (Just "__hscore_S_IFDIR") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 48, srcSpanEndLine = 781, srcSpanEndColumn = 55}, srcInfoPoints = []}) "s_IFDIR") (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 59, srcSpanEndLine = 781, srcSpanEndColumn = 64}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 59, srcSpanEndLine = 781, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 781, srcSpanStartColumn = 59, srcSpanEndLine = 781, srcSpanEndColumn = 64}, srcInfoPoints = []}) "CMode"))),ForImp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 784, srcSpanStartColumn = 1, srcSpanEndLine = 785, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 784, srcSpanStartColumn = 1, srcSpanEndLine = 784, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 784, srcSpanStartColumn = 9, srcSpanEndLine = 784, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 784, srcSpanStartColumn = 29, srcSpanEndLine = 784, srcSpanEndColumn = 54},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 785, srcSpanStartColumn = 18, srcSpanEndLine = 785, srcSpanEndColumn = 20}]}) (CCall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 784, srcSpanStartColumn = 16, srcSpanEndLine = 784, srcSpanEndColumn = 21}, srcInfoPoints = []})) (Just (PlayRisky (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 784, srcSpanStartColumn = 22, srcSpanEndLine = 784, srcSpanEndColumn = 28}, srcInfoPoints = []}))) (Just "__hscore_long_path_size") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 785, srcSpanStartColumn = 3, srcSpanEndLine = 785, srcSpanEndColumn = 17}, srcInfoPoints = []}) "long_path_size") (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 785, srcSpanStartColumn = 21, srcSpanEndLine = 785, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 785, srcSpanStartColumn = 21, srcSpanEndLine = 785, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 785, srcSpanStartColumn = 21, srcSpanEndLine = 785, srcSpanEndColumn = 24}, srcInfoPoints = []}) "Int"))),TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 1, srcSpanEndLine = 808, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 18, srcSpanEndLine = 808, srcSpanEndColumn = 20}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 1, srcSpanEndLine = 808, srcSpanEndColumn = 17}, srcInfoPoints = []}) "getHomeDirectory"] (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 21, srcSpanEndLine = 808, srcSpanEndColumn = 32}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 21, srcSpanEndLine = 808, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 21, srcSpanEndLine = 808, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 21, srcSpanEndLine = 808, srcSpanEndColumn = 23}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 24, srcSpanEndLine = 808, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 24, srcSpanEndLine = 808, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 808, srcSpanStartColumn = 24, srcSpanEndLine = 808, srcSpanEndColumn = 32}, srcInfoPoints = []}) "FilePath")))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 809, srcSpanStartColumn = 1, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 809, srcSpanStartColumn = 1, srcSpanEndLine = 809, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 809, srcSpanStartColumn = 1, srcSpanEndLine = 809, srcSpanEndColumn = 17}, srcInfoPoints = []}) "getHomeDirectory")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 809, srcSpanStartColumn = 18, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 809, srcSpanStartColumn = 18, srcSpanEndLine = 809, srcSpanEndColumn = 19}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 3, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 3, srcSpanEndLine = 810, srcSpanEndColumn = 56}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 3, srcSpanEndLine = 810, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 3, srcSpanEndLine = 810, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 3, srcSpanEndLine = 810, srcSpanEndColumn = 16}, srcInfoPoints = []}) "modifyIOError"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 17, srcSpanEndLine = 810, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 17, srcSpanEndLine = 810, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 55, srcSpanEndLine = 810, srcSpanEndColumn = 56}]}) (RightSection (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 18, srcSpanEndLine = 810, srcSpanEndColumn = 55}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 18, srcSpanEndLine = 810, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 54, srcSpanEndLine = 810, srcSpanEndColumn = 55}]}) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 19, srcSpanEndLine = 810, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 19, srcSpanEndLine = 810, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 20, srcSpanEndLine = 810, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 34, srcSpanEndLine = 810, srcSpanEndColumn = 35}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 19, srcSpanEndLine = 810, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 19, srcSpanEndLine = 810, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 20, srcSpanEndLine = 810, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 34, srcSpanEndLine = 810, srcSpanEndColumn = 35}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 19, srcSpanEndLine = 810, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 19, srcSpanEndLine = 810, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 20, srcSpanEndLine = 810, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 34, srcSpanEndLine = 810, srcSpanEndColumn = 35}]}) "ioeSetLocation"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 36, srcSpanEndLine = 810, srcSpanEndColumn = 54}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 36, srcSpanEndLine = 810, srcSpanEndColumn = 54}, srcInfoPoints = []}) "getHomeDirectory" "getHomeDirectory"))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 57, srcSpanEndLine = 810, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 57, srcSpanEndLine = 810, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 57, srcSpanEndLine = 810, srcSpanEndColumn = 58}, srcInfoPoints = []}) "$"))) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 59, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 810, srcSpanStartColumn = 59, srcSpanEndLine = 810, srcSpanEndColumn = 61},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 3, srcSpanEndLine = 811, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 3, srcSpanEndLine = 812, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 1, srcSpanEndLine = 847, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 3, srcSpanEndLine = 811, srcSpanEndColumn = 73}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 5, srcSpanEndLine = 811, srcSpanEndColumn = 7}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 3, srcSpanEndLine = 811, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 3, srcSpanEndLine = 811, srcSpanEndColumn = 4}, srcInfoPoints = []}) "r")) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 8, srcSpanEndLine = 811, srcSpanEndColumn = 73}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 8, srcSpanEndLine = 811, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 8, srcSpanEndLine = 811, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 8, srcSpanEndLine = 811, srcSpanEndColumn = 11}, srcInfoPoints = []}) "try"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 12, srcSpanEndLine = 811, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 12, srcSpanEndLine = 811, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 12, srcSpanEndLine = 811, srcSpanEndColumn = 13}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 14, srcSpanEndLine = 811, srcSpanEndColumn = 73}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 14, srcSpanEndLine = 811, srcSpanEndColumn = 71}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 14, srcSpanEndLine = 811, srcSpanEndColumn = 63}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 14, srcSpanEndLine = 811, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 14, srcSpanEndLine = 811, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 14, srcSpanEndLine = 811, srcSpanEndColumn = 35}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 14, srcSpanEndLine = 811, srcSpanEndColumn = 35}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 14, srcSpanEndLine = 811, srcSpanEndColumn = 35}, srcInfoPoints = []}) "sHGetFolderPath"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 36, srcSpanEndLine = 811, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 36, srcSpanEndLine = 811, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 36, srcSpanEndLine = 811, srcSpanEndColumn = 43}, srcInfoPoints = []}) "nullPtr")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 44, srcSpanEndLine = 811, srcSpanEndColumn = 63}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 44, srcSpanEndLine = 811, srcSpanEndColumn = 63}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 44, srcSpanEndLine = 811, srcSpanEndColumn = 63}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 44, srcSpanEndLine = 811, srcSpanEndColumn = 63}, srcInfoPoints = []}) "cSIDL_PROFILE")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 64, srcSpanEndLine = 811, srcSpanEndColumn = 71}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 64, srcSpanEndLine = 811, srcSpanEndColumn = 71}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 64, srcSpanEndLine = 811, srcSpanEndColumn = 71}, srcInfoPoints = []}) "nullPtr")))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 72, srcSpanEndLine = 811, srcSpanEndColumn = 73}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 811, srcSpanStartColumn = 72, srcSpanEndLine = 811, srcSpanEndColumn = 73}, srcInfoPoints = []}) 0 "0")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 3, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 3, srcSpanEndLine = 812, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 41, srcSpanEndLine = 812, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 5, srcSpanEndLine = 813, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 5, srcSpanEndLine = 814, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 1, srcSpanEndLine = 847, srcSpanEndColumn = 0}]}) (Case (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 3, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 3, srcSpanEndLine = 812, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 41, srcSpanEndLine = 812, srcSpanEndColumn = 43},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 5, srcSpanEndLine = 813, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 5, srcSpanEndLine = 814, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 1, srcSpanEndLine = 847, srcSpanEndColumn = 0}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 8, srcSpanEndLine = 812, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 8, srcSpanEndLine = 812, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 39, srcSpanEndLine = 812, srcSpanEndColumn = 40}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 9, srcSpanEndLine = 812, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 11, srcSpanEndLine = 812, srcSpanEndColumn = 13}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 9, srcSpanEndLine = 812, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 9, srcSpanEndLine = 812, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 9, srcSpanEndLine = 812, srcSpanEndColumn = 10}, srcInfoPoints = []}) "r"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 14, srcSpanEndLine = 812, srcSpanEndColumn = 39}, srcInfoPoints = []}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 14, srcSpanEndLine = 812, srcSpanEndColumn = 32}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 14, srcSpanEndLine = 812, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 14, srcSpanEndLine = 812, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 14, srcSpanEndLine = 812, srcSpanEndColumn = 20}, srcInfoPoints = []}) "Either"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 21, srcSpanEndLine = 812, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 21, srcSpanEndLine = 812, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 21, srcSpanEndLine = 812, srcSpanEndColumn = 32}, srcInfoPoints = []}) "IOException")))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 33, srcSpanEndLine = 812, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 33, srcSpanEndLine = 812, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 812, srcSpanStartColumn = 33, srcSpanEndLine = 812, srcSpanEndColumn = 39}, srcInfoPoints = []}) "String")))))) [Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 5, srcSpanEndLine = 813, srcSpanEndColumn = 24}, srcInfoPoints = []}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 5, srcSpanEndLine = 813, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 5, srcSpanEndLine = 813, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 5, srcSpanEndLine = 813, srcSpanEndColumn = 10}, srcInfoPoints = []}) "Right")) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 11, srcSpanEndLine = 813, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 11, srcSpanEndLine = 813, srcSpanEndColumn = 12}, srcInfoPoints = []}) "s")]) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 13, srcSpanEndLine = 813, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 13, srcSpanEndLine = 813, srcSpanEndColumn = 15}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 16, srcSpanEndLine = 813, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 16, srcSpanEndLine = 813, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 16, srcSpanEndLine = 813, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 16, srcSpanEndLine = 813, srcSpanEndColumn = 22}, srcInfoPoints = []}) "return"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 23, srcSpanEndLine = 813, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 23, srcSpanEndLine = 813, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 813, srcSpanStartColumn = 23, srcSpanEndLine = 813, srcSpanEndColumn = 24}, srcInfoPoints = []}) "s"))))) Nothing,Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 5, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 5, srcSpanEndLine = 814, srcSpanEndColumn = 9}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 5, srcSpanEndLine = 814, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 5, srcSpanEndLine = 814, srcSpanEndColumn = 9}, srcInfoPoints = []}) "Left")) [PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 11, srcSpanEndLine = 814, srcSpanEndColumn = 12}, srcInfoPoints = []})]) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 13, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 13, srcSpanEndLine = 814, srcSpanEndColumn = 15}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 16, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 814, srcSpanStartColumn = 16, srcSpanEndLine = 814, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 7, srcSpanEndLine = 815, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 816, srcSpanStartColumn = 7, srcSpanEndLine = 816, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 1, srcSpanEndLine = 847, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 7, srcSpanEndLine = 815, srcSpanEndColumn = 78}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 10, srcSpanEndLine = 815, srcSpanEndColumn = 12}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 7, srcSpanEndLine = 815, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 7, srcSpanEndLine = 815, srcSpanEndColumn = 9}, srcInfoPoints = []}) "r1")) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 13, srcSpanEndLine = 815, srcSpanEndColumn = 78}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 13, srcSpanEndLine = 815, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 13, srcSpanEndLine = 815, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 13, srcSpanEndLine = 815, srcSpanEndColumn = 16}, srcInfoPoints = []}) "try"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 17, srcSpanEndLine = 815, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 17, srcSpanEndLine = 815, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 17, srcSpanEndLine = 815, srcSpanEndColumn = 18}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 19, srcSpanEndLine = 815, srcSpanEndColumn = 78}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 19, srcSpanEndLine = 815, srcSpanEndColumn = 76}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 19, srcSpanEndLine = 815, srcSpanEndColumn = 68}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 19, srcSpanEndLine = 815, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 19, srcSpanEndLine = 815, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 19, srcSpanEndLine = 815, srcSpanEndColumn = 40}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 19, srcSpanEndLine = 815, srcSpanEndColumn = 40}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 19, srcSpanEndLine = 815, srcSpanEndColumn = 40}, srcInfoPoints = []}) "sHGetFolderPath"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 41, srcSpanEndLine = 815, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 41, srcSpanEndLine = 815, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 41, srcSpanEndLine = 815, srcSpanEndColumn = 48}, srcInfoPoints = []}) "nullPtr")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 49, srcSpanEndLine = 815, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 49, srcSpanEndLine = 815, srcSpanEndColumn = 68}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 49, srcSpanEndLine = 815, srcSpanEndColumn = 68}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 49, srcSpanEndLine = 815, srcSpanEndColumn = 68}, srcInfoPoints = []}) "cSIDL_WINDOWS")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 69, srcSpanEndLine = 815, srcSpanEndColumn = 76}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 69, srcSpanEndLine = 815, srcSpanEndColumn = 76}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 69, srcSpanEndLine = 815, srcSpanEndColumn = 76}, srcInfoPoints = []}) "nullPtr")))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 77, srcSpanEndLine = 815, srcSpanEndColumn = 78}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 815, srcSpanStartColumn = 77, srcSpanEndLine = 815, srcSpanEndColumn = 78}, srcInfoPoints = []}) 0 "0")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 816, srcSpanStartColumn = 7, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 816, srcSpanStartColumn = 7, srcSpanEndLine = 816, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 816, srcSpanStartColumn = 15, srcSpanEndLine = 816, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 9, srcSpanEndLine = 817, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 9, srcSpanEndLine = 818, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 1, srcSpanEndLine = 847, srcSpanEndColumn = 0}]}) (Case (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 816, srcSpanStartColumn = 7, srcSpanEndLine = 847, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 816, srcSpanStartColumn = 7, srcSpanEndLine = 816, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 816, srcSpanStartColumn = 15, srcSpanEndLine = 816, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 9, srcSpanEndLine = 817, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 9, srcSpanEndLine = 818, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 1, srcSpanEndLine = 847, srcSpanEndColumn = 0}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 816, srcSpanStartColumn = 12, srcSpanEndLine = 816, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 816, srcSpanStartColumn = 12, srcSpanEndLine = 816, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 816, srcSpanStartColumn = 12, srcSpanEndLine = 816, srcSpanEndColumn = 14}, srcInfoPoints = []}) "r1"))) [Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 9, srcSpanEndLine = 817, srcSpanEndColumn = 28}, srcInfoPoints = []}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 9, srcSpanEndLine = 817, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 9, srcSpanEndLine = 817, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 9, srcSpanEndLine = 817, srcSpanEndColumn = 14}, srcInfoPoints = []}) "Right")) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 15, srcSpanEndLine = 817, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 15, srcSpanEndLine = 817, srcSpanEndColumn = 16}, srcInfoPoints = []}) "s")]) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 17, srcSpanEndLine = 817, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 17, srcSpanEndLine = 817, srcSpanEndColumn = 19}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 20, srcSpanEndLine = 817, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 20, srcSpanEndLine = 817, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 20, srcSpanEndLine = 817, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 20, srcSpanEndLine = 817, srcSpanEndColumn = 26}, srcInfoPoints = []}) "return"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 27, srcSpanEndLine = 817, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 27, srcSpanEndLine = 817, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 817, srcSpanStartColumn = 27, srcSpanEndLine = 817, srcSpanEndColumn = 28}, srcInfoPoints = []}) "s"))))) Nothing,Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 9, srcSpanEndLine = 818, srcSpanEndColumn = 46}, srcInfoPoints = []}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 9, srcSpanEndLine = 818, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 9, srcSpanEndLine = 818, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 9, srcSpanEndLine = 818, srcSpanEndColumn = 13}, srcInfoPoints = []}) "Left")) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 15, srcSpanEndLine = 818, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 15, srcSpanEndLine = 818, srcSpanEndColumn = 16}, srcInfoPoints = []}) "e")]) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 17, srcSpanEndLine = 818, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 17, srcSpanEndLine = 818, srcSpanEndColumn = 19}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 20, srcSpanEndLine = 818, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 20, srcSpanEndLine = 818, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 20, srcSpanEndLine = 818, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 20, srcSpanEndLine = 818, srcSpanEndColumn = 27}, srcInfoPoints = []}) "ioError"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 28, srcSpanEndLine = 818, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 28, srcSpanEndLine = 818, srcSpanEndColumn = 29},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 45, srcSpanEndLine = 818, srcSpanEndColumn = 46}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 29, srcSpanEndLine = 818, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 31, srcSpanEndLine = 818, srcSpanEndColumn = 33}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 29, srcSpanEndLine = 818, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 29, srcSpanEndLine = 818, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 29, srcSpanEndLine = 818, srcSpanEndColumn = 30}, srcInfoPoints = []}) "e"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 34, srcSpanEndLine = 818, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 34, srcSpanEndLine = 818, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 818, srcSpanStartColumn = 34, srcSpanEndLine = 818, srcSpanEndColumn = 45}, srcInfoPoints = []}) "IOException"))))))) Nothing])])) Nothing])]))) Nothing,TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 1, srcSpanEndLine = 847, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 25, srcSpanEndLine = 847, srcSpanEndColumn = 27}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 1, srcSpanEndLine = 847, srcSpanEndColumn = 24}, srcInfoPoints = []}) "getAppUserDataDirectory"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 28, srcSpanEndLine = 847, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 35, srcSpanEndLine = 847, srcSpanEndColumn = 37}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 28, srcSpanEndLine = 847, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 28, srcSpanEndLine = 847, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 28, srcSpanEndLine = 847, srcSpanEndColumn = 34}, srcInfoPoints = []}) "String"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 38, srcSpanEndLine = 847, srcSpanEndColumn = 49}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 38, srcSpanEndLine = 847, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 38, srcSpanEndLine = 847, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 38, srcSpanEndLine = 847, srcSpanEndColumn = 40}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 41, srcSpanEndLine = 847, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 41, srcSpanEndLine = 847, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 847, srcSpanStartColumn = 41, srcSpanEndLine = 847, srcSpanEndColumn = 49}, srcInfoPoints = []}) "FilePath"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 848, srcSpanStartColumn = 1, srcSpanEndLine = 874, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 848, srcSpanStartColumn = 1, srcSpanEndLine = 874, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 848, srcSpanStartColumn = 1, srcSpanEndLine = 848, srcSpanEndColumn = 24}, srcInfoPoints = []}) "getAppUserDataDirectory") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 848, srcSpanStartColumn = 25, srcSpanEndLine = 848, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 848, srcSpanStartColumn = 25, srcSpanEndLine = 848, srcSpanEndColumn = 32}, srcInfoPoints = []}) "appName")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 848, srcSpanStartColumn = 33, srcSpanEndLine = 874, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 848, srcSpanStartColumn = 33, srcSpanEndLine = 848, srcSpanEndColumn = 34}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 848, srcSpanStartColumn = 35, srcSpanEndLine = 874, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 848, srcSpanStartColumn = 35, srcSpanEndLine = 848, srcSpanEndColumn = 37},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 3, srcSpanEndLine = 849, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 1, srcSpanEndLine = 874, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 3, srcSpanEndLine = 874, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 3, srcSpanEndLine = 874, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 3, srcSpanEndLine = 849, srcSpanEndColumn = 63}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 3, srcSpanEndLine = 849, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 3, srcSpanEndLine = 849, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 3, srcSpanEndLine = 849, srcSpanEndColumn = 16}, srcInfoPoints = []}) "modifyIOError"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 17, srcSpanEndLine = 849, srcSpanEndColumn = 63}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 17, srcSpanEndLine = 849, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 62, srcSpanEndLine = 849, srcSpanEndColumn = 63}]}) (RightSection (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 18, srcSpanEndLine = 849, srcSpanEndColumn = 62}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 18, srcSpanEndLine = 849, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 61, srcSpanEndLine = 849, srcSpanEndColumn = 62}]}) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 19, srcSpanEndLine = 849, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 19, srcSpanEndLine = 849, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 20, srcSpanEndLine = 849, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 34, srcSpanEndLine = 849, srcSpanEndColumn = 35}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 19, srcSpanEndLine = 849, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 19, srcSpanEndLine = 849, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 20, srcSpanEndLine = 849, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 34, srcSpanEndLine = 849, srcSpanEndColumn = 35}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 19, srcSpanEndLine = 849, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 19, srcSpanEndLine = 849, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 20, srcSpanEndLine = 849, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 34, srcSpanEndLine = 849, srcSpanEndColumn = 35}]}) "ioeSetLocation"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 36, srcSpanEndLine = 849, srcSpanEndColumn = 61}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 36, srcSpanEndLine = 849, srcSpanEndColumn = 61}, srcInfoPoints = []}) "getAppUserDataDirectory" "getAppUserDataDirectory"))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 64, srcSpanEndLine = 849, srcSpanEndColumn = 65}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 64, srcSpanEndLine = 849, srcSpanEndColumn = 65}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 64, srcSpanEndLine = 849, srcSpanEndColumn = 65}, srcInfoPoints = []}) "$"))) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 66, srcSpanEndLine = 874, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 849, srcSpanStartColumn = 66, srcSpanEndLine = 849, srcSpanEndColumn = 68},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 3, srcSpanEndLine = 850, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 3, srcSpanEndLine = 850, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 3, srcSpanEndLine = 851, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 1, srcSpanEndLine = 874, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 3, srcSpanEndLine = 850, srcSpanEndColumn = 67}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 5, srcSpanEndLine = 850, srcSpanEndColumn = 7}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 3, srcSpanEndLine = 850, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 3, srcSpanEndLine = 850, srcSpanEndColumn = 4}, srcInfoPoints = []}) "s")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 8, srcSpanEndLine = 850, srcSpanEndColumn = 67}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 8, srcSpanEndLine = 850, srcSpanEndColumn = 65}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 8, srcSpanEndLine = 850, srcSpanEndColumn = 57}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 8, srcSpanEndLine = 850, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 8, srcSpanEndLine = 850, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 8, srcSpanEndLine = 850, srcSpanEndColumn = 29}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 8, srcSpanEndLine = 850, srcSpanEndColumn = 29}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 8, srcSpanEndLine = 850, srcSpanEndColumn = 29}, srcInfoPoints = []}) "sHGetFolderPath"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 30, srcSpanEndLine = 850, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 30, srcSpanEndLine = 850, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 30, srcSpanEndLine = 850, srcSpanEndColumn = 37}, srcInfoPoints = []}) "nullPtr")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 38, srcSpanEndLine = 850, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 38, srcSpanEndLine = 850, srcSpanEndColumn = 57}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 38, srcSpanEndLine = 850, srcSpanEndColumn = 57}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 38, srcSpanEndLine = 850, srcSpanEndColumn = 57}, srcInfoPoints = []}) "cSIDL_APPDATA")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 58, srcSpanEndLine = 850, srcSpanEndColumn = 65}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 58, srcSpanEndLine = 850, srcSpanEndColumn = 65}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 58, srcSpanEndLine = 850, srcSpanEndColumn = 65}, srcInfoPoints = []}) "nullPtr")))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 66, srcSpanEndLine = 850, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 850, srcSpanStartColumn = 66, srcSpanEndLine = 850, srcSpanEndColumn = 67}, srcInfoPoints = []}) 0 "0"))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 3, srcSpanEndLine = 851, srcSpanEndColumn = 27}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 3, srcSpanEndLine = 851, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 3, srcSpanEndLine = 851, srcSpanEndColumn = 9}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 3, srcSpanEndLine = 851, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 3, srcSpanEndLine = 851, srcSpanEndColumn = 9}, srcInfoPoints = []}) "return"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 10, srcSpanEndLine = 851, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 10, srcSpanEndLine = 851, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 26, srcSpanEndLine = 851, srcSpanEndColumn = 27}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 11, srcSpanEndLine = 851, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 11, srcSpanEndLine = 851, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 11, srcSpanEndLine = 851, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 11, srcSpanEndLine = 851, srcSpanEndColumn = 12}, srcInfoPoints = []}) "s"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 12, srcSpanEndLine = 851, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 12, srcSpanEndLine = 851, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 12, srcSpanEndLine = 851, srcSpanEndColumn = 14}, srcInfoPoints = []}) "++"))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 14, srcSpanEndLine = 851, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 14, srcSpanEndLine = 851, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Char (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 14, srcSpanEndLine = 851, srcSpanEndColumn = 18}, srcInfoPoints = []}) '\\' "\\\\")) (QConOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 18, srcSpanEndLine = 851, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 18, srcSpanEndLine = 851, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Cons (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 18, srcSpanEndLine = 851, srcSpanEndColumn = 19}, srcInfoPoints = []})))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 19, srcSpanEndLine = 851, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 19, srcSpanEndLine = 851, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 851, srcSpanStartColumn = 19, srcSpanEndLine = 851, srcSpanEndColumn = 26}, srcInfoPoints = []}) "appName")))))))]))])) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 1, srcSpanEndLine = 874, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 27, srcSpanEndLine = 874, srcSpanEndColumn = 29}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 1, srcSpanEndLine = 874, srcSpanEndColumn = 26}, srcInfoPoints = []}) "getUserDocumentsDirectory"] (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 30, srcSpanEndLine = 874, srcSpanEndColumn = 41}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 30, srcSpanEndLine = 874, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 30, srcSpanEndLine = 874, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 30, srcSpanEndLine = 874, srcSpanEndColumn = 32}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 33, srcSpanEndLine = 874, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 33, srcSpanEndLine = 874, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 874, srcSpanStartColumn = 33, srcSpanEndLine = 874, srcSpanEndColumn = 41}, srcInfoPoints = []}) "FilePath")))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 875, srcSpanStartColumn = 1, srcSpanEndLine = 905, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 875, srcSpanStartColumn = 1, srcSpanEndLine = 875, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 875, srcSpanStartColumn = 1, srcSpanEndLine = 875, srcSpanEndColumn = 26}, srcInfoPoints = []}) "getUserDocumentsDirectory")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 875, srcSpanStartColumn = 27, srcSpanEndLine = 905, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 875, srcSpanStartColumn = 27, srcSpanEndLine = 875, srcSpanEndColumn = 28}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 875, srcSpanStartColumn = 29, srcSpanEndLine = 905, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 875, srcSpanStartColumn = 29, srcSpanEndLine = 875, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 3, srcSpanEndLine = 876, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 1, srcSpanEndLine = 905, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 3, srcSpanEndLine = 905, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 3, srcSpanEndLine = 905, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 3, srcSpanEndLine = 876, srcSpanEndColumn = 65}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 3, srcSpanEndLine = 876, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 3, srcSpanEndLine = 876, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 3, srcSpanEndLine = 876, srcSpanEndColumn = 16}, srcInfoPoints = []}) "modifyIOError"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 17, srcSpanEndLine = 876, srcSpanEndColumn = 65}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 17, srcSpanEndLine = 876, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 64, srcSpanEndLine = 876, srcSpanEndColumn = 65}]}) (RightSection (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 18, srcSpanEndLine = 876, srcSpanEndColumn = 64}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 18, srcSpanEndLine = 876, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 63, srcSpanEndLine = 876, srcSpanEndColumn = 64}]}) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 19, srcSpanEndLine = 876, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 19, srcSpanEndLine = 876, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 20, srcSpanEndLine = 876, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 34, srcSpanEndLine = 876, srcSpanEndColumn = 35}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 19, srcSpanEndLine = 876, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 19, srcSpanEndLine = 876, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 20, srcSpanEndLine = 876, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 34, srcSpanEndLine = 876, srcSpanEndColumn = 35}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 19, srcSpanEndLine = 876, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 19, srcSpanEndLine = 876, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 20, srcSpanEndLine = 876, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 34, srcSpanEndLine = 876, srcSpanEndColumn = 35}]}) "ioeSetLocation"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 36, srcSpanEndLine = 876, srcSpanEndColumn = 63}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 36, srcSpanEndLine = 876, srcSpanEndColumn = 63}, srcInfoPoints = []}) "getUserDocumentsDirectory" "getUserDocumentsDirectory"))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 66, srcSpanEndLine = 876, srcSpanEndColumn = 67}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 66, srcSpanEndLine = 876, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 66, srcSpanEndLine = 876, srcSpanEndColumn = 67}, srcInfoPoints = []}) "$"))) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 68, srcSpanEndLine = 905, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 876, srcSpanStartColumn = 68, srcSpanEndLine = 876, srcSpanEndColumn = 70},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 1, srcSpanEndLine = 905, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 63}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 63}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 61}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 53}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 24}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 24}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 3, srcSpanEndLine = 877, srcSpanEndColumn = 24}, srcInfoPoints = []}) "sHGetFolderPath"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 25, srcSpanEndLine = 877, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 25, srcSpanEndLine = 877, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 25, srcSpanEndLine = 877, srcSpanEndColumn = 32}, srcInfoPoints = []}) "nullPtr")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 33, srcSpanEndLine = 877, srcSpanEndColumn = 53}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 33, srcSpanEndLine = 877, srcSpanEndColumn = 53}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 33, srcSpanEndLine = 877, srcSpanEndColumn = 53}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 33, srcSpanEndLine = 877, srcSpanEndColumn = 53}, srcInfoPoints = []}) "cSIDL_PERSONAL")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 54, srcSpanEndLine = 877, srcSpanEndColumn = 61}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 54, srcSpanEndLine = 877, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 54, srcSpanEndLine = 877, srcSpanEndColumn = 61}, srcInfoPoints = []}) "nullPtr")))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 62, srcSpanEndLine = 877, srcSpanEndColumn = 63}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 877, srcSpanStartColumn = 62, srcSpanEndLine = 877, srcSpanEndColumn = 63}, srcInfoPoints = []}) 0 "0")))]))])) Nothing,TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 1, srcSpanEndLine = 905, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 23, srcSpanEndLine = 905, srcSpanEndColumn = 25}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 1, srcSpanEndLine = 905, srcSpanEndColumn = 22}, srcInfoPoints = []}) "getTemporaryDirectory"] (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 26, srcSpanEndLine = 905, srcSpanEndColumn = 37}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 26, srcSpanEndLine = 905, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 26, srcSpanEndLine = 905, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 26, srcSpanEndLine = 905, srcSpanEndColumn = 28}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 29, srcSpanEndLine = 905, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 29, srcSpanEndLine = 905, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 905, srcSpanStartColumn = 29, srcSpanEndLine = 905, srcSpanEndColumn = 37}, srcInfoPoints = []}) "FilePath")))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 906, srcSpanStartColumn = 1, srcSpanEndLine = 912, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 906, srcSpanStartColumn = 1, srcSpanEndLine = 906, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 906, srcSpanStartColumn = 1, srcSpanEndLine = 906, srcSpanEndColumn = 22}, srcInfoPoints = []}) "getTemporaryDirectory")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 906, srcSpanStartColumn = 23, srcSpanEndLine = 912, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 906, srcSpanStartColumn = 23, srcSpanEndLine = 906, srcSpanEndColumn = 24}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 906, srcSpanStartColumn = 25, srcSpanEndLine = 912, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 906, srcSpanStartColumn = 25, srcSpanEndLine = 906, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 907, srcSpanStartColumn = 3, srcSpanEndLine = 907, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 912, srcSpanStartColumn = 1, srcSpanEndLine = 912, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 907, srcSpanStartColumn = 3, srcSpanEndLine = 907, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 907, srcSpanStartColumn = 3, srcSpanEndLine = 907, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 907, srcSpanStartColumn = 3, srcSpanEndLine = 907, srcSpanEndColumn = 30}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 907, srcSpanStartColumn = 3, srcSpanEndLine = 907, srcSpanEndColumn = 30}, srcInfoPoints = []}) "Win32") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 907, srcSpanStartColumn = 3, srcSpanEndLine = 907, srcSpanEndColumn = 30}, srcInfoPoints = []}) "getTemporaryDirectory")))])) Nothing,TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 912, srcSpanStartColumn = 1, srcSpanEndLine = 912, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 912, srcSpanStartColumn = 14, srcSpanEndLine = 912, srcSpanEndColumn = 16}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 912, srcSpanStartColumn = 1, srcSpanEndLine = 912, srcSpanEndColumn = 13}, srcInfoPoints = []}) "exeExtension"] (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 912, srcSpanStartColumn = 17, srcSpanEndLine = 912, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 912, srcSpanStartColumn = 17, srcSpanEndLine = 912, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 912, srcSpanStartColumn = 17, srcSpanEndLine = 912, srcSpanEndColumn = 23}, srcInfoPoints = []}) "String"))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 913, srcSpanStartColumn = 1, srcSpanEndLine = 913, srcSpanEndColumn = 21}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 913, srcSpanStartColumn = 1, srcSpanEndLine = 913, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 913, srcSpanStartColumn = 1, srcSpanEndLine = 913, srcSpanEndColumn = 13}, srcInfoPoints = []}) "exeExtension")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 913, srcSpanStartColumn = 14, srcSpanEndLine = 913, srcSpanEndColumn = 21}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 913, srcSpanStartColumn = 14, srcSpanEndLine = 913, srcSpanEndColumn = 15}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 913, srcSpanStartColumn = 16, srcSpanEndLine = 913, srcSpanEndColumn = 21}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 913, srcSpanStartColumn = 16, srcSpanEndLine = 913, srcSpanEndColumn = 21}, srcInfoPoints = []}) "exe" "exe"))) Nothing],[Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 78}) "---------------------------------------------------------------------------",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 5}) " |",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 35}) " Module : System.Directory",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 53}) " Copyright : (c) The University of Glasgow 2001",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 66}) " License : BSD-style (see the file libraries/base/LICENSE)",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 3}) "",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 40}) " Maintainer : libraries@haskell.org",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 10, srcSpanStartColumn = 1, srcSpanEndLine = 10, srcSpanEndColumn = 25}) " Stability : stable",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 27}) " Portability : portable",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 3}) "",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 59}) " System-independent interface to directory manipulation.",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 14, srcSpanStartColumn = 1, srcSpanEndLine = 14, srcSpanEndColumn = 3}) "",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 78}) "---------------------------------------------------------------------------",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 19, srcSpanStartColumn = 5, srcSpanEndLine = 19, srcSpanEndColumn = 14}) " $intro",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 21, srcSpanStartColumn = 5, srcSpanEndLine = 21, srcSpanEndColumn = 32}) " * Actions on directories",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 22, srcSpanStartColumn = 29, srcSpanEndLine = 22, srcSpanEndColumn = 52}) " :: FilePath -> IO ()",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 23, srcSpanStartColumn = 33, srcSpanEndLine = 23, srcSpanEndColumn = 64}) " :: Bool -> FilePath -> IO ()",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 24, srcSpanStartColumn = 29, srcSpanEndLine = 24, srcSpanEndColumn = 52}) " :: FilePath -> IO ()",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 25, srcSpanStartColumn = 33, srcSpanEndLine = 25, srcSpanEndColumn = 56}) " :: FilePath -> IO ()",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 26, srcSpanStartColumn = 29, srcSpanEndLine = 26, srcSpanEndColumn = 64}) " :: FilePath -> FilePath -> IO ()",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 28, srcSpanStartColumn = 33, srcSpanEndLine = 28, srcSpanEndColumn = 64}) " :: FilePath -> IO [FilePath]",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 29, srcSpanStartColumn = 33, srcSpanEndLine = 29, srcSpanEndColumn = 50}) " :: IO FilePath",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 30, srcSpanStartColumn = 33, srcSpanEndLine = 30, srcSpanEndColumn = 56}) " :: FilePath -> IO ()",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 32, srcSpanStartColumn = 5, srcSpanEndLine = 32, srcSpanEndColumn = 33}) " * Pre-defined directories",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 38, srcSpanStartColumn = 5, srcSpanEndLine = 38, srcSpanEndColumn = 26}) " * Actions on files",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 39, srcSpanStartColumn = 25, srcSpanEndLine = 39, srcSpanEndColumn = 48}) " :: FilePath -> IO ()",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 40, srcSpanStartColumn = 33, srcSpanEndLine = 40, srcSpanEndColumn = 68}) " :: FilePath -> FilePath -> IO ()",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 41, srcSpanStartColumn = 33, srcSpanEndLine = 41, srcSpanEndColumn = 68}) " :: FilePath -> FilePath -> IO ()",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 47, srcSpanStartColumn = 5, srcSpanEndLine = 47, srcSpanEndColumn = 25}) " * Existence tests",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 48, srcSpanStartColumn = 25, srcSpanEndLine = 48, srcSpanEndColumn = 50}) " :: FilePath -> IO Bool",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 49, srcSpanStartColumn = 33, srcSpanEndLine = 49, srcSpanEndColumn = 58}) " :: FilePath -> IO Bool",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 51, srcSpanStartColumn = 5, srcSpanEndLine = 51, srcSpanEndColumn = 21}) " * Permissions",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 53, srcSpanStartColumn = 5, srcSpanEndLine = 53, srcSpanEndColumn = 20}) " $permissions",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 57, srcSpanStartColumn = 21, srcSpanEndLine = 57, srcSpanEndColumn = 46}) " :: Permissions -> Bool",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 58, srcSpanStartColumn = 21, srcSpanEndLine = 58, srcSpanEndColumn = 46}) " :: Permissions -> Bool",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 59, srcSpanStartColumn = 21, srcSpanEndLine = 59, srcSpanEndColumn = 46}) " :: Permissions -> Bool",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 60, srcSpanStartColumn = 21, srcSpanEndLine = 60, srcSpanEndColumn = 46}) " :: Permissions -> Bool",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 63, srcSpanStartColumn = 33, srcSpanEndLine = 63, srcSpanEndColumn = 65}) " :: FilePath -> IO Permissions",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 64, srcSpanStartColumn = 33, srcSpanEndLine = 64, srcSpanEndColumn = 71}) " :: FilePath -> Permissions -> IO ()",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 67, srcSpanStartColumn = 5, srcSpanEndLine = 67, srcSpanEndColumn = 20}) " * Timestamps",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 69, srcSpanStartColumn = 33, srcSpanEndLine = 69, srcSpanEndColumn = 63}) " :: FilePath -> IO ClockTime",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 86, srcSpanStartColumn = 1, srcSpanEndLine = 86, srcSpanEndColumn = 33}) "# CFILES cbits/directory.c #",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 96, srcSpanStartColumn = 1, srcSpanEndLine = 110, srcSpanEndColumn = 3}) " $intro\nA directory contains a series of entries, each of which is a named\nreference to a file system object (file, directory etc.). Some\nentries may be hidden, inaccessible, or have some administrative\nfunction (e.g. `.' or `..' under POSIX\n<http://www.opengroup.org/onlinepubs/009695399/>), but in\nthis standard all such entries are considered to form part of the\ndirectory contents. Entries in sub-directories are not, however,\nconsidered to form part of the directory contents.\n\nEach file system object is referenced by a /path/. There is\nnormally at least one absolute path to each file system object. In\nsome operating systems, it may also be possible to have paths which\nare relative to the current directory.\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 112, srcSpanStartColumn = 1, srcSpanEndLine = 112, srcSpanEndColumn = 78}) "---------------------------------------------------------------------------",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 113, srcSpanStartColumn = 1, srcSpanEndLine = 113, srcSpanEndColumn = 15}) " Permissions",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 115, srcSpanStartColumn = 1, srcSpanEndLine = 132, srcSpanEndColumn = 3}) " $permissions\n\n The 'Permissions' type is used to record whether certain operations are\n permissible on a file\\/directory. 'getPermissions' and 'setPermissions'\n get and set these permissions, respectively. Permissions apply both to\n files and directories. For directories, the executable field will be\n 'False', and for files the searchable field will be 'False'. Note that\n directories may be searchable without being readable, if permission has\n been given to use them as part of a path, but not to examine the\n directory contents.\n\nNote that to change some, but not all permissions, a construct on the following lines must be used.\n\n> makeReadable f = do\n> p <- getPermissions f\n> setPermissions f (p {readable = True})\n\n",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 140, srcSpanStartColumn = 1, srcSpanEndLine = 150, srcSpanEndColumn = 3}) " |The 'getPermissions' operation returns the\npermissions for the file or directory.\n\nThe operation may fail with:\n\n* 'isPermissionError' if the user is not permitted to access\n the permissions; or\n\n* 'isDoesNotExistError' if the file or directory does not exist.\n\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 155, srcSpanStartColumn = 3, srcSpanEndLine = 155, srcSpanEndColumn = 69}) " stat() does a better job of guessing the permissions on Windows",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 156, srcSpanStartColumn = 3, srcSpanEndLine = 156, srcSpanEndColumn = 71}) " than access() does. e.g. for execute permission, it looks at the",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 157, srcSpanStartColumn = 3, srcSpanEndLine = 157, srcSpanEndColumn = 28}) " filename extension :-)",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 158, srcSpanStartColumn = 3, srcSpanEndLine = 158, srcSpanEndColumn = 5}) "",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 159, srcSpanStartColumn = 3, srcSpanEndLine = 159, srcSpanEndColumn = 78}) " I tried for a while to do this properly, using the Windows security API,",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 160, srcSpanStartColumn = 3, srcSpanEndLine = 160, srcSpanEndColumn = 79}) " and eventually gave up. getPermissions is a flawed API anyway. -- SimonM",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 177, srcSpanStartColumn = 1, srcSpanEndLine = 187, srcSpanEndColumn = 3}) " |The 'setPermissions' operation sets the\npermissions for the file or directory.\n\nThe operation may fail with:\n\n* 'isPermissionError' if the user is not permitted to set\n the permissions; or\n\n* 'isDoesNotExistError' if the file or directory does not exist.\n\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 217, srcSpanStartColumn = 1, srcSpanEndLine = 217, srcSpanEndColumn = 78}) "---------------------------------------------------------------------------",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 218, srcSpanStartColumn = 1, srcSpanEndLine = 218, srcSpanEndColumn = 18}) " Implementation",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 220, srcSpanStartColumn = 1, srcSpanEndLine = 255, srcSpanEndColumn = 3}) " |@'createDirectory' dir@ creates a new directory @dir@ which is\ninitially empty, or as near to empty as the operating system\nallows.\n\nThe operation may fail with:\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EROFS, EACCES]@\n\n* 'isAlreadyExistsError' \\/ 'AlreadyExists'\nThe operand refers to a directory that already exists.\n@ [EEXIST]@\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nThe operand is not a valid directory name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'NoSuchThing'\nThere is no path to the directory.\n@[ENOENT, ENOTDIR]@\n\n* 'ResourceExhausted'\nInsufficient resources (virtual memory, process file descriptors,\nphysical disk space, etc.) are available to perform the operation.\n@[EDQUOT, ENOSPC, ENOMEM, EMLINK]@\n\n* 'InappropriateType'\nThe path refers to an existing non-directory object.\n@[EEXIST]@\n\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 261, srcSpanStartColumn = 1, srcSpanEndLine = 261, srcSpanEndColumn = 70}) " | @'createDirectoryIfMissing' parents dir@ creates a new directory",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 262, srcSpanStartColumn = 1, srcSpanEndLine = 262, srcSpanEndColumn = 63}) " @dir@ if it doesn\\'t exist. If the first argument is 'True'",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 263, srcSpanStartColumn = 1, srcSpanEndLine = 263, srcSpanEndColumn = 77}) " the function will also create all parent directories if they are missing.",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 264, srcSpanStartColumn = 38, srcSpanEndLine = 264, srcSpanEndColumn = 66}) " ^ Create its parents too?",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 265, srcSpanStartColumn = 30, srcSpanEndLine = 265, srcSpanEndColumn = 77}) " ^ The path to the directory you want to make",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 287, srcSpanStartColumn = 11, srcSpanEndLine = 287, srcSpanEndColumn = 75}) " createDirectory (and indeed POSIX mkdir) does not distinguish",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 288, srcSpanStartColumn = 11, srcSpanEndLine = 288, srcSpanEndColumn = 79}) " between a dir already existing and a file already existing. So we",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 289, srcSpanStartColumn = 11, srcSpanEndLine = 289, srcSpanEndColumn = 79}) " check for it here. Unfortunately there is a slight race condition",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 290, srcSpanStartColumn = 11, srcSpanEndLine = 290, srcSpanEndColumn = 77}) " here, but we think it is benign. It could report an exeption in",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 291, srcSpanStartColumn = 11, srcSpanEndLine = 291, srcSpanEndColumn = 77}) " the case that the dir did exist but another process deletes the",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 292, srcSpanStartColumn = 11, srcSpanEndLine = 292, srcSpanEndColumn = 75}) " directory and creates a file in its place before we can check",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 293, srcSpanStartColumn = 11, srcSpanEndLine = 293, srcSpanEndColumn = 50}) " that the directory did indeed exist.",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 302, srcSpanStartColumn = 1, srcSpanEndLine = 341, srcSpanEndColumn = 3}) " | @'removeDirectory' dir@ removes an existing directory /dir/. The\nimplementation may specify additional constraints which must be\nsatisfied before a directory can be removed (e.g. the directory has to\nbe empty, or may not be in use by other processes). It is not legal\nfor an implementation to partially remove a directory unless the\nentire directory is removed. A conformant implementation need not\nsupport directory removal in all situations (e.g. removal of the root\ndirectory).\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\nEIO\n\n* 'InvalidArgument'\nThe operand is not a valid directory name.\n[ENAMETOOLONG, ELOOP]\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe directory does not exist.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EROFS, EACCES, EPERM]@\n\n* 'UnsatisfiedConstraints'\nImplementation-dependent constraints are not satisfied.\n@[EBUSY, ENOTEMPTY, EEXIST]@\n\n* 'UnsupportedOperation'\nThe implementation does not support removal in this situation.\n@[EINVAL]@\n\n* 'InappropriateType'\nThe operand refers to an existing non-directory object.\n@[ENOTDIR]@\n\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 347, srcSpanStartColumn = 1, srcSpanEndLine = 347, srcSpanEndColumn = 75}) " | @'removeDirectoryRecursive' dir@ removes an existing directory /dir/",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 348, srcSpanStartColumn = 1, srcSpanEndLine = 348, srcSpanEndColumn = 65}) " together with its content and all subdirectories. Be careful,",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 349, srcSpanStartColumn = 1, srcSpanEndLine = 349, srcSpanEndColumn = 70}) " if the directory contains symlinks, the function will follow them.",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 360, srcSpanStartColumn = 31, srcSpanEndLine = 360, srcSpanEndColumn = 77}) " If f is not a directory, re-throw the error",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 365, srcSpanStartColumn = 1, srcSpanEndLine = 397, srcSpanEndColumn = 3}) " |'removeFile' /file/ removes the directory entry for an existing file\n/file/, where /file/ is not itself a directory. The\nimplementation may specify additional constraints which must be\nsatisfied before a file can be removed (e.g. the file may not be in\nuse by other processes).\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nThe operand is not a valid file name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe file does not exist.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EROFS, EACCES, EPERM]@\n\n* 'UnsatisfiedConstraints'\nImplementation-dependent constraints are not satisfied.\n@[EBUSY]@\n\n* 'InappropriateType'\nThe operand refers to an existing directory.\n@[EPERM, EINVAL]@\n\n",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 403, srcSpanStartColumn = 1, srcSpanEndLine = 450, srcSpanEndColumn = 3}) " |@'renameDirectory' old new@ changes the name of an existing\ndirectory from /old/ to /new/. If the /new/ directory\nalready exists, it is atomically replaced by the /old/ directory.\nIf the /new/ directory is neither the /old/ directory nor an\nalias of the /old/ directory, it is removed as if by\n'removeDirectory'. A conformant implementation need not support\nrenaming directories in all situations (e.g. renaming to an existing\ndirectory, or across different physical devices), but the constraints\nmust be documented.\n\nOn Win32 platforms, @renameDirectory@ fails if the /new/ directory already\nexists.\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nEither operand is not a valid directory name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe original directory does not exist, or there is no path to the target.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EROFS, EACCES, EPERM]@\n\n* 'ResourceExhausted'\nInsufficient resources are available to perform the operation.\n@[EDQUOT, ENOSPC, ENOMEM, EMLINK]@\n\n* 'UnsatisfiedConstraints'\nImplementation-dependent constraints are not satisfied.\n@[EBUSY, ENOTEMPTY, EEXIST]@\n\n* 'UnsupportedOperation'\nThe implementation does not support renaming in this situation.\n@[EINVAL, EXDEV]@\n\n* 'InappropriateType'\nEither path refers to an existing non-directory object.\n@[ENOTDIR, EISDIR]@\n\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 454, srcSpanStartColumn = 4, srcSpanEndLine = 454, srcSpanEndColumn = 73}) " XXX this test isn't performed atomically with the following rename",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 455, srcSpanStartColumn = 4, srcSpanEndLine = 455, srcSpanEndColumn = 26}) " ToDo: use Win32 API",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 465, srcSpanStartColumn = 1, srcSpanEndLine = 507, srcSpanEndColumn = 3}) " |@'renameFile' old new@ changes the name of an existing file system\nobject from /old/ to /new/. If the /new/ object already\nexists, it is atomically replaced by the /old/ object. Neither\npath may refer to an existing directory. A conformant implementation\nneed not support renaming files in all situations (e.g. renaming\nacross different physical devices), but the constraints must be\ndocumented.\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nEither operand is not a valid file name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe original file does not exist, or there is no path to the target.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EROFS, EACCES, EPERM]@\n\n* 'ResourceExhausted'\nInsufficient resources are available to perform the operation.\n@[EDQUOT, ENOSPC, ENOMEM, EMLINK]@\n\n* 'UnsatisfiedConstraints'\nImplementation-dependent constraints are not satisfied.\n@[EBUSY]@\n\n* 'UnsupportedOperation'\nThe implementation does not support renaming in this situation.\n@[EXDEV]@\n\n* 'InappropriateType'\nEither path refers to an existing directory.\n@[ENOTDIR, EISDIR, EINVAL, EEXIST, ENOTEMPTY]@\n\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 511, srcSpanStartColumn = 4, srcSpanEndLine = 511, srcSpanEndColumn = 73}) " XXX this test isn't performed atomically with the following rename",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 512, srcSpanStartColumn = 4, srcSpanEndLine = 512, srcSpanEndColumn = 26}) " ToDo: use Win32 API",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 522, srcSpanStartColumn = 1, srcSpanEndLine = 526, srcSpanEndColumn = 3}) " |@'copyFile' old new@ copies the existing file from /old/ to /new/.\nIf the /new/ file already exists, it is atomically replaced by the /old/ file.\nNeither path may refer to an existing directory. The permissions of /old/ are\ncopied to /new/, if possible.\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 553, srcSpanStartColumn = 1, srcSpanEndLine = 553, srcSpanEndColumn = 60}) " | Given path referring to a file or directory, returns a",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 554, srcSpanStartColumn = 1, srcSpanEndLine = 554, srcSpanEndColumn = 64}) " canonicalized path, with the intent that two paths referring",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 555, srcSpanStartColumn = 1, srcSpanEndLine = 555, srcSpanEndColumn = 66}) " to the same file\\/directory will map to the same canonicalized",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 556, srcSpanStartColumn = 1, srcSpanEndLine = 556, srcSpanEndColumn = 58}) " path. Note that it is impossible to guarantee that the",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 557, srcSpanStartColumn = 1, srcSpanEndLine = 557, srcSpanEndColumn = 67}) " implication (same file\\/dir \\<=\\> same canonicalizedPath) holds",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 558, srcSpanStartColumn = 1, srcSpanEndLine = 558, srcSpanEndColumn = 66}) " in either direction: this function can make only a best-effort",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 559, srcSpanStartColumn = 1, srcSpanEndLine = 559, srcSpanEndColumn = 12}) " attempt.",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 564, srcSpanStartColumn = 9, srcSpanEndLine = 564, srcSpanEndColumn = 73}) " normalise does more stuff, like upper-casing the drive letter",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 567, srcSpanStartColumn = 1, srcSpanEndLine = 567, srcSpanEndColumn = 43}) " | 'makeRelative' the current directory.",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 573, srcSpanStartColumn = 1, srcSpanEndLine = 573, srcSpanEndColumn = 66}) " | Given an executable file name, searches for such file in the",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 574, srcSpanStartColumn = 1, srcSpanEndLine = 574, srcSpanEndColumn = 69}) " directories listed in system PATH. The returned value is the path",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 575, srcSpanStartColumn = 1, srcSpanEndLine = 575, srcSpanEndColumn = 70}) " to the found executable or Nothing if an executable with the given",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 576, srcSpanStartColumn = 1, srcSpanEndLine = 576, srcSpanEndColumn = 70}) " name was not found. For example (findExecutable \\\"ghc\\\") gives you",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 577, srcSpanStartColumn = 1, srcSpanEndLine = 577, srcSpanEndColumn = 20}) " the path to GHC.",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 578, srcSpanStartColumn = 1, srcSpanEndLine = 578, srcSpanEndColumn = 3}) "",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 579, srcSpanStartColumn = 1, srcSpanEndLine = 579, srcSpanEndColumn = 60}) " The path returned by 'findExecutable' corresponds to the",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 580, srcSpanStartColumn = 1, srcSpanEndLine = 580, srcSpanEndColumn = 68}) " program that would be executed by 'System.Process.createProcess'",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 581, srcSpanStartColumn = 1, srcSpanEndLine = 581, srcSpanEndColumn = 70}) " when passed the same string (as a RawCommand, not a ShellCommand).",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 582, srcSpanStartColumn = 1, srcSpanEndLine = 582, srcSpanEndColumn = 3}) "",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 583, srcSpanStartColumn = 1, srcSpanEndLine = 583, srcSpanEndColumn = 71}) " On Windows, 'findExecutable' calls the Win32 function 'SearchPath',",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 584, srcSpanStartColumn = 1, srcSpanEndLine = 584, srcSpanEndColumn = 68}) " which may search other places before checking the directories in",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 585, srcSpanStartColumn = 1, srcSpanEndLine = 585, srcSpanEndColumn = 69}) " @PATH@. Where it actually searches depends on registry settings,",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 586, srcSpanStartColumn = 1, srcSpanEndLine = 586, srcSpanEndColumn = 61}) " but notably includes the directory containing the current",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 587, srcSpanStartColumn = 1, srcSpanEndLine = 587, srcSpanEndColumn = 19}) " executable. See",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 588, srcSpanStartColumn = 1, srcSpanEndLine = 588, srcSpanEndColumn = 68}) " <http://msdn.microsoft.com/en-us/library/aa365527.aspx> for more",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 589, srcSpanStartColumn = 1, srcSpanEndLine = 589, srcSpanEndColumn = 12}) " details.",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 590, srcSpanStartColumn = 1, srcSpanEndLine = 590, srcSpanEndColumn = 3}) "",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 596, srcSpanStartColumn = 1, srcSpanEndLine = 625, srcSpanEndColumn = 3}) " |@'getDirectoryContents' dir@ returns a list of /all/ entries\nin /dir/.\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nThe operand is not a valid directory name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe directory does not exist.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EACCES]@\n\n* 'ResourceExhausted'\nInsufficient resources are available to perform the operation.\n@[EMFILE, ENFILE]@\n\n* 'InappropriateType'\nThe path refers to an existing non-directory object.\n@[ENOTDIR]@\n\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 636, srcSpanStartColumn = 9, srcSpanEndLine = 636, srcSpanEndColumn = 71}) " we needn't worry about empty directories: adirectory always",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 637, srcSpanStartColumn = 9, srcSpanEndLine = 637, srcSpanEndColumn = 45}) " has at least \".\" and \"..\" entries",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 645, srcSpanStartColumn = 18, srcSpanEndLine = 645, srcSpanEndColumn = 62}) " no need to reverse, ordering is undefined",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 647, srcSpanStartColumn = 1, srcSpanEndLine = 671, srcSpanEndColumn = 3}) " |If the operating system has a notion of current directories,\n'getCurrentDirectory' returns an absolute path to the\ncurrent directory of the calling process.\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThere is no path referring to the current directory.\n@[EPERM, ENOENT, ESTALE...]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EACCES]@\n\n* 'ResourceExhausted'\nInsufficient resources are available to perform the operation.\n\n* 'UnsupportedOperation'\nThe operating system has no notion of current directory.\n\n",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 676, srcSpanStartColumn = 1, srcSpanEndLine = 706, srcSpanEndColumn = 3}) " |If the operating system has a notion of current directories,\n@'setCurrentDirectory' dir@ changes the current\ndirectory of the calling process to /dir/.\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nThe operand is not a valid directory name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe directory does not exist.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EACCES]@\n\n* 'UnsupportedOperation'\nThe operating system has no notion of current directory, or the\ncurrent directory cannot be dynamically changed.\n\n* 'InappropriateType'\nThe path refers to an existing non-directory object.\n@[ENOTDIR]@\n\n",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 712, srcSpanStartColumn = 1, srcSpanEndLine = 714, srcSpanEndColumn = 3}) " |The operation 'doesDirectoryExist' returns 'True' if the argument file\nexists and is a directory, and 'False' otherwise.\n",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 721, srcSpanStartColumn = 1, srcSpanEndLine = 723, srcSpanEndColumn = 3}) " |The operation 'doesFileExist' returns 'True'\nif the argument file exists and is not a directory, and 'False' otherwise.\n",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 730, srcSpanStartColumn = 1, srcSpanEndLine = 740, srcSpanEndColumn = 3}) " |The 'getModificationTime' operation returns the\nclock time at which the file or directory was last modified.\n\nThe operation may fail with:\n\n* 'isPermissionError' if the user is not permitted to access\n the modification time; or\n\n* 'isDoesNotExistError' if the file or directory does not exist.\n\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 744, srcSpanStartColumn = 2, srcSpanEndLine = 744, srcSpanEndColumn = 24}) " ToDo: use Win32 API",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 787, srcSpanStartColumn = 1, srcSpanEndLine = 807, srcSpanEndColumn = 3}) " | Returns the current user's home directory.\n\nThe directory returned is expected to be writable by the current user,\nbut note that it isn't generally considered good practice to store\napplication-specific data here; use 'getAppUserDataDirectory'\ninstead.\n\nOn Unix, 'getHomeDirectory' returns the value of the @HOME@\nenvironment variable. On Windows, the system is queried for a\nsuitable path; a typical path might be\n@C:/Documents And Settings/user@.\n\nThe operation may fail with:\n\n* 'UnsupportedOperation'\nThe operating system has no notion of home directory.\n\n* 'isDoesNotExistError'\nThe home directory for the current user does not exist, or\ncannot be found.\n",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 820, srcSpanStartColumn = 1, srcSpanEndLine = 846, srcSpanEndColumn = 3}) " | Returns the pathname of a directory in which application-specific\ndata for the current user can be stored. The result of\n'getAppUserDataDirectory' for a given application is specific to\nthe current user.\n\nThe argument should be the name of the application, which will be used\nto construct the pathname (so avoid using unusual characters that\nmight result in an invalid pathname).\n\nNote: the directory may not actually exist, and may need to be created\nfirst. It is expected that the parent directory exists and is\nwritable.\n\nOn Unix, this function returns @$HOME\\/.appName@. On Windows, a\ntypical path might be\n\n> C:/Documents And Settings/user/Application Data/appName\n\nThe operation may fail with:\n\n* 'UnsupportedOperation'\nThe operating system has no notion of application-specific data directory.\n\n* 'isDoesNotExistError'\nThe home directory for the current user does not exist, or\ncannot be found.\n",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 853, srcSpanStartColumn = 1, srcSpanEndLine = 873, srcSpanEndColumn = 3}) " | Returns the current user's document directory.\n\nThe directory returned is expected to be writable by the current user,\nbut note that it isn't generally considered good practice to store\napplication-specific data here; use 'getAppUserDataDirectory'\ninstead.\n\nOn Unix, 'getUserDocumentsDirectory' returns the value of the @HOME@\nenvironment variable. On Windows, the system is queried for a\nsuitable path; a typical path might be\n@C:\\/Documents and Settings\\/user\\/My Documents@.\n\nThe operation may fail with:\n\n* 'UnsupportedOperation'\nThe operating system has no notion of document directory.\n\n* 'isDoesNotExistError'\nThe document directory for the current user does not exist, or\ncannot be found.\n",Comment True (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 879, srcSpanStartColumn = 1, srcSpanEndLine = 904, srcSpanEndColumn = 3}) " | Returns the current directory for temporary files.\n\nOn Unix, 'getTemporaryDirectory' returns the value of the @TMPDIR@\nenvironment variable or \\\"\\/tmp\\\" if the variable isn\\'t defined.\nOn Windows, the function checks for the existence of environment variables in\nthe following order and uses the first path found:\n\n*\nTMP environment variable.\n\n*\nTEMP environment variable.\n\n*\nUSERPROFILE environment variable.\n\n*\nThe Windows directory\n\nThe operation may fail with:\n\n* 'UnsupportedOperation'\nThe operating system has no notion of temporary directory.\n\nThe function doesn\\'t verify whether the path exists.\n",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 909, srcSpanStartColumn = 1, srcSpanEndLine = 909, srcSpanEndColumn = 60}) " ToDo: This should be determined via autoconf (AC_EXEEXT)",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 910, srcSpanStartColumn = 1, srcSpanEndLine = 910, srcSpanEndColumn = 36}) " | Extension for executable files",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Directory.hs", srcSpanStartLine = 911, srcSpanStartColumn = 1, srcSpanEndLine = 911, srcSpanEndColumn = 64}) " (typically @\\\"\\\"@ on Unix and @\\\"exe\\\"@ on Windows or OS\\/2)"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 1 1 914 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 1 1 1 1+ , SrcSpan "tests/examples/Directory.hs" 17 1 17 1+ , SrcSpan "tests/examples/Directory.hs" 17 1 17 1+ , SrcSpan "tests/examples/Directory.hs" 72 1 72 1+ , SrcSpan "tests/examples/Directory.hs" 73 1 73 1+ , SrcSpan "tests/examples/Directory.hs" 75 1 75 1+ , SrcSpan "tests/examples/Directory.hs" 76 1 76 1+ , SrcSpan "tests/examples/Directory.hs" 77 1 77 1+ , SrcSpan "tests/examples/Directory.hs" 78 1 78 1+ , SrcSpan "tests/examples/Directory.hs" 79 1 79 1+ , SrcSpan "tests/examples/Directory.hs" 80 1 80 1+ , SrcSpan "tests/examples/Directory.hs" 81 1 81 1+ , SrcSpan "tests/examples/Directory.hs" 83 1 83 1+ , SrcSpan "tests/examples/Directory.hs" 84 1 84 1+ , SrcSpan "tests/examples/Directory.hs" 88 1 88 1+ , SrcSpan "tests/examples/Directory.hs" 90 1 90 1+ , SrcSpan "tests/examples/Directory.hs" 92 1 92 1+ , SrcSpan "tests/examples/Directory.hs" 93 1 93 1+ , SrcSpan "tests/examples/Directory.hs" 94 1 94 1+ , SrcSpan "tests/examples/Directory.hs" 134 1 134 1+ , SrcSpan "tests/examples/Directory.hs" 152 1 152 1+ , SrcSpan "tests/examples/Directory.hs" 153 1 153 1+ , SrcSpan "tests/examples/Directory.hs" 189 1 189 1+ , SrcSpan "tests/examples/Directory.hs" 190 1 190 1+ , SrcSpan "tests/examples/Directory.hs" 205 1 205 1+ , SrcSpan "tests/examples/Directory.hs" 208 1 208 1+ , SrcSpan "tests/examples/Directory.hs" 209 1 209 1+ , SrcSpan "tests/examples/Directory.hs" 257 1 257 1+ , SrcSpan "tests/examples/Directory.hs" 258 1 258 1+ , SrcSpan "tests/examples/Directory.hs" 264 1 264 1+ , SrcSpan "tests/examples/Directory.hs" 267 1 267 1+ , SrcSpan "tests/examples/Directory.hs" 343 1 343 1+ , SrcSpan "tests/examples/Directory.hs" 344 1 344 1+ , SrcSpan "tests/examples/Directory.hs" 350 1 350 1+ , SrcSpan "tests/examples/Directory.hs" 351 1 351 1+ , SrcSpan "tests/examples/Directory.hs" 399 1 399 1+ , SrcSpan "tests/examples/Directory.hs" 400 1 400 1+ , SrcSpan "tests/examples/Directory.hs" 452 1 452 1+ , SrcSpan "tests/examples/Directory.hs" 453 1 453 1+ , SrcSpan "tests/examples/Directory.hs" 509 1 509 1+ , SrcSpan "tests/examples/Directory.hs" 510 1 510 1+ , SrcSpan "tests/examples/Directory.hs" 528 1 528 1+ , SrcSpan "tests/examples/Directory.hs" 529 1 529 1+ , SrcSpan "tests/examples/Directory.hs" 560 1 560 1+ , SrcSpan "tests/examples/Directory.hs" 561 1 561 1+ , SrcSpan "tests/examples/Directory.hs" 568 1 568 1+ , SrcSpan "tests/examples/Directory.hs" 569 1 569 1+ , SrcSpan "tests/examples/Directory.hs" 591 1 591 1+ , SrcSpan "tests/examples/Directory.hs" 592 1 592 1+ , SrcSpan "tests/examples/Directory.hs" 627 1 627 1+ , SrcSpan "tests/examples/Directory.hs" 628 1 628 1+ , SrcSpan "tests/examples/Directory.hs" 672 1 672 1+ , SrcSpan "tests/examples/Directory.hs" 673 1 673 1+ , SrcSpan "tests/examples/Directory.hs" 708 1 708 1+ , SrcSpan "tests/examples/Directory.hs" 709 1 709 1+ , SrcSpan "tests/examples/Directory.hs" 716 1 716 1+ , SrcSpan "tests/examples/Directory.hs" 717 1 717 1+ , SrcSpan "tests/examples/Directory.hs" 725 1 725 1+ , SrcSpan "tests/examples/Directory.hs" 726 1 726 1+ , SrcSpan "tests/examples/Directory.hs" 742 1 742 1+ , SrcSpan "tests/examples/Directory.hs" 743 1 743 1+ , SrcSpan "tests/examples/Directory.hs" 749 1 749 1+ , SrcSpan "tests/examples/Directory.hs" 750 1 750 1+ , SrcSpan "tests/examples/Directory.hs" 756 1 756 1+ , SrcSpan "tests/examples/Directory.hs" 757 1 757 1+ , SrcSpan "tests/examples/Directory.hs" 763 1 763 1+ , SrcSpan "tests/examples/Directory.hs" 764 1 764 1+ , SrcSpan "tests/examples/Directory.hs" 769 1 769 1+ , SrcSpan "tests/examples/Directory.hs" 770 1 770 1+ , SrcSpan "tests/examples/Directory.hs" 774 1 774 1+ , SrcSpan "tests/examples/Directory.hs" 775 1 775 1+ , SrcSpan "tests/examples/Directory.hs" 778 1 778 1+ , SrcSpan "tests/examples/Directory.hs" 779 1 779 1+ , SrcSpan "tests/examples/Directory.hs" 780 1 780 1+ , SrcSpan "tests/examples/Directory.hs" 781 1 781 1+ , SrcSpan "tests/examples/Directory.hs" 784 1 784 1+ , SrcSpan "tests/examples/Directory.hs" 808 1 808 1+ , SrcSpan "tests/examples/Directory.hs" 809 1 809 1+ , SrcSpan "tests/examples/Directory.hs" 847 1 847 1+ , SrcSpan "tests/examples/Directory.hs" 848 1 848 1+ , SrcSpan "tests/examples/Directory.hs" 874 1 874 1+ , SrcSpan "tests/examples/Directory.hs" 875 1 875 1+ , SrcSpan "tests/examples/Directory.hs" 905 1 905 1+ , SrcSpan "tests/examples/Directory.hs" 906 1 906 1+ , SrcSpan "tests/examples/Directory.hs" 912 1 912 1+ , SrcSpan "tests/examples/Directory.hs" 913 1 913 1+ , SrcSpan "tests/examples/Directory.hs" 914 1 914 1+ , SrcSpan "tests/examples/Directory.hs" 914 1 914 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 17 1 70 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 17 1 17 7+ , SrcSpan "tests/examples/Directory.hs" 70 6 70 11+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 17 8 17 24+ , srcInfoPoints = []+ }+ "System.Directory")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 18 4 70 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 18 4 18 5+ , SrcSpan "tests/examples/Directory.hs" 23 5 23 6+ , SrcSpan "tests/examples/Directory.hs" 24 5 24 6+ , SrcSpan "tests/examples/Directory.hs" 25 5 25 6+ , SrcSpan "tests/examples/Directory.hs" 26 5 26 6+ , SrcSpan "tests/examples/Directory.hs" 28 5 28 6+ , SrcSpan "tests/examples/Directory.hs" 29 5 29 6+ , SrcSpan "tests/examples/Directory.hs" 30 5 30 6+ , SrcSpan "tests/examples/Directory.hs" 33 5 33 6+ , SrcSpan "tests/examples/Directory.hs" 34 5 34 6+ , SrcSpan "tests/examples/Directory.hs" 35 5 35 6+ , SrcSpan "tests/examples/Directory.hs" 36 5 36 6+ , SrcSpan "tests/examples/Directory.hs" 39 5 39 6+ , SrcSpan "tests/examples/Directory.hs" 40 5 40 6+ , SrcSpan "tests/examples/Directory.hs" 41 5 41 6+ , SrcSpan "tests/examples/Directory.hs" 43 5 43 6+ , SrcSpan "tests/examples/Directory.hs" 44 5 44 6+ , SrcSpan "tests/examples/Directory.hs" 45 5 45 6+ , SrcSpan "tests/examples/Directory.hs" 48 5 48 6+ , SrcSpan "tests/examples/Directory.hs" 49 5 49 6+ , SrcSpan "tests/examples/Directory.hs" 55 5 55 6+ , SrcSpan "tests/examples/Directory.hs" 63 5 63 6+ , SrcSpan "tests/examples/Directory.hs" 64 5 64 6+ , SrcSpan "tests/examples/Directory.hs" 65 5 65 6+ , SrcSpan "tests/examples/Directory.hs" 69 5 69 6+ , SrcSpan "tests/examples/Directory.hs" 70 4 70 5+ ]+ }+ [ EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 22 7 22 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 22 7 22 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 22 7 22 22+ , srcInfoPoints = []+ }+ "createDirectory"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 23 7 23 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 23 7 23 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 23 7 23 31+ , srcInfoPoints = []+ }+ "createDirectoryIfMissing"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 24 7 24 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 24 7 24 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 24 7 24 22+ , srcInfoPoints = []+ }+ "removeDirectory"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 25 7 25 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 25 7 25 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 25 7 25 31+ , srcInfoPoints = []+ }+ "removeDirectoryRecursive"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 26 7 26 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 26 7 26 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 26 7 26 22+ , srcInfoPoints = []+ }+ "renameDirectory"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 28 7 28 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 28 7 28 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 28 7 28 27+ , srcInfoPoints = []+ }+ "getDirectoryContents"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 29 7 29 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 29 7 29 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 29 7 29 26+ , srcInfoPoints = []+ }+ "getCurrentDirectory"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 30 7 30 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 30 7 30 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 30 7 30 26+ , srcInfoPoints = []+ }+ "setCurrentDirectory"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 33 7 33 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 33 7 33 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 33 7 33 23+ , srcInfoPoints = []+ }+ "getHomeDirectory"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 34 7 34 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 34 7 34 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 34 7 34 30+ , srcInfoPoints = []+ }+ "getAppUserDataDirectory"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 35 7 35 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 35 7 35 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 35 7 35 32+ , srcInfoPoints = []+ }+ "getUserDocumentsDirectory"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 36 7 36 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 36 7 36 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 36 7 36 28+ , srcInfoPoints = []+ }+ "getTemporaryDirectory"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 39 7 39 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 39 7 39 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 39 7 39 17+ , srcInfoPoints = []+ }+ "removeFile"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 40 7 40 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 40 7 40 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 40 7 40 17+ , srcInfoPoints = []+ }+ "renameFile"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 41 7 41 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 41 7 41 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 41 7 41 15+ , srcInfoPoints = []+ }+ "copyFile"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 43 7 43 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 43 7 43 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 43 7 43 23+ , srcInfoPoints = []+ }+ "canonicalizePath"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 44 7 44 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 44 7 44 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 44 7 44 37+ , srcInfoPoints = []+ }+ "makeRelativeToCurrentDirectory"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 45 7 45 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 45 7 45 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 45 7 45 21+ , srcInfoPoints = []+ }+ "findExecutable"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 48 7 48 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 48 7 48 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 48 7 48 20+ , srcInfoPoints = []+ }+ "doesFileExist"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 49 7 49 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 49 7 49 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 49 7 49 25+ , srcInfoPoints = []+ }+ "doesDirectoryExist"))+ , EThingWith+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 55 7 61 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 55 18 55 19+ , SrcSpan "tests/examples/Directory.hs" 56 16 56 17+ , SrcSpan "tests/examples/Directory.hs" 57 13 57 14+ , SrcSpan "tests/examples/Directory.hs" 58 13 58 14+ , SrcSpan "tests/examples/Directory.hs" 59 15 59 16+ , SrcSpan "tests/examples/Directory.hs" 61 7 61 8+ ]+ }+ (NoWildcard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 55 7 55 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 55 7 55 18+ , srcInfoPoints = []+ }+ "Permissions"))+ [ ConName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 56 5 56 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 56 5 56 16+ , srcInfoPoints = []+ }+ "Permissions")+ , VarName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 57 5 57 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 57 5 57 13+ , srcInfoPoints = []+ }+ "readable")+ , VarName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 58 5 58 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 58 5 58 13+ , srcInfoPoints = []+ }+ "writable")+ , VarName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 59 5 59 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 59 5 59 15+ , srcInfoPoints = []+ }+ "executable")+ , VarName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 60 5 60 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 60 5 60 15+ , srcInfoPoints = []+ }+ "searchable")+ ]+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 63 7 63 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 63 7 63 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 63 7 63 21+ , srcInfoPoints = []+ }+ "getPermissions"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 64 7 64 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 64 7 64 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 64 7 64 21+ , srcInfoPoints = []+ }+ "setPermissions"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 65 7 65 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 65 7 65 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 65 7 65 22+ , srcInfoPoints = []+ }+ "copyPermissions"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 69 7 69 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 69 7 69 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 69 7 69 26+ , srcInfoPoints = []+ }+ "getModificationTime"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 1 1 1 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 1 1 1 13+ , SrcSpan "tests/examples/Directory.hs" 1 38 1 39+ , SrcSpan "tests/examples/Directory.hs" 1 65 1 68+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 1 14 1 38+ , srcInfoPoints = []+ }+ "ForeignFunctionInterface"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 1 40 1 64+ , srcInfoPoints = []+ }+ "NondecreasingIndentation"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 72 1 72 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 72 1 72 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 72 8 72 15+ , srcInfoPoints = []+ }+ "Prelude"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 72 16 72 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 72 16 72 22+ , SrcSpan "tests/examples/Directory.hs" 72 23 72 24+ , SrcSpan "tests/examples/Directory.hs" 72 31 72 32+ ]+ }+ True+ [ IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 72 25 72 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 72 25 72 30+ , srcInfoPoints = []+ }+ "catch")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 73 1 73 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 73 1 73 7+ , SrcSpan "tests/examples/Directory.hs" 73 8 73 17+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 73 18 73 25+ , srcInfoPoints = []+ }+ "Prelude"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 75 1 75 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 75 1 75 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 75 8 75 21+ , srcInfoPoints = []+ }+ "Control.Monad"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 75 22 75 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 75 22 75 23+ , SrcSpan "tests/examples/Directory.hs" 75 28 75 29+ ]+ }+ False+ [ IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 75 23 75 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 75 23 75 28+ , srcInfoPoints = []+ }+ "guard")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 76 1 76 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 76 1 76 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 76 8 76 26+ , srcInfoPoints = []+ }+ "System.Environment"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 76 32 76 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 76 32 76 33+ , SrcSpan "tests/examples/Directory.hs" 76 41 76 42+ ]+ }+ False+ [ IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 76 34 76 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 76 34 76 40+ , srcInfoPoints = []+ }+ "getEnv")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 77 1 77 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 77 1 77 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 77 8 77 23+ , srcInfoPoints = []+ }+ "System.FilePath"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 78 1 78 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 78 1 78 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 78 8 78 17+ , srcInfoPoints = []+ }+ "System.IO"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 79 1 79 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 79 1 79 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 79 8 79 23+ , srcInfoPoints = []+ }+ "System.IO.Error"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 79 24 79 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 79 24 79 30+ , SrcSpan "tests/examples/Directory.hs" 79 31 79 32+ , SrcSpan "tests/examples/Directory.hs" 79 38 79 39+ , SrcSpan "tests/examples/Directory.hs" 79 44 79 45+ ]+ }+ True+ [ IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 79 33 79 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 79 33 79 38+ , srcInfoPoints = []+ }+ "catch")+ , IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 79 40 79 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 79 40 79 43+ , srcInfoPoints = []+ }+ "try")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 80 1 80 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 80 1 80 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 80 8 80 21+ , srcInfoPoints = []+ }+ "Control.Monad"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 80 32 80 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 80 32 80 33+ , SrcSpan "tests/examples/Directory.hs" 80 38 80 39+ , SrcSpan "tests/examples/Directory.hs" 80 47 80 48+ ]+ }+ False+ [ IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 80 34 80 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 80 34 80 38+ , srcInfoPoints = []+ }+ "when")+ , IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 80 40 80 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 80 40 80 46+ , srcInfoPoints = []+ }+ "unless")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 81 1 81 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 81 1 81 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 81 8 81 30+ , srcInfoPoints = []+ }+ "Control.Exception.Base"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 83 1 83 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 83 1 83 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 83 8 83 15+ , srcInfoPoints = []+ }+ "Foreign"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 84 1 84 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 84 1 84 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 84 8 84 17+ , srcInfoPoints = []+ }+ "Foreign.C"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 88 1 88 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 88 1 88 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 88 8 88 19+ , srcInfoPoints = []+ }+ "System.Time"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 88 32 88 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 88 32 88 33+ , SrcSpan "tests/examples/Directory.hs" 88 48 88 49+ ]+ }+ False+ [ IThingAll+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 88 34 88 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 88 43 88 44+ , SrcSpan "tests/examples/Directory.hs" 88 44 88 46+ , SrcSpan "tests/examples/Directory.hs" 88 46 88 47+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 88 34 88 43+ , srcInfoPoints = []+ }+ "ClockTime")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 90 1 90 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 90 1 90 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 90 8 90 24+ , srcInfoPoints = []+ }+ "GHC.IO.Exception"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 90 25 90 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 90 25 90 26+ , SrcSpan "tests/examples/Directory.hs" 90 42 90 43+ , SrcSpan "tests/examples/Directory.hs" 90 59 90 60+ , SrcSpan "tests/examples/Directory.hs" 90 73 90 74+ ]+ }+ False+ [ IThingAll+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 90 27 90 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 90 38 90 39+ , SrcSpan "tests/examples/Directory.hs" 90 39 90 41+ , SrcSpan "tests/examples/Directory.hs" 90 41 90 42+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 90 27 90 38+ , srcInfoPoints = []+ }+ "IOException")+ , IThingAll+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 90 44 90 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 90 55 90 56+ , SrcSpan "tests/examples/Directory.hs" 90 56 90 58+ , SrcSpan "tests/examples/Directory.hs" 90 58 90 59+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 90 44 90 55+ , srcInfoPoints = []+ }+ "IOErrorType")+ , IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 90 61 90 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 90 61 90 72+ , srcInfoPoints = []+ }+ "ioException")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 92 1 92 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 92 1 92 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 92 8 92 26+ , srcInfoPoints = []+ }+ "System.Posix.Types"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 93 1 93 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 93 1 93 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 93 8 93 30+ , srcInfoPoints = []+ }+ "System.Posix.Internals"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 94 1 94 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 94 1 94 7+ , SrcSpan "tests/examples/Directory.hs" 94 8 94 17+ , SrcSpan "tests/examples/Directory.hs" 94 31 94 33+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 94 18 94 30+ , srcInfoPoints = []+ }+ "System.Win32"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 94 34 94 39+ , srcInfoPoints = []+ }+ "Win32")+ , importSpecs = Nothing+ }+ ]+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 134 1 138 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 135 2 135 3 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 134 1 134 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 134 6 134 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 134 6 134 17+ , srcInfoPoints = []+ }+ "Permissions"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 135 4 138 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 135 16 135 17+ , SrcSpan "tests/examples/Directory.hs" 138 4 138 5+ ]+ }+ Nothing+ Nothing+ (RecDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 135 4 138 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 135 16 135 17+ , SrcSpan "tests/examples/Directory.hs" 138 4 138 5+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 135 4 135 15+ , srcInfoPoints = []+ }+ "Permissions")+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 136 5 137 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 136 13 136 14+ , SrcSpan "tests/examples/Directory.hs" 136 25 136 26+ , SrcSpan "tests/examples/Directory.hs" 137 15 137 16+ , SrcSpan "tests/examples/Directory.hs" 137 28 137 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 136 5 136 13+ , srcInfoPoints = []+ }+ "readable"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 136 17 136 25+ , srcInfoPoints = []+ }+ "writable"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 137 5 137 15+ , srcInfoPoints = []+ }+ "executable"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 137 17 137 27+ , srcInfoPoints = []+ }+ "searchable"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 137 31 137 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 137 31 137 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 137 31 137 35+ , srcInfoPoints = []+ }+ "Bool")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 6 138 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 138 6 138 14+ , SrcSpan "tests/examples/Directory.hs" 138 15 138 16+ , SrcSpan "tests/examples/Directory.hs" 138 18 138 19+ , SrcSpan "tests/examples/Directory.hs" 138 23 138 24+ , SrcSpan "tests/examples/Directory.hs" 138 29 138 30+ , SrcSpan "tests/examples/Directory.hs" 138 35 138 36+ ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+ , srcInfoPoints = []+ }+ "Ord")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+ , srcInfoPoints = []+ }+ "Read")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 1 152 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 152 16 152 18 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 1 152 15+ , srcInfoPoints = []+ }+ "getPermissions"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 19 152 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 152 28 152 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 19 152 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 19 152 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 19 152 27+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 31 152 45+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 31 152 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 31 152 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 31 152 33+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 34 152 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 34 152 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 34 152 45+ , srcInfoPoints = []+ }+ "Permissions")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 153 1 175 5+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 153 1 175 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 153 1 153 15+ , srcInfoPoints = []+ }+ "getPermissions")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 153 16 153 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 153 16 153 20+ , srcInfoPoints = []+ }+ "name")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 153 21 175 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 153 21 153 22 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 153 23 175 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 153 23 153 25+ , SrcSpan "tests/examples/Directory.hs" 154 3 154 3+ , SrcSpan "tests/examples/Directory.hs" 189 1 189 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 154 3 175 5+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 154 3 175 5+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 154 3 154 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 3 154 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 3 154 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 3 154 15+ , srcInfoPoints = []+ }+ "withFilePath")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 16 154 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 16 154 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 16 154 20+ , srcInfoPoints = []+ }+ "name"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 154 21 154 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 21 154 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 21 154 22+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 154 23 175 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 154 23 154 24+ , SrcSpan "tests/examples/Directory.hs" 154 26 154 28+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 24 154 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 24 154 25+ , srcInfoPoints = []+ }+ "s")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 154 29 175 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 154 29 154 31+ , SrcSpan "tests/examples/Directory.hs" 161 3 161 3+ , SrcSpan "tests/examples/Directory.hs" 161 3 161 3+ , SrcSpan "tests/examples/Directory.hs" 189 1 189 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 161 3 175 5+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 161 3 175 5+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 161 3 161 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 161 3 161 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 161 3 161 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 161+ 3+ 161+ 14+ , srcInfoPoints = []+ }+ "allocaBytes")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 161 15 161 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 161 15 161 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 161+ 15+ 161+ 26+ , srcInfoPoints = []+ }+ "sizeof_stat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 161 27 161 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 161 27 161 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 161 27 161 28+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 161 29 175 5+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 161 29 161 30+ , SrcSpan+ "tests/examples/Directory.hs" 161 38 161 40+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 161 31 161 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 161+ 31+ 161+ 37+ , srcInfoPoints = []+ }+ "p_stat")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 161 41 175 5+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 161 41 161 43+ , SrcSpan+ "tests/examples/Directory.hs" 162 3 162 3+ , SrcSpan+ "tests/examples/Directory.hs" 162 3 162 3+ , SrcSpan+ "tests/examples/Directory.hs" 163 3 163 3+ , SrcSpan+ "tests/examples/Directory.hs" 164 3 164 3+ , SrcSpan+ "tests/examples/Directory.hs" 165 3 165 3+ , SrcSpan+ "tests/examples/Directory.hs" 166 3 166 3+ , SrcSpan+ "tests/examples/Directory.hs" 167 3 167 3+ , SrcSpan+ "tests/examples/Directory.hs" 168 3 168 3+ , SrcSpan+ "tests/examples/Directory.hs" 189 1 189 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 162 3 162 57+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 3+ 162+ 57+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 3+ 162+ 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 3+ 162+ 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 3+ 162+ 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 3+ 162+ 22+ , srcInfoPoints = []+ }+ "throwErrnoIfMinus1_")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 23+ 162+ 39+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 23+ 162+ 39+ , srcInfoPoints = []+ }+ "getPermissions"+ "getPermissions")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 40+ 162+ 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 40+ 162+ 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 40+ 162+ 41+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 42+ 162+ 57+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 42+ 162+ 50+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 42+ 162+ 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 42+ 162+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 42+ 162+ 48+ , srcInfoPoints = []+ }+ "c_stat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 49+ 162+ 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 49+ 162+ 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 49+ 162+ 50+ , srcInfoPoints = []+ }+ "s"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 51+ 162+ 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 51+ 162+ 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 162+ 51+ 162+ 57+ , srcInfoPoints = []+ }+ "p_stat")))))+ , Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 163 3 163 25+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 163+ 8+ 163+ 10+ ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 163+ 3+ 163+ 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 163+ 3+ 163+ 7+ , srcInfoPoints = []+ }+ "mode"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 163+ 11+ 163+ 25+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 163+ 11+ 163+ 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 163+ 11+ 163+ 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 163+ 11+ 163+ 18+ , srcInfoPoints = []+ }+ "st_mode")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 163+ 19+ 163+ 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 163+ 19+ 163+ 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 163+ 19+ 163+ 25+ , srcInfoPoints = []+ }+ "p_stat"))))+ , LetStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 164 3 164 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 3+ 164+ 6+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 7+ 164+ 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 7+ 164+ 7+ , SrcSpan+ "tests/examples/Directory.hs"+ 165+ 3+ 165+ 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 7+ 164+ 36+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 7+ 164+ 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 7+ 164+ 15+ , srcInfoPoints = []+ }+ "usr_read"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 18+ 164+ 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 18+ 164+ 19+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 20+ 164+ 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 20+ 164+ 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 20+ 164+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 20+ 164+ 24+ , srcInfoPoints = []+ }+ "mode")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 25+ 164+ 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 25+ 164+ 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 25+ 164+ 28+ , srcInfoPoints = []+ }+ ".&.")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 29+ 164+ 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 29+ 164+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 164+ 29+ 164+ 36+ , srcInfoPoints = []+ }+ "s_IRUSR")))))+ Nothing+ ])+ , LetStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 165 3 165 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 3+ 165+ 6+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 7+ 165+ 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 7+ 165+ 7+ , SrcSpan+ "tests/examples/Directory.hs"+ 166+ 3+ 166+ 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 7+ 165+ 36+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 7+ 165+ 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 7+ 165+ 16+ , srcInfoPoints = []+ }+ "usr_write"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 18+ 165+ 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 18+ 165+ 19+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 20+ 165+ 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 20+ 165+ 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 20+ 165+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 20+ 165+ 24+ , srcInfoPoints = []+ }+ "mode")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 25+ 165+ 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 25+ 165+ 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 25+ 165+ 28+ , srcInfoPoints = []+ }+ ".&.")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 29+ 165+ 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 29+ 165+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 165+ 29+ 165+ 36+ , srcInfoPoints = []+ }+ "s_IWUSR")))))+ Nothing+ ])+ , LetStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 166 3 166 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 3+ 166+ 6+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 7+ 166+ 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 7+ 166+ 7+ , SrcSpan+ "tests/examples/Directory.hs"+ 167+ 3+ 167+ 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 7+ 166+ 36+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 7+ 166+ 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 7+ 166+ 15+ , srcInfoPoints = []+ }+ "usr_exec"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 18+ 166+ 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 18+ 166+ 19+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 20+ 166+ 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 20+ 166+ 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 20+ 166+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 20+ 166+ 24+ , srcInfoPoints = []+ }+ "mode")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 25+ 166+ 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 25+ 166+ 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 25+ 166+ 28+ , srcInfoPoints = []+ }+ ".&.")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 29+ 166+ 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 29+ 166+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 166+ 29+ 166+ 36+ , srcInfoPoints = []+ }+ "s_IXUSR")))))+ Nothing+ ])+ , LetStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 167 3 167 32+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 3+ 167+ 6+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 7+ 167+ 32+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 7+ 167+ 7+ , SrcSpan+ "tests/examples/Directory.hs"+ 168+ 3+ 168+ 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 7+ 167+ 32+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 7+ 167+ 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 7+ 167+ 13+ , srcInfoPoints = []+ }+ "is_dir"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 14+ 167+ 32+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 14+ 167+ 15+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 16+ 167+ 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 16+ 167+ 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 16+ 167+ 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 16+ 167+ 20+ , srcInfoPoints = []+ }+ "mode")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 21+ 167+ 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 21+ 167+ 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 21+ 167+ 24+ , srcInfoPoints = []+ }+ ".&.")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 25+ 167+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 25+ 167+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 167+ 25+ 167+ 32+ , srcInfoPoints = []+ }+ "s_IFDIR")))))+ Nothing+ ])+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 168 3 175 5+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 168+ 3+ 175+ 5+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 168+ 3+ 168+ 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 168+ 3+ 168+ 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 168+ 3+ 168+ 9+ , srcInfoPoints = []+ }+ "return")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 168+ 10+ 175+ 5+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 168+ 10+ 168+ 11+ , SrcSpan+ "tests/examples/Directory.hs"+ 175+ 4+ 175+ 5+ ]+ }+ (RecConstr+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 169+ 5+ 174+ 6+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 169+ 17+ 169+ 18+ , SrcSpan+ "tests/examples/Directory.hs"+ 170+ 34+ 170+ 35+ , SrcSpan+ "tests/examples/Directory.hs"+ 171+ 34+ 171+ 35+ , SrcSpan+ "tests/examples/Directory.hs"+ 172+ 48+ 172+ 49+ , SrcSpan+ "tests/examples/Directory.hs"+ 174+ 5+ 174+ 6+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 169+ 5+ 169+ 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 169+ 5+ 169+ 16+ , srcInfoPoints = []+ }+ "Permissions"))+ [ FieldUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 7+ 170+ 34+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 18+ 170+ 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 7+ 170+ 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 7+ 170+ 15+ , srcInfoPoints = []+ }+ "readable"))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 20+ 170+ 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 20+ 170+ 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 20+ 170+ 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 20+ 170+ 28+ , srcInfoPoints = []+ }+ "usr_read")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 30+ 170+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 30+ 170+ 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 30+ 170+ 32+ , srcInfoPoints = []+ }+ "/=")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 33+ 170+ 34+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 170+ 33+ 170+ 34+ , srcInfoPoints = []+ }+ 0+ "0")))+ , FieldUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 7+ 171+ 34+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 18+ 171+ 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 7+ 171+ 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 7+ 171+ 15+ , srcInfoPoints = []+ }+ "writable"))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 20+ 171+ 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 20+ 171+ 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 20+ 171+ 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 20+ 171+ 29+ , srcInfoPoints = []+ }+ "usr_write")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 30+ 171+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 30+ 171+ 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 30+ 171+ 32+ , srcInfoPoints = []+ }+ "/=")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 33+ 171+ 34+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 171+ 33+ 171+ 34+ , srcInfoPoints = []+ }+ 0+ "0")))+ , FieldUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 7+ 172+ 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 18+ 172+ 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 7+ 172+ 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 7+ 172+ 17+ , srcInfoPoints = []+ }+ "executable"))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 20+ 172+ 48+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 20+ 172+ 31+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 20+ 172+ 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 20+ 172+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 20+ 172+ 26+ , srcInfoPoints = []+ }+ "is_dir")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 27+ 172+ 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 27+ 172+ 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 27+ 172+ 29+ , srcInfoPoints = []+ }+ "==")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 30+ 172+ 31+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 30+ 172+ 31+ , srcInfoPoints = []+ }+ 0+ "0")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 32+ 172+ 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 32+ 172+ 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 32+ 172+ 34+ , srcInfoPoints = []+ }+ "&&")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 35+ 172+ 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 35+ 172+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 35+ 172+ 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 35+ 172+ 43+ , srcInfoPoints = []+ }+ "usr_exec")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 44+ 172+ 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 44+ 172+ 46+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 44+ 172+ 46+ , srcInfoPoints = []+ }+ "/=")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 47+ 172+ 48+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 172+ 47+ 172+ 48+ , srcInfoPoints = []+ }+ 0+ "0"))))+ , FieldUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 7+ 173+ 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 18+ 173+ 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 7+ 173+ 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 7+ 173+ 17+ , srcInfoPoints = []+ }+ "searchable"))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 20+ 173+ 48+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 20+ 173+ 31+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 20+ 173+ 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 20+ 173+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 20+ 173+ 26+ , srcInfoPoints = []+ }+ "is_dir")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 27+ 173+ 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 27+ 173+ 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 27+ 173+ 29+ , srcInfoPoints = []+ }+ "/=")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 30+ 173+ 31+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 30+ 173+ 31+ , srcInfoPoints = []+ }+ 0+ "0")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 32+ 173+ 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 32+ 173+ 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 32+ 173+ 34+ , srcInfoPoints = []+ }+ "&&")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 35+ 173+ 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 35+ 173+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 35+ 173+ 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 35+ 173+ 43+ , srcInfoPoints = []+ }+ "usr_exec")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 44+ 173+ 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 44+ 173+ 46+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 44+ 173+ 46+ , srcInfoPoints = []+ }+ "/=")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 47+ 173+ 48+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 173+ 47+ 173+ 48+ , srcInfoPoints = []+ }+ 0+ "0"))))+ ])))+ ])))+ ])))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 1 189 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 189 16 189 18 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 1 189 15+ , srcInfoPoints = []+ }+ "setPermissions"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 19 189 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 189 28 189 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 19 189 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 19 189 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 19 189 27+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 31 189 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 189 43 189 45 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 31 189 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 31 189 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 31 189 42+ , srcInfoPoints = []+ }+ "Permissions")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 46 189 51+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 46 189 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 46 189 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 46 189 48+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 49 189 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 189 49 189 50+ , SrcSpan "tests/examples/Directory.hs" 189 50 189 51+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 49 189 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 189 49 189 50+ , SrcSpan "tests/examples/Directory.hs" 189 50 189 51+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 189 49 189 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 189 49 189 50+ , SrcSpan "tests/examples/Directory.hs" 189 50 189 51+ ]+ }))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 1 203 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 200 2 200 7 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 1 203 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 200 2 200 7 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 1 190 15+ , srcInfoPoints = []+ }+ "setPermissions")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 16 190 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 16 190 20+ , srcInfoPoints = []+ }+ "name")+ , PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 21 190 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 190 21 190 22+ , SrcSpan "tests/examples/Directory.hs" 190 41 190 42+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 22 190 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 22 190 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 22 190 33+ , srcInfoPoints = []+ }+ "Permissions"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 34 190 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 34 190 35+ , srcInfoPoints = []+ }+ "r")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 36 190 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 36 190 37+ , srcInfoPoints = []+ }+ "w")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 38 190 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 38 190 39+ , srcInfoPoints = []+ }+ "e")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 40 190 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 40 190 41+ , srcInfoPoints = []+ }+ "s")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 43 199 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 190 43 190 44 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 190 45 199 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 190 45 190 47+ , SrcSpan "tests/examples/Directory.hs" 191 3 191 3+ , SrcSpan "tests/examples/Directory.hs" 200 2 200 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 191 3 199 28+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 191 3 199 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 191 3 191 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 3 191 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 3 191 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 3 191 14+ , srcInfoPoints = []+ }+ "allocaBytes")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 15 191 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 15 191 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 15 191 26+ , srcInfoPoints = []+ }+ "sizeof_stat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 191 27 191 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 27 191 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 27 191 28+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 191 29 199 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 191 29 191 30+ , SrcSpan "tests/examples/Directory.hs" 191 38 191 40+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 31 191 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 31 191 37+ , srcInfoPoints = []+ }+ "p_stat")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 191 41 199 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 191 41 191 43+ , SrcSpan "tests/examples/Directory.hs" 192 3 192 3+ , SrcSpan "tests/examples/Directory.hs" 192 3 192 3+ , SrcSpan "tests/examples/Directory.hs" 200 2 200 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 192 3 199 28+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 192 3 199 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 192 3 192 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 192 3 192 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 192 3 192 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 192+ 3+ 192+ 15+ , srcInfoPoints = []+ }+ "withFilePath")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 192 16 192 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 192 16 192 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 192+ 16+ 192+ 20+ , srcInfoPoints = []+ }+ "name"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 192 21 192 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 192 21 192 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 192 21 192 22+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 192 23 199 28+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 192 23 192 24+ , SrcSpan+ "tests/examples/Directory.hs" 192 31 192 33+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 192 24 192 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 192+ 24+ 192+ 30+ , srcInfoPoints = []+ }+ "p_name")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 192 34 199 28+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 192 34 192 36+ , SrcSpan+ "tests/examples/Directory.hs" 193 5 193 5+ , SrcSpan+ "tests/examples/Directory.hs" 200 2 200 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 193 5 199 28+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 5+ 199+ 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 5+ 193+ 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 5+ 193+ 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 5+ 193+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 5+ 193+ 24+ , srcInfoPoints = []+ }+ "throwErrnoIfMinus1_")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 25+ 193+ 41+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 25+ 193+ 41+ , srcInfoPoints = []+ }+ "setPermissions"+ "setPermissions")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 42+ 193+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 42+ 193+ 43+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 42+ 193+ 43+ , srcInfoPoints = []+ }+ "$")))+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 44+ 199+ 28+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 193+ 44+ 193+ 46+ , SrcSpan+ "tests/examples/Directory.hs"+ 194+ 7+ 194+ 7+ , SrcSpan+ "tests/examples/Directory.hs"+ 195+ 7+ 195+ 7+ , SrcSpan+ "tests/examples/Directory.hs"+ 196+ 7+ 196+ 7+ , SrcSpan+ "tests/examples/Directory.hs"+ 197+ 7+ 197+ 7+ , SrcSpan+ "tests/examples/Directory.hs"+ 198+ 7+ 198+ 7+ , SrcSpan+ "tests/examples/Directory.hs"+ 199+ 7+ 199+ 7+ , SrcSpan+ "tests/examples/Directory.hs"+ 200+ 2+ 200+ 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 7+ 194+ 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 7+ 194+ 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 7+ 194+ 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 7+ 194+ 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 7+ 194+ 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 7+ 194+ 13+ , srcInfoPoints = []+ }+ "c_stat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 14+ 194+ 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 14+ 194+ 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 14+ 194+ 20+ , srcInfoPoints = []+ }+ "p_name"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 21+ 194+ 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 21+ 194+ 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 194+ 21+ 194+ 27+ , srcInfoPoints = []+ }+ "p_stat"))))+ , Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 7+ 195+ 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 12+ 195+ 14+ ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 7+ 195+ 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 7+ 195+ 11+ , srcInfoPoints = []+ }+ "mode"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 15+ 195+ 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 15+ 195+ 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 15+ 195+ 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 15+ 195+ 22+ , srcInfoPoints = []+ }+ "st_mode")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 23+ 195+ 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 23+ 195+ 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 195+ 23+ 195+ 29+ , srcInfoPoints = []+ }+ "p_stat"))))+ , LetStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 7+ 196+ 43+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 7+ 196+ 10+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 11+ 196+ 43+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 11+ 196+ 11+ , SrcSpan+ "tests/examples/Directory.hs"+ 197+ 7+ 197+ 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 11+ 196+ 43+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 11+ 196+ 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 11+ 196+ 16+ , srcInfoPoints = []+ }+ "mode1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 17+ 196+ 43+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 17+ 196+ 18+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 19+ 196+ 43+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 19+ 196+ 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 19+ 196+ 30+ , srcInfoPoints =+ []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 19+ 196+ 28+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 19+ 196+ 28+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 19+ 196+ 28+ , srcInfoPoints =+ []+ }+ "modifyBit")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 29+ 196+ 30+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 29+ 196+ 30+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 29+ 196+ 30+ , srcInfoPoints =+ []+ }+ "r"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 31+ 196+ 35+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 31+ 196+ 35+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 31+ 196+ 35+ , srcInfoPoints =+ []+ }+ "mode"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 36+ 196+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 36+ 196+ 43+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 196+ 36+ 196+ 43+ , srcInfoPoints =+ []+ }+ "s_IRUSR")))))+ Nothing+ ])+ , LetStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 7+ 197+ 44+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 7+ 197+ 10+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 11+ 197+ 44+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 11+ 197+ 11+ , SrcSpan+ "tests/examples/Directory.hs"+ 198+ 7+ 198+ 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 11+ 197+ 44+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 11+ 197+ 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 11+ 197+ 16+ , srcInfoPoints = []+ }+ "mode2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 17+ 197+ 44+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 17+ 197+ 18+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 19+ 197+ 44+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 19+ 197+ 36+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 19+ 197+ 30+ , srcInfoPoints =+ []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 19+ 197+ 28+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 19+ 197+ 28+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 19+ 197+ 28+ , srcInfoPoints =+ []+ }+ "modifyBit")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 29+ 197+ 30+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 29+ 197+ 30+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 29+ 197+ 30+ , srcInfoPoints =+ []+ }+ "w"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 31+ 197+ 36+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 31+ 197+ 36+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 31+ 197+ 36+ , srcInfoPoints =+ []+ }+ "mode1"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 37+ 197+ 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 37+ 197+ 44+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 197+ 37+ 197+ 44+ , srcInfoPoints =+ []+ }+ "s_IWUSR")))))+ Nothing+ ])+ , LetStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 7+ 198+ 51+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 7+ 198+ 10+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 11+ 198+ 51+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 11+ 198+ 11+ , SrcSpan+ "tests/examples/Directory.hs"+ 199+ 7+ 199+ 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 11+ 198+ 51+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 11+ 198+ 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 11+ 198+ 16+ , srcInfoPoints = []+ }+ "mode3"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 17+ 198+ 51+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 17+ 198+ 18+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 19+ 198+ 51+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 19+ 198+ 43+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 19+ 198+ 37+ , srcInfoPoints =+ []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 19+ 198+ 28+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 19+ 198+ 28+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 19+ 198+ 28+ , srcInfoPoints =+ []+ }+ "modifyBit")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 29+ 198+ 37+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 29+ 198+ 30+ , SrcSpan+ "tests/examples/Directory.hs"+ 198+ 36+ 198+ 37+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 30+ 198+ 36+ , srcInfoPoints =+ []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 30+ 198+ 31+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 30+ 198+ 31+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 30+ 198+ 31+ , srcInfoPoints =+ []+ }+ "e")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 32+ 198+ 34+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 32+ 198+ 34+ , srcInfoPoints =+ []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 32+ 198+ 34+ , srcInfoPoints =+ []+ }+ "||")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 35+ 198+ 36+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 35+ 198+ 36+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 35+ 198+ 36+ , srcInfoPoints =+ []+ }+ "s"))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 38+ 198+ 43+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 38+ 198+ 43+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 38+ 198+ 43+ , srcInfoPoints =+ []+ }+ "mode2"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 44+ 198+ 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 44+ 198+ 51+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 198+ 44+ 198+ 51+ , srcInfoPoints =+ []+ }+ "s_IXUSR")))))+ Nothing+ ])+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 7+ 199+ 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 7+ 199+ 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 7+ 199+ 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 7+ 199+ 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 7+ 199+ 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 7+ 199+ 15+ , srcInfoPoints = []+ }+ "c_wchmod")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 16+ 199+ 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 16+ 199+ 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 16+ 199+ 22+ , srcInfoPoints = []+ }+ "p_name"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 23+ 199+ 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 23+ 199+ 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 199+ 23+ 199+ 28+ , srcInfoPoints = []+ }+ "mode3"))))+ ]))+ ])))+ ])))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 201 4 203 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 201 4 201 4+ , SrcSpan "tests/examples/Directory.hs" 202 4 202 4+ , SrcSpan "tests/examples/Directory.hs" 203 4 203 4+ , SrcSpan "tests/examples/Directory.hs" 205 1 205 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 201 4 201 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 201 14 201 16 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 201 4 201 13+ , srcInfoPoints = []+ }+ "modifyBit"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 201 17 201 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 201 22 201 24 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 201 17 201 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 17 201 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 17 201 21+ , srcInfoPoints = []+ }+ "Bool")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 201 25 201 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 201 31 201 33 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 25 201 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 25 201 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 25 201 30+ , srcInfoPoints = []+ }+ "CMode")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 34 201 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 201 40 201 42 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 34 201 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 34 201 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 34 201 39+ , srcInfoPoints = []+ }+ "CMode")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 43 201 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 43 201 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 201 43 201 48+ , srcInfoPoints = []+ }+ "CMode"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 202 4 203 33+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 202 4 202 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 202 4 202 13+ , srcInfoPoints = []+ }+ "modifyBit")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 14 202 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 14 202 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 14 202 19+ , srcInfoPoints = []+ }+ "False"))+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 20 202 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 20 202 21+ , srcInfoPoints = []+ }+ "m")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 22 202 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 22 202 23+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 202 24 202 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 202 24 202 25 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 26 202 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 26 202 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 26 202 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 26 202 27+ , srcInfoPoints = []+ }+ "m")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 28 202 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 28 202 31+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 28 202 31+ , srcInfoPoints = []+ }+ ".&.")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 32 202 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 202 32 202 33+ , SrcSpan "tests/examples/Directory.hs" 202 45 202 46+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 33 202 45+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 33 202 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 202 33 202 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 202 33 202 43+ , srcInfoPoints = []+ }+ "complement")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 202 44 202 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 202 44 202 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 202 44 202 45+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 203 4 203 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 203 4 203 13+ , srcInfoPoints = []+ }+ "modifyBit")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 14 203 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 14 203 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 14 203 18+ , srcInfoPoints = []+ }+ "True"))+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 20 203 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 20 203 21+ , srcInfoPoints = []+ }+ "m")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 22 203 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 22 203 23+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 203 24 203 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 203 24 203 25 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 26 203 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 26 203 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 26 203 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 26 203 27+ , srcInfoPoints = []+ }+ "m")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 28 203 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 28 203 31+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 28 203 31+ , srcInfoPoints = []+ }+ ".|.")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 32 203 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 32 203 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 203 32 203 33+ , srcInfoPoints = []+ }+ "b")))))+ Nothing+ ]+ ]))+ ]+ , ForImp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 205 1 206 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 205 1 205 8+ , SrcSpan "tests/examples/Directory.hs" 205 9 205 15+ , SrcSpan "tests/examples/Directory.hs" 205 29 205 38+ , SrcSpan "tests/examples/Directory.hs" 206 13 206 15+ ]+ }+ (CCall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 205 16 205 21+ , srcInfoPoints = []+ })+ (Just+ (PlayRisky+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 205 22 205 28+ , srcInfoPoints = []+ }))+ (Just "_wchmod")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 4 206 12+ , srcInfoPoints = []+ }+ "c_wchmod")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 16 206 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 206 25 206 27 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 16 206 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 16 206 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 16 206 24+ , srcInfoPoints = []+ }+ "CWString")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 28 206 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 206 34 206 36 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 28 206 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 28 206 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 28 206 33+ , srcInfoPoints = []+ }+ "CMode")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 37 206 44+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 37 206 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 37 206 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 37 206 39+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 40 206 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 40 206 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 206 40 206 44+ , srcInfoPoints = []+ }+ "CInt"))))))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 1 208 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 208 17 208 19 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 1 208 16+ , srcInfoPoints = []+ }+ "copyPermissions"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 20 208 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 208 29 208 31 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 20 208 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 20 208 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 20 208 28+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 32 208 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 208 41 208 43 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 32 208 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 32 208 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 32 208 40+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 44 208 49+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 44 208 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 44 208 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 44 208 46+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 47 208 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 208 47 208 48+ , SrcSpan "tests/examples/Directory.hs" 208 48 208 49+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 47 208 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 208 47 208 48+ , SrcSpan "tests/examples/Directory.hs" 208 48 208 49+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 208 47 208 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 208 47 208 48+ , SrcSpan "tests/examples/Directory.hs" 208 48 208 49+ ]+ }))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 209 1 215 65+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 209 1 215 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 209 1 209 16+ , srcInfoPoints = []+ }+ "copyPermissions")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 209 17 209 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 209 17 209 23+ , srcInfoPoints = []+ }+ "source")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 209 24 209 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 209 24 209 28+ , srcInfoPoints = []+ }+ "dest")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 209 29 215 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 209 29 209 30 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 209 31 215 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 209 31 209 33+ , SrcSpan "tests/examples/Directory.hs" 210 3 210 3+ , SrcSpan "tests/examples/Directory.hs" 257 1 257 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 210 3 215 65+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 210 3 215 65+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 210 3 210 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 3 210 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 3 210 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 3 210 14+ , srcInfoPoints = []+ }+ "allocaBytes")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 15 210 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 15 210 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 15 210 26+ , srcInfoPoints = []+ }+ "sizeof_stat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 210 27 210 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 27 210 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 27 210 28+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 210 29 215 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 210 29 210 30+ , SrcSpan "tests/examples/Directory.hs" 210 38 210 40+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 31 210 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 31 210 37+ , srcInfoPoints = []+ }+ "p_stat")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 210 41 215 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 210 41 210 43+ , SrcSpan "tests/examples/Directory.hs" 211 3 211 3+ , SrcSpan "tests/examples/Directory.hs" 211 3 211 3+ , SrcSpan "tests/examples/Directory.hs" 257 1 257 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 211 3 215 65+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 211 3 215 65+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 211 3 211 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 211 3 211 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 211 3 211 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 211+ 3+ 211+ 15+ , srcInfoPoints = []+ }+ "withFilePath")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 211 16 211 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 211 16 211 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 211+ 16+ 211+ 22+ , srcInfoPoints = []+ }+ "source"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 211 23 211 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 211 23 211 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 211 23 211 24+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 211 25 215 65+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 211 25 211 26+ , SrcSpan+ "tests/examples/Directory.hs" 211 35 211 37+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 211 26 211 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 211+ 26+ 211+ 34+ , srcInfoPoints = []+ }+ "p_source")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 211 38 215 65+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 211 38 211 40+ , SrcSpan+ "tests/examples/Directory.hs" 212 3 212 3+ , SrcSpan+ "tests/examples/Directory.hs" 212 3 212 3+ , SrcSpan+ "tests/examples/Directory.hs" 257 1 257 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 212 3 215 65+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 3+ 215+ 65+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 3+ 212+ 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 3+ 212+ 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 3+ 212+ 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 3+ 212+ 15+ , srcInfoPoints = []+ }+ "withFilePath")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 16+ 212+ 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 16+ 212+ 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 16+ 212+ 20+ , srcInfoPoints = []+ }+ "dest"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 21+ 212+ 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 21+ 212+ 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 21+ 212+ 22+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 23+ 215+ 65+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 23+ 212+ 24+ , SrcSpan+ "tests/examples/Directory.hs"+ 212+ 31+ 212+ 33+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 24+ 212+ 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 24+ 212+ 30+ , srcInfoPoints = []+ }+ "p_dest")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 34+ 215+ 65+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 212+ 34+ 212+ 36+ , SrcSpan+ "tests/examples/Directory.hs"+ 213+ 5+ 213+ 5+ , SrcSpan+ "tests/examples/Directory.hs"+ 214+ 5+ 214+ 5+ , SrcSpan+ "tests/examples/Directory.hs"+ 215+ 5+ 215+ 5+ , SrcSpan+ "tests/examples/Directory.hs"+ 257+ 1+ 257+ 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 5+ 213+ 67+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 5+ 213+ 67+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 5+ 213+ 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 5+ 213+ 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 5+ 213+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 5+ 213+ 24+ , srcInfoPoints = []+ }+ "throwErrnoIfMinus1_")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 25+ 213+ 42+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 25+ 213+ 42+ , srcInfoPoints = []+ }+ "copyPermissions"+ "copyPermissions")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 43+ 213+ 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 43+ 213+ 44+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 43+ 213+ 44+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 45+ 213+ 67+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 45+ 213+ 60+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 45+ 213+ 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 45+ 213+ 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 45+ 213+ 51+ , srcInfoPoints =+ []+ }+ "c_stat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 52+ 213+ 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 52+ 213+ 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 52+ 213+ 60+ , srcInfoPoints =+ []+ }+ "p_source"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 61+ 213+ 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 61+ 213+ 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 213+ 61+ 213+ 67+ , srcInfoPoints = []+ }+ "p_stat")))))+ , Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 5+ 214+ 27+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 10+ 214+ 12+ ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 5+ 214+ 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 5+ 214+ 9+ , srcInfoPoints = []+ }+ "mode"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 13+ 214+ 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 13+ 214+ 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 13+ 214+ 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 13+ 214+ 20+ , srcInfoPoints = []+ }+ "st_mode")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 21+ 214+ 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 21+ 214+ 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 214+ 21+ 214+ 27+ , srcInfoPoints = []+ }+ "p_stat"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 5+ 215+ 65+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 5+ 215+ 65+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 5+ 215+ 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 5+ 215+ 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 5+ 215+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 5+ 215+ 24+ , srcInfoPoints = []+ }+ "throwErrnoIfMinus1_")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 25+ 215+ 42+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 25+ 215+ 42+ , srcInfoPoints = []+ }+ "copyPermissions"+ "copyPermissions")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 43+ 215+ 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 43+ 215+ 44+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 43+ 215+ 44+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 45+ 215+ 65+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 45+ 215+ 60+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 45+ 215+ 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 45+ 215+ 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 45+ 215+ 53+ , srcInfoPoints =+ []+ }+ "c_wchmod")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 54+ 215+ 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 54+ 215+ 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 54+ 215+ 60+ , srcInfoPoints =+ []+ }+ "p_dest"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 61+ 215+ 65+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 61+ 215+ 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 215+ 61+ 215+ 65+ , srcInfoPoints = []+ }+ "mode")))))+ ])))+ ])))+ ])))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 1 257 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 257 17 257 19 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 1 257 16+ , srcInfoPoints = []+ }+ "createDirectory"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 20 257 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 257 29 257 31 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 20 257 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 20 257 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 20 257 28+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 32 257 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 32 257 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 32 257 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 32 257 34+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 35 257 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 257 35 257 36+ , SrcSpan "tests/examples/Directory.hs" 257 36 257 37+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 35 257 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 257 35 257 36+ , SrcSpan "tests/examples/Directory.hs" 257 36 257 37+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 257 35 257 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 257 35 257 36+ , SrcSpan "tests/examples/Directory.hs" 257 36 257 37+ ]+ })))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 258 1 259 37+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 258 1 259 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 258 1 258 16+ , srcInfoPoints = []+ }+ "createDirectory")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 258 17 258 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 258 17 258 21+ , srcInfoPoints = []+ }+ "path")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 258 22 259 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 258 22 258 23 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 258 24 259 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 258 24 258 26+ , SrcSpan "tests/examples/Directory.hs" 259 3 259 3+ , SrcSpan "tests/examples/Directory.hs" 264 1 264 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 259 3 259 37+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 259 3 259 37+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 259 3 259 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 259 3 259 24+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 259 3 259 24+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 259 3 259 24+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 259 3 259 24+ , srcInfoPoints = []+ }+ "createDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 259 25 259 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 259 25 259 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 259 25 259 29+ , srcInfoPoints = []+ }+ "path"))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 259 30 259 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 259 30 259 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 259 30 259 37+ , srcInfoPoints = []+ }+ "Nothing"))))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 264 1 266 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 264 26 264 28 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 264 1 264 25+ , srcInfoPoints = []+ }+ "createDirectoryIfMissing"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 264 29 266 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 265 18 265 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 264 29 264 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 264 29 264 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 264 29 264 33+ , srcInfoPoints = []+ }+ "Bool")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 265 21 266 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 266 18 266 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 265 21 265 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 265 21 265 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 265 21 265 29+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 266 21 266 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 266 21 266 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 266 21 266 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 266 21 266 23+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 266 24 266 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 266 24 266 25+ , SrcSpan "tests/examples/Directory.hs" 266 25 266 26+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 266 24 266 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 266 24 266 25+ , SrcSpan "tests/examples/Directory.hs" 266 25 266 26+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 266 24 266 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 266 24 266 25+ , SrcSpan "tests/examples/Directory.hs" 266 25 266 26+ ]+ }))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 267 1 300 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 270 3 270 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 267 1 300 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 270 3 270 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 267 1 267 25+ , srcInfoPoints = []+ }+ "createDirectoryIfMissing")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 267 26 267 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 267 26 267 40+ , srcInfoPoints = []+ }+ "create_parents")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 267 41 267 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 267 41 267 46+ , srcInfoPoints = []+ }+ "path0")+ ]+ (GuardedRhss+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 268 3 269 57+ , srcInfoPoints = []+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 268 3 268 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 268 3 268 4+ , SrcSpan "tests/examples/Directory.hs" 268 20 268 21+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 268 5 268 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 268 5 268 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 268 5 268 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 268 5 268 19+ , srcInfoPoints = []+ }+ "create_parents")))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 268 22 268 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 268 22 268 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 268 22 268 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 268 22 268 32+ , srcInfoPoints = []+ }+ "createDirs")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 268 33 268 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 268 33 268 34+ , SrcSpan "tests/examples/Directory.hs" 268 47 268 48+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 268 34 268 47+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 268 34 268 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 268 34 268 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 268 34 268 41+ , srcInfoPoints = []+ }+ "parents")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 268 42 268 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 268 42 268 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 268 42 268 47+ , srcInfoPoints = []+ }+ "path0"))))))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 269 3 269 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 269 3 269 4+ , SrcSpan "tests/examples/Directory.hs" 269 20 269 21+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 269 5 269 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 269 5 269 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 269 5 269 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 5 269 14+ , srcInfoPoints = []+ }+ "otherwise")))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 269 22 269 57+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 269 22 269 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 269 22 269 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 22 269 32+ , srcInfoPoints = []+ }+ "createDirs")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 269 33 269 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 269 33 269 34+ , SrcSpan "tests/examples/Directory.hs" 269 56 269 57+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 269 34 269 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 34 269 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 34 269 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 34 269 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 34 269 38+ , srcInfoPoints = []+ }+ "take")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 39 269 40+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 39 269 40+ , srcInfoPoints = []+ }+ 1+ "1")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 41 269 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 269 41 269 42+ , SrcSpan "tests/examples/Directory.hs" 269 55 269 56+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 42 269 55+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 42 269 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 42 269 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 269 42 269 49+ , srcInfoPoints = []+ }+ "parents")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 50 269 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 269 50 269 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 269 50 269 55+ , srcInfoPoints = []+ }+ "path0"))))))))+ ])+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 271 5 300 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 271 5 271 5+ , SrcSpan "tests/examples/Directory.hs" 273 5 273 5+ , SrcSpan "tests/examples/Directory.hs" 274 5 274 5+ , SrcSpan "tests/examples/Directory.hs" 275 5 275 5+ , SrcSpan "tests/examples/Directory.hs" 280 5 280 5+ , SrcSpan "tests/examples/Directory.hs" 281 5 281 5+ , SrcSpan "tests/examples/Directory.hs" 343 1 343 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 271 5 271 68+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 271 5 271 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 271 5 271 12+ , srcInfoPoints = []+ }+ "parents"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 271 13 271 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 271 13 271 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 271 15 271 68+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 15 271 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 15 271 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 15 271 22+ , srcInfoPoints = []+ }+ "reverse")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 23 271 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 23 271 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 23 271 24+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 25 271 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 25 271 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 25 271 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 25 271 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 271 25 271 31+ , srcInfoPoints = []+ }+ "scanl1")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 32 271 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 271 32 271 33+ , SrcSpan "tests/examples/Directory.hs" 271 33 271 36+ , SrcSpan "tests/examples/Directory.hs" 271 36 271 37+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 32 271 37+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 271 32 271 33+ , SrcSpan+ "tests/examples/Directory.hs" 271 33 271 36+ , SrcSpan+ "tests/examples/Directory.hs" 271 36 271 37+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 271 33 271 36+ , srcInfoPoints = []+ }+ "</>"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 38 271 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 38 271 39+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 38 271 39+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 40 271 68+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 40 271 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 40 271 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 271 40 271 56+ , srcInfoPoints = []+ }+ "splitDirectories")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 57 271 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 57 271 58+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 271 57 271 58+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 59 271 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 271 59 271 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 271 59 271 68+ , srcInfoPoints = []+ }+ "normalise")))))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 273 5 278 28+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 273 5 273 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 273 5 273 15+ , srcInfoPoints = []+ }+ "createDirs")+ [ PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 273 16 273 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 273 16 273 17+ , SrcSpan "tests/examples/Directory.hs" 273 17 273 18+ ]+ }+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 273 27 273 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 273 27 273 28 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 273 29 273 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 273 29 273 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 273 29 273 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 273 29 273 35+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 273 36 273 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 273 36 273 37+ , SrcSpan "tests/examples/Directory.hs" 273 37 273 38+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 273 36 273 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 273 36 273 37+ , SrcSpan "tests/examples/Directory.hs" 273 37 273 38+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 273 36 273 38+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 273 36 273 37+ , SrcSpan+ "tests/examples/Directory.hs" 273 37 273 38+ ]+ })))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 274 5 274 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 274 5 274 15+ , srcInfoPoints = []+ }+ "createDirs")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 16 274 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 274 16 274 17+ , SrcSpan "tests/examples/Directory.hs" 274 23 274 24+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 17 274 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 17 274 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 17 274 20+ , srcInfoPoints = []+ }+ "dir"))+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 20 274 21+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 20 274 21+ , srcInfoPoints = []+ }))+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 21 274 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 274 21 274 22+ , SrcSpan "tests/examples/Directory.hs" 274 22 274 23+ ]+ }+ []))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 274 27 274 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 274 27 274 28 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 29 274 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 29 274 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 29 274 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 29 274 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 274 29 274 38+ , srcInfoPoints = []+ }+ "createDir")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 39 274 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 39 274 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 274 39 274 42+ , srcInfoPoints = []+ }+ "dir"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 43 274 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 43 274 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 274 43 274 48+ , srcInfoPoints = []+ }+ "throw")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 275 5 278 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 275 5 275 15+ , srcInfoPoints = []+ }+ "createDirs")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 275 16 275 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 275 16 275 17+ , SrcSpan "tests/examples/Directory.hs" 275 25 275 26+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 275 17 275 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 275 17 275 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 275 17 275 20+ , srcInfoPoints = []+ }+ "dir"))+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 275 20 275 21+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 275 20 275 21+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 275 21 275 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 275 21 275 25+ , srcInfoPoints = []+ }+ "dirs")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 275 27 278 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 275 27 275 28 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 7 278 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 7 276 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 7 276 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 7 276 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 276 7 276 16+ , srcInfoPoints = []+ }+ "createDir")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 17 276 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 17 276 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 276 17 276 20+ , srcInfoPoints = []+ }+ "dir"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 21 276 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 21 276 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 21 276 22+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 23 278 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 276 23 276 24+ , SrcSpan "tests/examples/Directory.hs" 276 26 276 28+ ]+ }+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 24 276 25+ , srcInfoPoints = []+ }+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 276 29 278 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 276 29 276 31+ , SrcSpan "tests/examples/Directory.hs" 277 9 277 9+ , SrcSpan "tests/examples/Directory.hs" 278 9 278 9+ , SrcSpan "tests/examples/Directory.hs" 280 5 280 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 277 9 277 24+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 277 9 277 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 277 9 277 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 277+ 9+ 277+ 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 277+ 9+ 277+ 19+ , srcInfoPoints = []+ }+ "createDirs")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 277+ 20+ 277+ 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 277+ 20+ 277+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 277+ 20+ 277+ 24+ , srcInfoPoints = []+ }+ "dirs"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 278 9 278 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 278 9 278 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 278 9 278 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 278+ 9+ 278+ 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 278+ 9+ 278+ 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 278+ 9+ 278+ 18+ , srcInfoPoints = []+ }+ "createDir")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 278+ 19+ 278+ 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 278+ 19+ 278+ 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 278+ 19+ 278+ 22+ , srcInfoPoints = []+ }+ "dir"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 278+ 23+ 278+ 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 278+ 23+ 278+ 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 278+ 23+ 278+ 28+ , srcInfoPoints = []+ }+ "throw"))))+ ]))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 280 5 280 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 280 15 280 17 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 280 5 280 14+ , srcInfoPoints = []+ }+ "createDir"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 280 18 280 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 280 27 280 29 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 280 18 280 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 18 280 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 18 280 26+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 280 30 280 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 280 53 280 55 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 30 280 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 280 30 280 31+ , SrcSpan "tests/examples/Directory.hs" 280 51 280 52+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 31 280 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 280 43 280 45 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 31 280 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 31 280 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 280 31 280 42+ , srcInfoPoints = []+ }+ "IOException")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 46 280 51+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 46 280 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 280 46 280 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 280 46 280 48+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 49 280 51+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 280 49 280 50+ , SrcSpan+ "tests/examples/Directory.hs" 280 50 280 51+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 280 49 280 51+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 280 49 280 50+ , SrcSpan+ "tests/examples/Directory.hs" 280 50 280 51+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 280 49 280 51+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 280+ 49+ 280+ 50+ , SrcSpan+ "tests/examples/Directory.hs"+ 280+ 50+ 280+ 51+ ]+ }))))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 56 280 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 56 280 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 56 280 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 56 280 58+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 59 280 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 280 59 280 60+ , SrcSpan "tests/examples/Directory.hs" 280 60 280 61+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 59 280 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 280 59 280 60+ , SrcSpan "tests/examples/Directory.hs" 280 60 280 61+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 280 59 280 61+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 280 59 280 60+ , SrcSpan+ "tests/examples/Directory.hs" 280 60 280 61+ ]+ }))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 281 5 300 46+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 281 5 300 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 281 5 281 14+ , srcInfoPoints = []+ }+ "createDir")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 281 15 281 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 281 15 281 18+ , srcInfoPoints = []+ }+ "dir")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 281 19 281 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 281 19 281 34+ , srcInfoPoints = []+ }+ "notExistHandler")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 281 35 300 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 281 35 281 36 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 281 37 300 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 281 37 281 39+ , SrcSpan "tests/examples/Directory.hs" 282 7 282 7+ , SrcSpan "tests/examples/Directory.hs" 283 7 283 7+ , SrcSpan "tests/examples/Directory.hs" 343 1 343 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 282 7 282 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 282 9 282 11 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 282 7 282 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 282 7 282 8+ , srcInfoPoints = []+ }+ "r"))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 282 12 282 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 282 12 282 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 282 12 282 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 282+ 12+ 282+ 15+ , srcInfoPoints = []+ }+ "try")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 282 16 282 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 282 16 282 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 282+ 16+ 282+ 17+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 282 18 282 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 282 18 282 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 282+ 18+ 282+ 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 282+ 18+ 282+ 33+ , srcInfoPoints = []+ }+ "createDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 282 34 282 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 282+ 34+ 282+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 282+ 34+ 282+ 37+ , srcInfoPoints = []+ }+ "dir")))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 283 7 300 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 283 7 283 11+ , SrcSpan "tests/examples/Directory.hs" 283 41 283 43+ , SrcSpan "tests/examples/Directory.hs" 284 9 284 9+ , SrcSpan "tests/examples/Directory.hs" 285 9 285 9+ , SrcSpan "tests/examples/Directory.hs" 343 1 343 0+ ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 283 7 300 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 283 7 283 11+ , SrcSpan "tests/examples/Directory.hs" 283 41 283 43+ , SrcSpan "tests/examples/Directory.hs" 284 9 284 9+ , SrcSpan "tests/examples/Directory.hs" 285 9 285 9+ , SrcSpan "tests/examples/Directory.hs" 343 1 343 0+ ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 283 12 283 40+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 283 12 283 13+ , SrcSpan+ "tests/examples/Directory.hs" 283 39 283 40+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 283 13 283 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 283 15 283 17+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 13+ 283+ 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 13+ 283+ 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 13+ 283+ 14+ , srcInfoPoints = []+ }+ "r")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 18+ 283+ 39+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 18+ 283+ 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 18+ 283+ 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 18+ 283+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 18+ 283+ 24+ , srcInfoPoints = []+ }+ "Either")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 25+ 283+ 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 25+ 283+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 25+ 283+ 36+ , srcInfoPoints = []+ }+ "IOException"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 37+ 283+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 37+ 283+ 38+ , SrcSpan+ "tests/examples/Directory.hs"+ 283+ 38+ 283+ 39+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 37+ 283+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 37+ 283+ 38+ , SrcSpan+ "tests/examples/Directory.hs"+ 283+ 38+ 283+ 39+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 37+ 283+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 283+ 37+ 283+ 38+ , SrcSpan+ "tests/examples/Directory.hs"+ 283+ 38+ 283+ 39+ ]+ }))))))+ [ Alt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 284 9 284 48+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 284 9 284 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 9+ 284+ 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 9+ 284+ 14+ , srcInfoPoints = []+ }+ "Right"))+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 15+ 284+ 17+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 15+ 284+ 16+ , SrcSpan+ "tests/examples/Directory.hs"+ 284+ 16+ 284+ 17+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 15+ 284+ 17+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 15+ 284+ 16+ , SrcSpan+ "tests/examples/Directory.hs"+ 284+ 16+ 284+ 17+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 15+ 284+ 17+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 15+ 284+ 16+ , SrcSpan+ "tests/examples/Directory.hs"+ 284+ 16+ 284+ 17+ ]+ }))+ []+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 284 36 284 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 36+ 284+ 38+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 39+ 284+ 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 39+ 284+ 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 39+ 284+ 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 39+ 284+ 45+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 46+ 284+ 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 46+ 284+ 47+ , SrcSpan+ "tests/examples/Directory.hs"+ 284+ 47+ 284+ 48+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 46+ 284+ 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 46+ 284+ 47+ , SrcSpan+ "tests/examples/Directory.hs"+ 284+ 47+ 284+ 48+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 46+ 284+ 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 284+ 46+ 284+ 47+ , SrcSpan+ "tests/examples/Directory.hs"+ 284+ 47+ 284+ 48+ ]+ })))))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 285 9 300 46+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 285 9 285 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 285+ 9+ 285+ 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 285+ 9+ 285+ 13+ , srcInfoPoints = []+ }+ "Left"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 285+ 15+ 285+ 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 285+ 15+ 285+ 16+ , srcInfoPoints = []+ }+ "e")+ ])+ (GuardedRhss+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 286 11 300 46+ , srcInfoPoints = []+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 11+ 286+ 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 11+ 286+ 12+ , SrcSpan+ "tests/examples/Directory.hs"+ 286+ 36+ 286+ 38+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 13+ 286+ 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 13+ 286+ 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 13+ 286+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 13+ 286+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 13+ 286+ 32+ , srcInfoPoints = []+ }+ "isDoesNotExistError")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 34+ 286+ 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 34+ 286+ 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 34+ 286+ 35+ , srcInfoPoints = []+ }+ "e"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 39+ 286+ 56+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 39+ 286+ 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 39+ 286+ 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 39+ 286+ 54+ , srcInfoPoints = []+ }+ "notExistHandler")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 55+ 286+ 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 55+ 286+ 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 286+ 55+ 286+ 56+ , srcInfoPoints = []+ }+ "e"))))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 11+ 299+ 68+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 11+ 294+ 12+ , SrcSpan+ "tests/examples/Directory.hs"+ 294+ 36+ 294+ 38+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 13+ 294+ 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 13+ 294+ 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 13+ 294+ 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 13+ 294+ 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 13+ 294+ 33+ , srcInfoPoints = []+ }+ "isAlreadyExistsError")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 34+ 294+ 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 34+ 294+ 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 34+ 294+ 35+ , srcInfoPoints = []+ }+ "e"))))+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 39+ 299+ 68+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 39+ 299+ 16+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 39+ 294+ 40+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 15+ 299+ 16+ ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 40+ 298+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 294+ 40+ 294+ 42+ , SrcSpan+ "tests/examples/Directory.hs"+ 295+ 15+ 295+ 15+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 15+ 299+ 15+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 15+ 299+ 15+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 15+ 298+ 39+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 15+ 298+ 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 15+ 295+ 60+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 15+ 295+ 56+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 15+ 295+ 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 15+ 295+ 29+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 15+ 295+ 29+ , srcInfoPoints =+ []+ }+ "withFileStatus")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 30+ 295+ 56+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 30+ 295+ 56+ , srcInfoPoints =+ []+ }+ "createDirectoryIfMissing"+ "createDirectoryIfMissing")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 57+ 295+ 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 57+ 295+ 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 57+ 295+ 60+ , srcInfoPoints =+ []+ }+ "dir"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 61+ 295+ 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 61+ 295+ 62+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 61+ 295+ 62+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 63+ 298+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 63+ 295+ 64+ , SrcSpan+ "tests/examples/Directory.hs"+ 295+ 67+ 295+ 69+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 64+ 295+ 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 64+ 295+ 66+ , srcInfoPoints = []+ }+ "st")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 70+ 298+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 295+ 70+ 295+ 72+ , SrcSpan+ "tests/examples/Directory.hs"+ 296+ 18+ 296+ 18+ , SrcSpan+ "tests/examples/Directory.hs"+ 297+ 18+ 297+ 18+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 15+ 299+ 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 18+ 296+ 41+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 24+ 296+ 26+ ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 18+ 296+ 23+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 18+ 296+ 23+ , srcInfoPoints =+ []+ }+ "isDir"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 27+ 296+ 41+ , srcInfoPoints =+ []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 27+ 296+ 38+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 27+ 296+ 38+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 27+ 296+ 38+ , srcInfoPoints =+ []+ }+ "isDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 39+ 296+ 41+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 39+ 296+ 41+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 296+ 39+ 296+ 41+ , srcInfoPoints =+ []+ }+ "st"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 18+ 298+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 18+ 297+ 20+ , SrcSpan+ "tests/examples/Directory.hs"+ 297+ 27+ 297+ 31+ , SrcSpan+ "tests/examples/Directory.hs"+ 298+ 27+ 298+ 31+ ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 18+ 298+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 18+ 297+ 20+ , SrcSpan+ "tests/examples/Directory.hs"+ 297+ 27+ 297+ 31+ , SrcSpan+ "tests/examples/Directory.hs"+ 298+ 27+ 298+ 31+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 21+ 297+ 26+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 21+ 297+ 26+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 21+ 297+ 26+ , srcInfoPoints =+ []+ }+ "isDir")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 32+ 297+ 41+ , srcInfoPoints =+ []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 32+ 297+ 38+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 32+ 297+ 38+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 32+ 297+ 38+ , srcInfoPoints =+ []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 39+ 297+ 41+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 39+ 297+ 40+ , SrcSpan+ "tests/examples/Directory.hs"+ 297+ 40+ 297+ 41+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 39+ 297+ 41+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 39+ 297+ 40+ , SrcSpan+ "tests/examples/Directory.hs"+ 297+ 40+ 297+ 41+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 39+ 297+ 41+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 297+ 39+ 297+ 40+ , SrcSpan+ "tests/examples/Directory.hs"+ 297+ 40+ 297+ 41+ ]+ }))))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 298+ 32+ 298+ 39+ , srcInfoPoints =+ []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 298+ 32+ 298+ 37+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 298+ 32+ 298+ 37+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 298+ 32+ 298+ 37+ , srcInfoPoints =+ []+ }+ "throw")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 298+ 38+ 298+ 39+ , srcInfoPoints =+ []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 298+ 38+ 298+ 39+ , srcInfoPoints =+ []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 298+ 38+ 298+ 39+ , srcInfoPoints =+ []+ }+ "e")))))+ ])))+ ]))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 17+ 299+ 24+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 17+ 299+ 18+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 18+ 299+ 23+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 23+ 299+ 24+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 17+ 299+ 24+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 17+ 299+ 18+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 18+ 299+ 23+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 23+ 299+ 24+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 18+ 299+ 23+ , srcInfoPoints = []+ }+ "catch")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 25+ 299+ 68+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 25+ 299+ 26+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 67+ 299+ 68+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 26+ 299+ 67+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 44+ 299+ 46+ ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 26+ 299+ 43+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 26+ 299+ 27+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 42+ 299+ 43+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 27+ 299+ 42+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 27+ 299+ 28+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 30+ 299+ 32+ ]+ }+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 28+ 299+ 29+ , srcInfoPoints = []+ }+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 33+ 299+ 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 33+ 299+ 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 33+ 299+ 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 33+ 299+ 39+ , srcInfoPoints =+ []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 40+ 299+ 42+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 40+ 299+ 41+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 41+ 299+ 42+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 40+ 299+ 42+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 40+ 299+ 41+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 41+ 299+ 42+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 40+ 299+ 42+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 40+ 299+ 41+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 41+ 299+ 42+ ]+ }))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 47+ 299+ 67+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 59+ 299+ 61+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 47+ 299+ 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 47+ 299+ 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 47+ 299+ 58+ , srcInfoPoints = []+ }+ "IOException")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 62+ 299+ 67+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 62+ 299+ 64+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 62+ 299+ 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 62+ 299+ 64+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 65+ 299+ 67+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 65+ 299+ 66+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 66+ 299+ 67+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 65+ 299+ 67+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 65+ 299+ 66+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 66+ 299+ 67+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 65+ 299+ 67+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 299+ 65+ 299+ 66+ , SrcSpan+ "tests/examples/Directory.hs"+ 299+ 66+ 299+ 67+ ]+ }))))))))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 11+ 300+ 46+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 11+ 300+ 12+ , SrcSpan+ "tests/examples/Directory.hs"+ 300+ 36+ 300+ 38+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 13+ 300+ 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 13+ 300+ 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 13+ 300+ 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 13+ 300+ 22+ , srcInfoPoints = []+ }+ "otherwise")))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 39+ 300+ 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 39+ 300+ 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 39+ 300+ 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 39+ 300+ 44+ , srcInfoPoints = []+ }+ "throw")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 45+ 300+ 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 45+ 300+ 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 300+ 45+ 300+ 46+ , srcInfoPoints = []+ }+ "e"))))+ ])+ Nothing+ ])+ ]))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 1 343 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 343 17 343 19 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 1 343 16+ , srcInfoPoints = []+ }+ "removeDirectory"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 20 343 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 343 29 343 31 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 20 343 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 20 343 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 20 343 28+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 32 343 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 32 343 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 32 343 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 32 343 34+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 35 343 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 343 35 343 36+ , SrcSpan "tests/examples/Directory.hs" 343 36 343 37+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 35 343 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 343 35 343 36+ , SrcSpan "tests/examples/Directory.hs" 343 36 343 37+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 343 35 343 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 343 35 343 36+ , SrcSpan "tests/examples/Directory.hs" 343 36 343 37+ ]+ })))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 344 1 345 29+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 344 1 345 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 344 1 344 16+ , srcInfoPoints = []+ }+ "removeDirectory")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 344 17 344 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 344 17 344 21+ , srcInfoPoints = []+ }+ "path")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 344 22 345 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 344 22 344 23 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 345 3 345 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 345 3 345 24+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 345 3 345 24+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 345 3 345 24+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 345 3 345 24+ , srcInfoPoints = []+ }+ "removeDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 345 25 345 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 345 25 345 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 345 25 345 29+ , srcInfoPoints = []+ }+ "path")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 1 350 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 350 26 350 28 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 1 350 25+ , srcInfoPoints = []+ }+ "removeDirectoryRecursive"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 29 350 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 350 38 350 40 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 29 350 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 29 350 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 29 350 37+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 41 350 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 41 350 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 41 350 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 41 350 43+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 44 350 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 350 44 350 45+ , SrcSpan "tests/examples/Directory.hs" 350 45 350 46+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 44 350 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 350 44 350 45+ , SrcSpan "tests/examples/Directory.hs" 350 45 350 46+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 350 44 350 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 350 44 350 45+ , SrcSpan "tests/examples/Directory.hs" 350 45 350 46+ ]+ })))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 351 1 363 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 355 3 355 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 351 1 363 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 355 3 355 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 351 1 351 25+ , srcInfoPoints = []+ }+ "removeDirectoryRecursive")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 351 26 351 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 351 26 351 34+ , srcInfoPoints = []+ }+ "startLoc")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 351 35 354 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 351 35 351 36 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 351 37 354 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 351 37 351 39+ , SrcSpan "tests/examples/Directory.hs" 352 3 352 3+ , SrcSpan "tests/examples/Directory.hs" 353 3 353 3+ , SrcSpan "tests/examples/Directory.hs" 354 3 354 3+ , SrcSpan "tests/examples/Directory.hs" 355 3 355 3+ , SrcSpan "tests/examples/Directory.hs" 355 3 355 3+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 352 3 352 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 352 8 352 10 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 352 3 352 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 352 3 352 7+ , srcInfoPoints = []+ }+ "cont"))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 352 11 352 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 352 11 352 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 352 11 352 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 352 11 352 31+ , srcInfoPoints = []+ }+ "getDirectoryContents")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 352 32 352 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 352 32 352 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 352 32 352 40+ , srcInfoPoints = []+ }+ "startLoc"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 353 3 353 69+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 353 3 353 69+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 353 3 353 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 3 353 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 3 353 12+ , srcInfoPoints = []+ }+ "sequence_")))+ (ListComp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 353 13 353 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 353 13 353 14+ , SrcSpan "tests/examples/Directory.hs" 353 34 353 35+ , SrcSpan "tests/examples/Directory.hs" 353 45 353 46+ , SrcSpan "tests/examples/Directory.hs" 353 68 353 69+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 14 353 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 14 353 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 14 353 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 14 353 16+ , srcInfoPoints = []+ }+ "rm")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 17 353 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 353 17 353 18+ , SrcSpan "tests/examples/Directory.hs" 353 32 353 33+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 18 353 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 18 353 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 18 353 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 18 353 26+ , srcInfoPoints = []+ }+ "startLoc")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 27 353 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 27 353 30+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 27 353 30+ , srcInfoPoints = []+ }+ "</>")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 31 353 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 31 353 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 31 353 32+ , srcInfoPoints = []+ }+ "x"))))))+ [ QualStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 36 353 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 353 38 353 40 ]+ }+ (Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 36 353 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 353 38 353 40 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 36 353 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 36 353 37+ , srcInfoPoints = []+ }+ "x"))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 41 353 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 41 353 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 41 353 45+ , srcInfoPoints = []+ }+ "cont"))))+ , QualStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 47 353 68+ , srcInfoPoints = []+ }+ (Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 47 353 68+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 47 353 68+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 47 353 55+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 47 353 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 47 353 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 353+ 47+ 353+ 48+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 49 353 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 49 353 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 353+ 49+ 353+ 51+ , srcInfoPoints = []+ }+ "/=")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 52 353 55+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 52 353 55+ , srcInfoPoints = []+ }+ "."+ ".")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 56 353 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 56 353 58+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 56 353 58+ , srcInfoPoints = []+ }+ "&&")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 353 59 353 68+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 59 353 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 59 353 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 353+ 59+ 353+ 60+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 61 353 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 61 353 63+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 353+ 61+ 353+ 63+ , srcInfoPoints = []+ }+ "/=")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 64 353 68+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 353 64 353 68+ , srcInfoPoints = []+ }+ ".."+ "..")))))+ ]))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 354 3 354 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 354 3 354 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 354 3 354 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 354 3 354 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 354 3 354 18+ , srcInfoPoints = []+ }+ "removeDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 354 19 354 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 354 19 354 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 354 19 354 27+ , srcInfoPoints = []+ }+ "startLoc"))))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 356 5 363 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 356 5 356 5+ , SrcSpan "tests/examples/Directory.hs" 357 5 357 5+ , SrcSpan "tests/examples/Directory.hs" 399 1 399 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 356 5 356 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 356 8 356 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 356 5 356 7+ , srcInfoPoints = []+ }+ "rm"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 356 11 356 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 356 20 356 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 356 11 356 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 356 11 356 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 356 11 356 19+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 356 23 356 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 356 23 356 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 356 23 356 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 356 23 356 25+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 356 26 356 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 356 26 356 27+ , SrcSpan "tests/examples/Directory.hs" 356 27 356 28+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 356 26 356 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 356 26 356 27+ , SrcSpan "tests/examples/Directory.hs" 356 27 356 28+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 356 26 356 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 356 26 356 27+ , SrcSpan "tests/examples/Directory.hs" 356 27 356 28+ ]+ })))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 357 5 363 37+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 357 5 363 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 357 5 357 7+ , srcInfoPoints = []+ }+ "rm")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 357 8 357 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 357 8 357 9+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 357 10 363 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 357 10 357 11 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 357 12 363 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 357 12 357 14+ , SrcSpan "tests/examples/Directory.hs" 357 15 357 15+ , SrcSpan "tests/examples/Directory.hs" 358 15 358 15+ , SrcSpan "tests/examples/Directory.hs" 399 1 399 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 357 15 357 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 357 20 357 22 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 357 15 357 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 357 15 357 19+ , srcInfoPoints = []+ }+ "temp"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 357 23 357 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 357 23 357 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 357 23 357 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 357+ 23+ 357+ 26+ , srcInfoPoints = []+ }+ "try")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 357 27 357 41+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 357 27 357 28+ , SrcSpan+ "tests/examples/Directory.hs" 357 40 357 41+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 357 28 357 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 357+ 28+ 357+ 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 357+ 28+ 357+ 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 357+ 28+ 357+ 38+ , srcInfoPoints = []+ }+ "removeFile")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 357+ 39+ 357+ 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 357+ 39+ 357+ 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 357+ 39+ 357+ 40+ , srcInfoPoints = []+ }+ "f"))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 358 15 363 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 358 15 358 19+ , SrcSpan "tests/examples/Directory.hs" 358 25 358 27+ , SrcSpan "tests/examples/Directory.hs" 359 17 359 17+ , SrcSpan "tests/examples/Directory.hs" 363 17 363 17+ , SrcSpan "tests/examples/Directory.hs" 399 1 399 0+ ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 358 15 363 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 358 15 358 19+ , SrcSpan "tests/examples/Directory.hs" 358 25 358 27+ , SrcSpan "tests/examples/Directory.hs" 359 17 359 17+ , SrcSpan "tests/examples/Directory.hs" 363 17 363 17+ , SrcSpan "tests/examples/Directory.hs" 399 1 399 0+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 358 20 358 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 358 20 358 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 358+ 20+ 358+ 24+ , srcInfoPoints = []+ }+ "temp")))+ [ Alt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 359 17 362 57+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 359 17 359 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 17+ 359+ 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 17+ 359+ 21+ , srcInfoPoints = []+ }+ "Left"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 22+ 359+ 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 22+ 359+ 23+ , srcInfoPoints = []+ }+ "e")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 359 25 362 57+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 25+ 359+ 27+ ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 28+ 362+ 57+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 28+ 359+ 30+ , SrcSpan+ "tests/examples/Directory.hs"+ 359+ 31+ 359+ 31+ , SrcSpan+ "tests/examples/Directory.hs"+ 361+ 31+ 361+ 31+ , SrcSpan+ "tests/examples/Directory.hs"+ 362+ 31+ 362+ 31+ , SrcSpan+ "tests/examples/Directory.hs"+ 363+ 17+ 363+ 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 31+ 359+ 60+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 37+ 359+ 39+ ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 31+ 359+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 31+ 359+ 36+ , srcInfoPoints = []+ }+ "isDir"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 40+ 359+ 60+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 40+ 359+ 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 40+ 359+ 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 40+ 359+ 58+ , srcInfoPoints = []+ }+ "doesDirectoryExist")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 59+ 359+ 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 59+ 359+ 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 359+ 59+ 359+ 60+ , srcInfoPoints = []+ }+ "f"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 31+ 361+ 72+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 31+ 361+ 72+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 31+ 361+ 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 31+ 361+ 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 31+ 361+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 31+ 361+ 37+ , srcInfoPoints = []+ }+ "unless")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 38+ 361+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 38+ 361+ 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 38+ 361+ 43+ , srcInfoPoints = []+ }+ "isDir"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 44+ 361+ 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 44+ 361+ 45+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 44+ 361+ 45+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 46+ 361+ 72+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 46+ 361+ 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 46+ 361+ 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 46+ 361+ 51+ , srcInfoPoints = []+ }+ "throw")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 52+ 361+ 72+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 52+ 361+ 53+ , SrcSpan+ "tests/examples/Directory.hs"+ 361+ 71+ 361+ 72+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 53+ 361+ 71+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 55+ 361+ 57+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 53+ 361+ 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 53+ 361+ 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 53+ 361+ 54+ , srcInfoPoints = []+ }+ "e")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 58+ 361+ 71+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 58+ 361+ 71+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 361+ 58+ 361+ 71+ , srcInfoPoints = []+ }+ "SomeException")))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 362+ 31+ 362+ 57+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 362+ 31+ 362+ 57+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 362+ 31+ 362+ 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 362+ 31+ 362+ 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 362+ 31+ 362+ 55+ , srcInfoPoints = []+ }+ "removeDirectoryRecursive")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 362+ 56+ 362+ 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 362+ 56+ 362+ 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 362+ 56+ 362+ 57+ , srcInfoPoints = []+ }+ "f"))))+ ]))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 363 17 363 37+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 363 17 363 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 17+ 363+ 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 17+ 363+ 22+ , srcInfoPoints = []+ }+ "Right"))+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 23+ 363+ 24+ , srcInfoPoints = []+ }+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 363 25 363 37+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 25+ 363+ 27+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 28+ 363+ 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 28+ 363+ 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 28+ 363+ 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 28+ 363+ 34+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 35+ 363+ 37+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 35+ 363+ 36+ , SrcSpan+ "tests/examples/Directory.hs"+ 363+ 36+ 363+ 37+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 35+ 363+ 37+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 35+ 363+ 36+ , SrcSpan+ "tests/examples/Directory.hs"+ 363+ 36+ 363+ 37+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 35+ 363+ 37+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 363+ 35+ 363+ 36+ , SrcSpan+ "tests/examples/Directory.hs"+ 363+ 36+ 363+ 37+ ]+ })))))+ Nothing+ ])+ ]))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 1 399 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 399 12 399 14 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 1 399 11+ , srcInfoPoints = []+ }+ "removeFile"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 15 399 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 399 24 399 26 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 15 399 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 15 399 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 15 399 23+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 27 399 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 27 399 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 27 399 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 27 399 29+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 30 399 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 399 30 399 31+ , SrcSpan "tests/examples/Directory.hs" 399 31 399 32+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 30 399 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 399 30 399 31+ , SrcSpan "tests/examples/Directory.hs" 399 31 399 32+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 399 30 399 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 399 30 399 31+ , SrcSpan "tests/examples/Directory.hs" 399 31 399 32+ ]+ })))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 400 1 401 24+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 400 1 401 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 400 1 400 11+ , srcInfoPoints = []+ }+ "removeFile")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 400 12 400 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 400 12 400 16+ , srcInfoPoints = []+ }+ "path")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 400 17 401 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 400 17 400 18 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 401 3 401 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 401 3 401 19+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 401 3 401 19+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 401 3 401 19+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 401 3 401 19+ , srcInfoPoints = []+ }+ "deleteFile")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 401 20 401 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 401 20 401 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 401 20 401 24+ , srcInfoPoints = []+ }+ "path")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 1 452 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 452 17 452 19 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 1 452 16+ , srcInfoPoints = []+ }+ "renameDirectory"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 20 452 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 452 29 452 31 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 20 452 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 20 452 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 20 452 28+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 32 452 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 452 41 452 43 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 32 452 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 32 452 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 32 452 40+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 44 452 49+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 44 452 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 44 452 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 44 452 46+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 47 452 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 452 47 452 48+ , SrcSpan "tests/examples/Directory.hs" 452 48 452 49+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 47 452 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 452 47 452 48+ , SrcSpan "tests/examples/Directory.hs" 452 48 452 49+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 452 47 452 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 452 47 452 48+ , SrcSpan "tests/examples/Directory.hs" 452 48 452 49+ ]+ }))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 453 1 463 64+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 453 1 463 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 453 1 453 16+ , srcInfoPoints = []+ }+ "renameDirectory")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 453 17 453 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 453 17 453 22+ , srcInfoPoints = []+ }+ "opath")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 453 23 453 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 453 23 453 28+ , srcInfoPoints = []+ }+ "npath")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 453 29 463 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 453 29 453 30 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 453 31 463 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 453 31 453 33+ , SrcSpan "tests/examples/Directory.hs" 456 4 456 4+ , SrcSpan "tests/examples/Directory.hs" 509 1 509 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 456 4 463 64+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 456 4 463 64+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 456 4 456 42+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 4 456 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 4 456 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 4 456 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 4 456 18+ , srcInfoPoints = []+ }+ "withFileStatus")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 19 456 36+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 19 456 36+ , srcInfoPoints = []+ }+ "renameDirectory"+ "renameDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 37 456 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 37 456 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 37 456 42+ , srcInfoPoints = []+ }+ "opath"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 456 43 456 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 43 456 44+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 43 456 44+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 456 45 463 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 456 45 456 46+ , SrcSpan "tests/examples/Directory.hs" 456 49 456 51+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 46 456 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 46 456 48+ , srcInfoPoints = []+ }+ "st")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 456 52 463 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 456 52 456 54+ , SrcSpan "tests/examples/Directory.hs" 457 4 457 4+ , SrcSpan "tests/examples/Directory.hs" 457 4 457 4+ , SrcSpan "tests/examples/Directory.hs" 458 4 458 4+ , SrcSpan "tests/examples/Directory.hs" 509 1 509 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 457 4 457 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 457 11 457 13 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 457 4 457 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 457 4 457 10+ , srcInfoPoints = []+ }+ "is_dir"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 457 14 457 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 457 14 457 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 457 14 457 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 457 14 457 25+ , srcInfoPoints = []+ }+ "isDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 457 26 457 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 457 26 457 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 457 26 457 28+ , srcInfoPoints = []+ }+ "st"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 458 4 463 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 458 4 458 6+ , SrcSpan "tests/examples/Directory.hs" 459 5 459 9+ , SrcSpan "tests/examples/Directory.hs" 462 5 462 9+ ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 458 4 463 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 458 4 458 6+ , SrcSpan "tests/examples/Directory.hs" 459 5 459 9+ , SrcSpan "tests/examples/Directory.hs" 462 5 462 9+ ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 458 7 458 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 458 7 458 8+ , SrcSpan+ "tests/examples/Directory.hs" 458 18 458 19+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 458 8 458 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 458 8 458 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 458+ 8+ 458+ 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 458+ 8+ 458+ 11+ , srcInfoPoints = []+ }+ "not")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 458 12 458 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 458+ 12+ 458+ 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 458+ 12+ 458+ 18+ , srcInfoPoints = []+ }+ "is_dir")))))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 459 10 461 45+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 459 10 459 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 459 10 459 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 459+ 10+ 459+ 21+ , srcInfoPoints = []+ }+ "ioException")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 459 22 461 45+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 459 22 459 23+ , SrcSpan+ "tests/examples/Directory.hs" 461 44 461 45+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 459 23 461 44+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 459+ 23+ 460+ 95+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 459+ 23+ 459+ 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 459+ 23+ 459+ 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 459+ 23+ 459+ 40+ , srcInfoPoints = []+ }+ "ioeSetErrorString")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 27+ 460+ 95+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 27+ 460+ 28+ , SrcSpan+ "tests/examples/Directory.hs"+ 460+ 94+ 460+ 95+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 28+ 460+ 94+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 28+ 460+ 81+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 28+ 460+ 73+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 28+ 460+ 55+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 28+ 460+ 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 28+ 460+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 28+ 460+ 37+ , srcInfoPoints = []+ }+ "mkIOError")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 38+ 460+ 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 38+ 460+ 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 38+ 460+ 55+ , srcInfoPoints = []+ }+ "InappropriateType"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 56+ 460+ 73+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 56+ 460+ 73+ , srcInfoPoints = []+ }+ "renameDirectory"+ "renameDirectory")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 74+ 460+ 81+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 74+ 460+ 81+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 74+ 460+ 81+ , srcInfoPoints = []+ }+ "Nothing"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 82+ 460+ 94+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 82+ 460+ 83+ , SrcSpan+ "tests/examples/Directory.hs"+ 460+ 93+ 460+ 94+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 83+ 460+ 93+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 83+ 460+ 87+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 83+ 460+ 87+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 83+ 460+ 87+ , srcInfoPoints = []+ }+ "Just")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 88+ 460+ 93+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 88+ 460+ 93+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 460+ 88+ 460+ 93+ , srcInfoPoints = []+ }+ "opath"))))))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 461+ 27+ 461+ 44+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 461+ 27+ 461+ 44+ , srcInfoPoints = []+ }+ "not a directory"+ "not a directory")))))+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 462 10 463 64+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 462 10 462 12+ , SrcSpan "tests/examples/Directory.hs" 463 4 463 4+ , SrcSpan "tests/examples/Directory.hs" 463 4 463 4+ , SrcSpan "tests/examples/Directory.hs" 509 1 509 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 463 4 463 64+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 463 4 463 64+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 4+ 463+ 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 4+ 463+ 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 4+ 463+ 20+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 4+ 463+ 20+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 4+ 463+ 20+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 4+ 463+ 20+ , srcInfoPoints = []+ }+ "moveFileEx")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 21+ 463+ 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 21+ 463+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 21+ 463+ 26+ , srcInfoPoints = []+ }+ "opath"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 27+ 463+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 27+ 463+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 27+ 463+ 32+ , srcInfoPoints = []+ }+ "npath"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 33+ 463+ 64+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 33+ 463+ 64+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 33+ 463+ 64+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 463+ 33+ 463+ 64+ , srcInfoPoints = []+ }+ "mOVEFILE_REPLACE_EXISTING"))))+ ]))+ ])))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 1 509 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 509 12 509 14 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 1 509 11+ , srcInfoPoints = []+ }+ "renameFile"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 15 509 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 509 24 509 26 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 15 509 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 15 509 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 15 509 23+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 27 509 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 509 36 509 38 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 27 509 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 27 509 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 27 509 35+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 39 509 44+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 39 509 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 39 509 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 39 509 41+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 42 509 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 509 42 509 43+ , SrcSpan "tests/examples/Directory.hs" 509 43 509 44+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 42 509 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 509 42 509 43+ , SrcSpan "tests/examples/Directory.hs" 509 43 509 44+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 509 42 509 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 509 42 509 43+ , SrcSpan "tests/examples/Directory.hs" 509 43 509 44+ ]+ }))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 510 1 520 64+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 510 1 520 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 510 1 510 11+ , srcInfoPoints = []+ }+ "renameFile")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 510 12 510 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 510 12 510 17+ , srcInfoPoints = []+ }+ "opath")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 510 18 510 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 510 18 510 23+ , srcInfoPoints = []+ }+ "npath")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 510 24 520 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 510 24 510 25 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 510 26 520 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 510 26 510 28+ , SrcSpan "tests/examples/Directory.hs" 513 4 513 4+ , SrcSpan "tests/examples/Directory.hs" 528 1 528 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 513 4 520 64+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 513 4 520 64+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 513 4 513 46+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 4 513 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 4 513 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 4 513 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 4 513 27+ , srcInfoPoints = []+ }+ "withFileOrSymlinkStatus")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 28 513 40+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 28 513 40+ , srcInfoPoints = []+ }+ "renameFile"+ "renameFile")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 41 513 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 41 513 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 41 513 46+ , srcInfoPoints = []+ }+ "opath"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 513 47 513 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 47 513 48+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 47 513 48+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 513 49 520 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 513 49 513 50+ , SrcSpan "tests/examples/Directory.hs" 513 53 513 55+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 50 513 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 50 513 52+ , srcInfoPoints = []+ }+ "st")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 513 56 520 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 513 56 513 58+ , SrcSpan "tests/examples/Directory.hs" 514 4 514 4+ , SrcSpan "tests/examples/Directory.hs" 514 4 514 4+ , SrcSpan "tests/examples/Directory.hs" 515 4 515 4+ , SrcSpan "tests/examples/Directory.hs" 528 1 528 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 514 4 514 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 514 11 514 13 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 514 4 514 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 514 4 514 10+ , srcInfoPoints = []+ }+ "is_dir"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 514 14 514 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 514 14 514 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 514 14 514 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 514 14 514 25+ , srcInfoPoints = []+ }+ "isDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 514 26 514 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 514 26 514 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 514 26 514 28+ , srcInfoPoints = []+ }+ "st"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 515 4 520 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 515 4 515 6+ , SrcSpan "tests/examples/Directory.hs" 516 5 516 9+ , SrcSpan "tests/examples/Directory.hs" 519 5 519 9+ ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 515 4 520 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 515 4 515 6+ , SrcSpan "tests/examples/Directory.hs" 516 5 516 9+ , SrcSpan "tests/examples/Directory.hs" 519 5 519 9+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 515 7 515 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 515 7 515 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 515 7 515 13+ , srcInfoPoints = []+ }+ "is_dir")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 516 10 518 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 516 10 516 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 516 10 516 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 516+ 10+ 516+ 21+ , srcInfoPoints = []+ }+ "ioException")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 516 22 518 32+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 516 22 516 23+ , SrcSpan+ "tests/examples/Directory.hs" 518 31 518 32+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 516 23 518 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 516+ 23+ 517+ 78+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 516+ 23+ 516+ 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 516+ 23+ 516+ 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 516+ 23+ 516+ 40+ , srcInfoPoints = []+ }+ "ioeSetErrorString")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 15+ 517+ 78+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 15+ 517+ 16+ , SrcSpan+ "tests/examples/Directory.hs"+ 517+ 77+ 517+ 78+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 16+ 517+ 77+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 16+ 517+ 64+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 16+ 517+ 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 16+ 517+ 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 16+ 517+ 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 16+ 517+ 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 16+ 517+ 25+ , srcInfoPoints = []+ }+ "mkIOError")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 26+ 517+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 26+ 517+ 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 26+ 517+ 43+ , srcInfoPoints = []+ }+ "InappropriateType"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 44+ 517+ 56+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 44+ 517+ 56+ , srcInfoPoints = []+ }+ "renameFile"+ "renameFile")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 57+ 517+ 64+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 57+ 517+ 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 57+ 517+ 64+ , srcInfoPoints = []+ }+ "Nothing"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 65+ 517+ 77+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 65+ 517+ 66+ , SrcSpan+ "tests/examples/Directory.hs"+ 517+ 76+ 517+ 77+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 66+ 517+ 76+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 66+ 517+ 70+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 66+ 517+ 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 66+ 517+ 70+ , srcInfoPoints = []+ }+ "Just")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 71+ 517+ 76+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 71+ 517+ 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 517+ 71+ 517+ 76+ , srcInfoPoints = []+ }+ "opath"))))))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 518+ 15+ 518+ 31+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 518+ 15+ 518+ 31+ , srcInfoPoints = []+ }+ "is a directory"+ "is a directory")))))+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 519 10 520 64+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 519 10 519 12+ , SrcSpan "tests/examples/Directory.hs" 520 4 520 4+ , SrcSpan "tests/examples/Directory.hs" 520 4 520 4+ , SrcSpan "tests/examples/Directory.hs" 528 1 528 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 520 4 520 64+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 520 4 520 64+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 4+ 520+ 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 4+ 520+ 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 4+ 520+ 20+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 4+ 520+ 20+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 4+ 520+ 20+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 4+ 520+ 20+ , srcInfoPoints = []+ }+ "moveFileEx")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 21+ 520+ 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 21+ 520+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 21+ 520+ 26+ , srcInfoPoints = []+ }+ "opath"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 27+ 520+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 27+ 520+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 27+ 520+ 32+ , srcInfoPoints = []+ }+ "npath"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 33+ 520+ 64+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 33+ 520+ 64+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 33+ 520+ 64+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 520+ 33+ 520+ 64+ , srcInfoPoints = []+ }+ "mOVEFILE_REPLACE_EXISTING"))))+ ]))+ ])))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 1 528 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 528 10 528 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 1 528 9+ , srcInfoPoints = []+ }+ "copyFile"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 13 528 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 528 22 528 24 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 13 528 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 13 528 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 13 528 21+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 25 528 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 528 34 528 36 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 25 528 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 25 528 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 25 528 33+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 37 528 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 37 528 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 37 528 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 37 528 39+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 40 528 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 528 40 528 41+ , SrcSpan "tests/examples/Directory.hs" 528 41 528 42+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 40 528 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 528 40 528 41+ , SrcSpan "tests/examples/Directory.hs" 528 41 528 42+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 528 40 528 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 528 40 528 41+ , SrcSpan "tests/examples/Directory.hs" 528 41 528 42+ ]+ }))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 529 1 551 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 531 5 531 10 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 529 1 551 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 531 5 531 10 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 529 1 529 9+ , srcInfoPoints = []+ }+ "copyFile")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 529 10 529 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 529 10 529 19+ , srcInfoPoints = []+ }+ "fromFPath")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 529 20 529 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 529 20 529 27+ , srcInfoPoints = []+ }+ "toFPath")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 529 28 530 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 529 28 529 29 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 5 530 73+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 5 530 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 5 530 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 5 530 9+ , srcInfoPoints = []+ }+ "copy")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 10 530 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 530 10 530 11+ , SrcSpan "tests/examples/Directory.hs" 530 11 530 24+ , SrcSpan "tests/examples/Directory.hs" 530 24 530 25+ ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 10 530 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 530 10 530 11+ , SrcSpan "tests/examples/Directory.hs" 530 11 530 24+ , SrcSpan "tests/examples/Directory.hs" 530 24 530 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 11 530 24+ , srcInfoPoints = []+ }+ "Prelude")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 11 530 24+ , srcInfoPoints = []+ }+ "catch")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 26 530 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 530 26 530 27+ , SrcSpan "tests/examples/Directory.hs" 530 72 530 73+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 27 530 72+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 530 27 530 28+ , SrcSpan "tests/examples/Directory.hs" 530 32 530 34+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 28 530 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 28 530 31+ , srcInfoPoints = []+ }+ "exc")+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 530 35 530 72+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 35 530 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 35 530 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 35 530 40+ , srcInfoPoints = []+ }+ "throw")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 41 530 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 41 530 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 41 530 42+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 43 530 72+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 43 530 61+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 43 530 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 43 530 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 530 43 530 57+ , srcInfoPoints = []+ }+ "ioeSetLocation")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 58 530 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 58 530 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 530 58 530 61+ , srcInfoPoints = []+ }+ "exc"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 62 530 72+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 530 62 530 72+ , srcInfoPoints = []+ }+ "copyFile"+ "copyFile"))))))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 531 11 551 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 531 11 531 11+ , SrcSpan "tests/examples/Directory.hs" 537 11 537 11+ , SrcSpan "tests/examples/Directory.hs" 538 11 538 11+ , SrcSpan "tests/examples/Directory.hs" 541 11 541 11+ , SrcSpan "tests/examples/Directory.hs" 543 11 543 11+ , SrcSpan "tests/examples/Directory.hs" 549 11 549 11+ , SrcSpan "tests/examples/Directory.hs" 550 11 550 11+ , SrcSpan "tests/examples/Directory.hs" 551 11 551 11+ , SrcSpan "tests/examples/Directory.hs" 560 1 560 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 531 11 536 48+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 531 11 531 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 531 11 531 15+ , srcInfoPoints = []+ }+ "copy"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 531 16 536 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 531 16 531 17 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 531 18 536 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 18 531 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 18 531 61+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 18 531 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 18 531 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 531 18 531 25+ , srcInfoPoints = []+ }+ "bracket")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 26 531 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 531 26 531 27+ , SrcSpan "tests/examples/Directory.hs" 531 60 531 61+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 27 531 60+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 531 27 531 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 531 27 531 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 531+ 27+ 531+ 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 531+ 27+ 531+ 41+ , srcInfoPoints = []+ }+ "openBinaryFile")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 531 42 531 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 531+ 42+ 531+ 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 531+ 42+ 531+ 51+ , srcInfoPoints = []+ }+ "fromFPath"))))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 531 52 531 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 531 52 531 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 531+ 52+ 531+ 60+ , srcInfoPoints = []+ }+ "ReadMode"))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 62 531 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 62 531 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 62 531 68+ , srcInfoPoints = []+ }+ "hClose"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 69 531 70+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 69 531 70+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 69 531 70+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 71 536 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 531 71 531 72+ , SrcSpan "tests/examples/Directory.hs" 531 78 531 80+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 72 531 77+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 531 72 531 77+ , srcInfoPoints = []+ }+ "hFrom")+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 532 18 536 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 532 18 532 49+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 532 18 532 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 532 18 532 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 532 18 532 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 532+ 18+ 532+ 32+ , srcInfoPoints = []+ }+ "bracketOnError")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 532 33 532 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 532 33 532 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 532+ 33+ 532+ 40+ , srcInfoPoints = []+ }+ "openTmp"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 532 41 532 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 532 41 532 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 532 41 532 49+ , srcInfoPoints = []+ }+ "cleanTmp"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 532 50 532 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 532 50 532 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 532 50 532 51+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 532 52 536 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 532 52 532 53+ , SrcSpan "tests/examples/Directory.hs" 532 70 532 72+ ]+ }+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 532 53 532 69+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 532 53 532 54+ , SrcSpan+ "tests/examples/Directory.hs" 532 62 532 63+ , SrcSpan+ "tests/examples/Directory.hs" 532 68 532 69+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 532 54 532 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 532+ 54+ 532+ 62+ , srcInfoPoints = []+ }+ "tmpFPath")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 532 64 532 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 532+ 64+ 532+ 68+ , srcInfoPoints = []+ }+ "hTmp")+ ]+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 533 18 536 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 533 18 533 20+ , SrcSpan+ "tests/examples/Directory.hs" 533 21 533 21+ , SrcSpan+ "tests/examples/Directory.hs" 534 21 534 21+ , SrcSpan+ "tests/examples/Directory.hs" 535 21 535 21+ , SrcSpan+ "tests/examples/Directory.hs" 536 21 536 21+ , SrcSpan "tests/examples/Directory.hs" 537 11 537 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 533 21 533 69+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 533 21 533 69+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 21+ 533+ 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 21+ 533+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 21+ 533+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 21+ 533+ 32+ , srcInfoPoints = []+ }+ "allocaBytes")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 33+ 533+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 33+ 533+ 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 33+ 533+ 43+ , srcInfoPoints = []+ }+ "bufferSize"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 44+ 533+ 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 44+ 533+ 45+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 44+ 533+ 45+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 46+ 533+ 69+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 46+ 533+ 64+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 46+ 533+ 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 46+ 533+ 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 46+ 533+ 58+ , srcInfoPoints = []+ }+ "copyContents")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 59+ 533+ 64+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 59+ 533+ 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 59+ 533+ 64+ , srcInfoPoints = []+ }+ "hFrom"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 65+ 533+ 69+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 65+ 533+ 69+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 533+ 65+ 533+ 69+ , srcInfoPoints = []+ }+ "hTmp")))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 534 21 534 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 534 21 534 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 534+ 21+ 534+ 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 534+ 21+ 534+ 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 534+ 21+ 534+ 27+ , srcInfoPoints = []+ }+ "hClose")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 534+ 28+ 534+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 534+ 28+ 534+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 534+ 28+ 534+ 32+ , srcInfoPoints = []+ }+ "hTmp"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 535 21 535 76+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 535 21 535 76+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 21+ 535+ 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 21+ 535+ 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 21+ 535+ 39+ , srcInfoPoints = []+ }+ "ignoreIOExceptions")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 40+ 535+ 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 40+ 535+ 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 40+ 535+ 41+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 42+ 535+ 76+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 42+ 535+ 67+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 42+ 535+ 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 42+ 535+ 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 42+ 535+ 57+ , srcInfoPoints = []+ }+ "copyPermissions")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 58+ 535+ 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 58+ 535+ 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 58+ 535+ 67+ , srcInfoPoints = []+ }+ "fromFPath"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 68+ 535+ 76+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 68+ 535+ 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 535+ 68+ 535+ 76+ , srcInfoPoints = []+ }+ "tmpFPath")))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 536 21 536 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 536 21 536 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 536+ 21+ 536+ 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 536+ 21+ 536+ 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 536+ 21+ 536+ 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 536+ 21+ 536+ 31+ , srcInfoPoints = []+ }+ "renameFile")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 536+ 32+ 536+ 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 536+ 32+ 536+ 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 536+ 32+ 536+ 40+ , srcInfoPoints = []+ }+ "tmpFPath"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 536+ 41+ 536+ 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 536+ 41+ 536+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 536+ 41+ 536+ 48+ , srcInfoPoints = []+ }+ "toFPath"))))+ ]))))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 537 11 537 79+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 537 11 537 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 537 11 537 18+ , srcInfoPoints = []+ }+ "openTmp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 537 19 537 79+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 537 19 537 20 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 537 21 537 79+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 537 21 537 63+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 537 21 537 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 537 21 537 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 537 21 537 39+ , srcInfoPoints = []+ }+ "openBinaryTempFile")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 537 40 537 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 537 40 537 41+ , SrcSpan "tests/examples/Directory.hs" 537 62 537 63+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 537 41 537 62+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 537 41 537 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 537 41 537 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 537 41 537 54+ , srcInfoPoints = []+ }+ "takeDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 537 55 537 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 537 55 537 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 537 55 537 62+ , srcInfoPoints = []+ }+ "toFPath"))))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 537 64 537 79+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 537 64 537 79+ , srcInfoPoints = []+ }+ ".copyFile.tmp"+ ".copyFile.tmp"))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 538 11 540 60+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 538 11 540 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 538 11 538 19+ , srcInfoPoints = []+ }+ "cleanTmp")+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 538 20 538 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 538 20 538 21+ , SrcSpan "tests/examples/Directory.hs" 538 29 538 30+ , SrcSpan "tests/examples/Directory.hs" 538 35 538 36+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 538 21 538 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 538 21 538 29+ , srcInfoPoints = []+ }+ "tmpFPath")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 538 31 538 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 538 31 538 35+ , srcInfoPoints = []+ }+ "hTmp")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 539 15 540 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 539 15 539 16 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 539 17 540 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 539 17 539 19+ , SrcSpan "tests/examples/Directory.hs" 539 20 539 20+ , SrcSpan "tests/examples/Directory.hs" 540 20 540 20+ , SrcSpan "tests/examples/Directory.hs" 541 11 541 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 539 20 539 52+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 539 20 539 52+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 539 20 539 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 539 20 539 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 539+ 20+ 539+ 38+ , srcInfoPoints = []+ }+ "ignoreIOExceptions")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 539 39 539 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 539 39 539 40+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 539+ 39+ 539+ 40+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 539 41 539 52+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 539 41 539 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 539+ 41+ 539+ 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 539+ 41+ 539+ 47+ , srcInfoPoints = []+ }+ "hClose")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 539 48 539 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 539+ 48+ 539+ 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 539+ 48+ 539+ 52+ , srcInfoPoints = []+ }+ "hTmp")))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 540 20 540 60+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 540 20 540 60+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 540 20 540 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 540 20 540 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 540+ 20+ 540+ 38+ , srcInfoPoints = []+ }+ "ignoreIOExceptions")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 540 39 540 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 540 39 540 40+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 540+ 39+ 540+ 40+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 540 41 540 60+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 540 41 540 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 540+ 41+ 540+ 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 540+ 41+ 540+ 51+ , srcInfoPoints = []+ }+ "removeFile")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 540 52 540 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 540+ 52+ 540+ 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 540+ 52+ 540+ 60+ , srcInfoPoints = []+ }+ "tmpFPath")))))+ ]))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 541 11 541 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 541 11 541 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 541 11 541 21+ , srcInfoPoints = []+ }+ "bufferSize"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 541 22 541 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 541 22 541 23 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 541 24 541 28+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 541 24 541 28+ , srcInfoPoints = []+ }+ 1024+ "1024")))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 543 11 547 56+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 543 11 547 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 543 11 543 23+ , srcInfoPoints = []+ }+ "copyContents")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 543 24 543 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 543 24 543 29+ , srcInfoPoints = []+ }+ "hFrom")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 543 30 543 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 543 30 543 33+ , srcInfoPoints = []+ }+ "hTo")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 543 34 543 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 543 34 543 40+ , srcInfoPoints = []+ }+ "buffer")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 543 41 547 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 543 41 543 42 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 543 43 547 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 543 43 543 45+ , SrcSpan "tests/examples/Directory.hs" 544 19 544 19+ , SrcSpan "tests/examples/Directory.hs" 545 19 545 19+ , SrcSpan "tests/examples/Directory.hs" 549 11 549 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 544 19 544 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 544 25 544 27 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 544 19 544 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 544 19 544 24+ , srcInfoPoints = []+ }+ "count"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 544 28 544 59+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 544 28 544 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 544 28 544 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 544+ 28+ 544+ 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 544+ 28+ 544+ 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 544+ 28+ 544+ 35+ , srcInfoPoints = []+ }+ "hGetBuf")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 544+ 36+ 544+ 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 544+ 36+ 544+ 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 544+ 36+ 544+ 41+ , srcInfoPoints = []+ }+ "hFrom"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 544 42 544 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 544+ 42+ 544+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 544+ 42+ 544+ 48+ , srcInfoPoints = []+ }+ "buffer"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 544 49 544 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 544 49 544 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 544+ 49+ 544+ 59+ , srcInfoPoints = []+ }+ "bufferSize"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 545 19 547 56+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 545 19 547 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 545 19 545 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 545 19 545 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 19+ 545+ 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 19+ 545+ 23+ , srcInfoPoints = []+ }+ "when")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 545 24 545 35+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 545 24 545 25+ , SrcSpan+ "tests/examples/Directory.hs" 545 34 545 35+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 25+ 545+ 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 25+ 545+ 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 25+ 545+ 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 25+ 545+ 30+ , srcInfoPoints = []+ }+ "count")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 31+ 545+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 31+ 545+ 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 31+ 545+ 32+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 33+ 545+ 34+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 33+ 545+ 34+ , srcInfoPoints = []+ }+ 0+ "0")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 545 36 545 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 545 36 545 37+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 545+ 36+ 545+ 37+ , srcInfoPoints = []+ }+ "$")))+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 545 38 547 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 545 38 545 40+ , SrcSpan+ "tests/examples/Directory.hs" 546 27 546 27+ , SrcSpan+ "tests/examples/Directory.hs" 547 27 547 27+ , SrcSpan+ "tests/examples/Directory.hs" 549 11 549 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 546 27 546 51+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 27+ 546+ 51+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 27+ 546+ 45+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 27+ 546+ 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 27+ 546+ 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 27+ 546+ 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 27+ 546+ 34+ , srcInfoPoints = []+ }+ "hPutBuf")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 35+ 546+ 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 35+ 546+ 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 35+ 546+ 38+ , srcInfoPoints = []+ }+ "hTo"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 39+ 546+ 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 39+ 546+ 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 39+ 546+ 45+ , srcInfoPoints = []+ }+ "buffer"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 46+ 546+ 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 46+ 546+ 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 546+ 46+ 546+ 51+ , srcInfoPoints = []+ }+ "count"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 547 27 547 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 27+ 547+ 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 27+ 547+ 49+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 27+ 547+ 45+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 27+ 547+ 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 27+ 547+ 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 27+ 547+ 39+ , srcInfoPoints = []+ }+ "copyContents")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 40+ 547+ 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 40+ 547+ 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 40+ 547+ 45+ , srcInfoPoints = []+ }+ "hFrom"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 46+ 547+ 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 46+ 547+ 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 46+ 547+ 49+ , srcInfoPoints = []+ }+ "hTo"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 50+ 547+ 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 50+ 547+ 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 547+ 50+ 547+ 56+ , srcInfoPoints = []+ }+ "buffer"))))+ ]))+ ]))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 549 11 549 64+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 549 11 549 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 549 11 549 29+ , srcInfoPoints = []+ }+ "ignoreIOExceptions")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 30 549 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 30 549 32+ , srcInfoPoints = []+ }+ "io")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 549 33 549 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 549 33 549 34 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 35 549 64+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 35 549 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 35 549 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 35 549 37+ , srcInfoPoints = []+ }+ "io")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 38 549 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 549 38 549 39+ , SrcSpan "tests/examples/Directory.hs" 549 39 549 44+ , SrcSpan "tests/examples/Directory.hs" 549 44 549 45+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 38 549 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 549 38 549 39+ , SrcSpan "tests/examples/Directory.hs" 549 39 549 44+ , SrcSpan "tests/examples/Directory.hs" 549 44 549 45+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 39 549 44+ , srcInfoPoints = []+ }+ "catch")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 46 549 64+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 46 549 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 549 46 549 64+ , srcInfoPoints = []+ }+ "ioExceptionIgnorer")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 550 11 550 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 550 30 550 32 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 550 11 550 29+ , srcInfoPoints = []+ }+ "ioExceptionIgnorer"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 550 33 550 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 550 45 550 47 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 550 33 550 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 550 33 550 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 550 33 550 44+ , srcInfoPoints = []+ }+ "IOException")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 550 48 550 53+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 550 48 550 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 550 48 550 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 550 48 550 50+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 550 51 550 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 550 51 550 52+ , SrcSpan "tests/examples/Directory.hs" 550 52 550 53+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 550 51 550 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 550 51 550 52+ , SrcSpan "tests/examples/Directory.hs" 550 52 550 53+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 550 51 550 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 550 51 550 52+ , SrcSpan "tests/examples/Directory.hs" 550 52 550 53+ ]+ })))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 551 11 551 43+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 551 11 551 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 551 11 551 29+ , srcInfoPoints = []+ }+ "ioExceptionIgnorer")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 551 30 551 31+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 551 32 551 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 551 32 551 33 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 551 34 551 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 551 34 551 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 551 34 551 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 551 34 551 40+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 551 41 551 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 551 41 551 42+ , SrcSpan "tests/examples/Directory.hs" 551 42 551 43+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 551 41 551 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 551 41 551 42+ , SrcSpan "tests/examples/Directory.hs" 551 42 551 43+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 551 41 551 43+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 551 41 551 42+ , SrcSpan+ "tests/examples/Directory.hs" 551 42 551 43+ ]+ })))))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 1 560 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 560 18 560 20 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 1 560 17+ , srcInfoPoints = []+ }+ "canonicalizePath"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 21 560 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 560 30 560 32 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 21 560 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 21 560 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 21 560 29+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 33 560 44+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 33 560 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 33 560 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 33 560 35+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 36 560 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 36 560 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 560 36 560 44+ , srcInfoPoints = []+ }+ "FilePath")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 561 1 563 31+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 561 1 563 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 561 1 561 17+ , srcInfoPoints = []+ }+ "canonicalizePath")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 561 18 561 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 561 18 561 23+ , srcInfoPoints = []+ }+ "fpath")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 561 24 563 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 561 24 561 25 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 562 5 563 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 562 5 562 7+ , SrcSpan "tests/examples/Directory.hs" 562 8 562 8+ , SrcSpan "tests/examples/Directory.hs" 563 8 563 8+ , SrcSpan "tests/examples/Directory.hs" 568 1 568 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 562 8 562 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 562 13 562 15 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 562 8 562 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 562 8 562 12+ , srcInfoPoints = []+ }+ "path"))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 562 16 562 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 562 16 562 37+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 562 16 562 37+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 562 16 562 37+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 562 16 562 37+ , srcInfoPoints = []+ }+ "getFullPathName")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 562 38 562 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 562 38 562 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 562 38 562 43+ , srcInfoPoints = []+ }+ "fpath"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 563 8 563 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 563 8 563 31+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 563 8 563 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 563 8 563 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 563 8 563 14+ , srcInfoPoints = []+ }+ "return")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 563 15 563 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 563 15 563 16+ , SrcSpan "tests/examples/Directory.hs" 563 30 563 31+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 563 16 563 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 563 16 563 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 563 16 563 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 563 16 563 25+ , srcInfoPoints = []+ }+ "normalise")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 563 26 563 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 563 26 563 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 563 26 563 30+ , srcInfoPoints = []+ }+ "path"))))))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 1 568 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 568 32 568 34 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 1 568 31+ , srcInfoPoints = []+ }+ "makeRelativeToCurrentDirectory"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 35 568 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 568 44 568 46 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 35 568 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 35 568 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 35 568 43+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 47 568 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 47 568 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 47 568 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 47 568 49+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 50 568 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 50 568 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 568 50 568 58+ , srcInfoPoints = []+ }+ "FilePath")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 569 1 571 32+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 569 1 571 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 569 1 569 31+ , srcInfoPoints = []+ }+ "makeRelativeToCurrentDirectory")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 569 32 569 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 569 32 569 33+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 569 34 571 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 569 34 569 35 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 569 36 571 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 569 36 569 38+ , SrcSpan "tests/examples/Directory.hs" 570 5 570 5+ , SrcSpan "tests/examples/Directory.hs" 571 5 571 5+ , SrcSpan "tests/examples/Directory.hs" 591 1 591 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 570 5 570 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 570 9 570 11 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 570 5 570 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 570 5 570 8+ , srcInfoPoints = []+ }+ "cur"))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 570 12 570 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 570 12 570 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 570 12 570 31+ , srcInfoPoints = []+ }+ "getCurrentDirectory")))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 571 5 571 32+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 571 5 571 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 571 5 571 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 5 571 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 5 571 11+ , srcInfoPoints = []+ }+ "return")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 571 12 571 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 12 571 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 12 571 13+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 571 14 571 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 14 571 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 14 571 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 14 571 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 14 571 26+ , srcInfoPoints = []+ }+ "makeRelative")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 27 571 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 27 571 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 27 571 30+ , srcInfoPoints = []+ }+ "cur"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 31 571 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 31 571 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 571 31 571 32+ , srcInfoPoints = []+ }+ "x")))))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 1 591 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 591 16 591 18 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 1 591 15+ , srcInfoPoints = []+ }+ "findExecutable"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 19 591 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 591 26 591 28 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 19 591 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 19 591 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 19 591 25+ , srcInfoPoints = []+ }+ "String")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 29 591 48+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 29 591 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 29 591 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 29 591 31+ , srcInfoPoints = []+ }+ "IO")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 32 591 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 591 32 591 33+ , SrcSpan "tests/examples/Directory.hs" 591 47 591 48+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 33 591 47+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 33 591 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 33 591 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 33 591 38+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 39 591 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 39 591 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 591 39 591 47+ , srcInfoPoints = []+ }+ "FilePath")))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 592 1 593 53+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 592 1 593 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 592 1 592 15+ , srcInfoPoints = []+ }+ "findExecutable")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 592 16 592 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 592 16 592 22+ , srcInfoPoints = []+ }+ "binary")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 592 23 593 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 592 23 592 24 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 3 593 53+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 3 593 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 3 593 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 3 593 19+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 3 593 19+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 593 3 593 19+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 593 3 593 19+ , srcInfoPoints = []+ }+ "searchPath")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 20 593 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 593 20 593 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 593 20 593 27+ , srcInfoPoints = []+ }+ "Nothing"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 28 593 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 28 593 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 593 28 593 34+ , srcInfoPoints = []+ }+ "binary"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 35 593 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 593 35 593 36+ , SrcSpan "tests/examples/Directory.hs" 593 52 593 53+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 36 593 52+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 36 593 39+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 593 36 593 39+ , srcInfoPoints = []+ }+ '.'+ "."))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 39 593 40+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 593 39 593 40+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 593 39 593 40+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 593 40 593 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 593 40 593 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 593 40 593 52+ , srcInfoPoints = []+ }+ "exeExtension")))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 1 627 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 627 22 627 24 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 1 627 21+ , srcInfoPoints = []+ }+ "getDirectoryContents"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 25 627 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 627 34 627 36 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 25 627 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 25 627 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 25 627 33+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 37 627 50+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 37 627 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 37 627 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 37 627 39+ , srcInfoPoints = []+ }+ "IO")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 40 627 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 627 40 627 41+ , SrcSpan "tests/examples/Directory.hs" 627 49 627 50+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 41 627 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 41 627 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 627 41 627 49+ , srcInfoPoints = []+ }+ "FilePath"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 628 1 644 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 635 3 635 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 628 1 644 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 635 3 635 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 628 1 628 21+ , srcInfoPoints = []+ }+ "getDirectoryContents")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 628 22 628 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 628 22 628 26+ , srcInfoPoints = []+ }+ "path")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 628 27 634 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 628 27 628 28 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 629 3 634 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 629 3 630 60+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 629 3 629 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 629 3 629 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 629 3 629 16+ , srcInfoPoints = []+ }+ "modifyIOError")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 629 17 630 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 629 17 629 18+ , SrcSpan "tests/examples/Directory.hs" 630 59 630 60+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 629 18 630 59+ , srcInfoPoints = []+ }+ (RightSection+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 629 18 629 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 629 18 629 19+ , SrcSpan "tests/examples/Directory.hs" 629 40 629 41+ ]+ }+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 629 19 629 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 629 19 629 20+ , SrcSpan "tests/examples/Directory.hs" 629 20 629 34+ , SrcSpan "tests/examples/Directory.hs" 629 34 629 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 629 19 629 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 629 19 629 20+ , SrcSpan "tests/examples/Directory.hs" 629 20 629 34+ , SrcSpan "tests/examples/Directory.hs" 629 34 629 35+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 629 20 629 34+ , srcInfoPoints = []+ }+ "ioeSetFileName")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 629 36 629 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 629 36 629 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 629 36 629 40+ , srcInfoPoints = []+ }+ "path"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 629 42 629 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 629 42 629 43+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 629 42 629 43+ , srcInfoPoints = []+ }+ ".")))+ (RightSection+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 630 18 630 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 630 18 630 19+ , SrcSpan "tests/examples/Directory.hs" 630 58 630 59+ ]+ }+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 630 19 630 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 630 19 630 20+ , SrcSpan "tests/examples/Directory.hs" 630 20 630 34+ , SrcSpan "tests/examples/Directory.hs" 630 34 630 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 630 19 630 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 630 19 630 20+ , SrcSpan "tests/examples/Directory.hs" 630 20 630 34+ , SrcSpan "tests/examples/Directory.hs" 630 34 630 35+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 630 20 630 34+ , srcInfoPoints = []+ }+ "ioeSetLocation")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 630 36 630 58+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 630 36 630 58+ , srcInfoPoints = []+ }+ "getDirectoryContents"+ "getDirectoryContents"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 630 61 630 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 630 61 630 62+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 630 61 630 62+ , srcInfoPoints = []+ }+ "$")))+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 630 63 634 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 630 63 630 65+ , SrcSpan "tests/examples/Directory.hs" 631 3 631 3+ , SrcSpan "tests/examples/Directory.hs" 635 3 635 3+ , SrcSpan "tests/examples/Directory.hs" 635 3 635 3+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 631 3 634 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 631 3 634 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 631 3 633 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 631 3 632 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 631 3 631 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 631 3 631 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 631 3 631 10+ , srcInfoPoints = []+ }+ "bracket")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 632 6 632 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 632 6 632 7+ , SrcSpan "tests/examples/Directory.hs" 632 41 632 42+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 632 7 632 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 632 7 632 26+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 632 7 632 26+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 632+ 7+ 632+ 26+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 632+ 7+ 632+ 26+ , srcInfoPoints = []+ }+ "findFirstFile")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 632 27 632 41+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 632 27 632 28+ , SrcSpan+ "tests/examples/Directory.hs" 632 40 632 41+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 632 28 632 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 632+ 28+ 632+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 632+ 28+ 632+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 632+ 28+ 632+ 32+ , srcInfoPoints = []+ }+ "path")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 632+ 33+ 632+ 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 632+ 33+ 632+ 36+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 632+ 33+ 632+ 36+ , srcInfoPoints = []+ }+ "</>")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 632+ 37+ 632+ 40+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 632+ 37+ 632+ 40+ , srcInfoPoints = []+ }+ "*"+ "*")))))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 633 6 633 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 633 6 633 7+ , SrcSpan "tests/examples/Directory.hs" 633 34 633 35+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 633 7 633 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 633 7 633 8+ , SrcSpan "tests/examples/Directory.hs" 633 14 633 16+ ]+ }+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 633 8 633 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 633 8 633 9+ , SrcSpan+ "tests/examples/Directory.hs" 633 10 633 11+ , SrcSpan+ "tests/examples/Directory.hs" 633 12 633 13+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 633 9 633 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 633 9 633 10+ , srcInfoPoints = []+ }+ "h")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 633 11 633 12+ , srcInfoPoints = []+ }+ ]+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 633 17 633 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 633 17 633 32+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 633 17 633 32+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 633+ 17+ 633+ 32+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 633+ 17+ 633+ 32+ , srcInfoPoints = []+ }+ "findClose")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 633 33 633 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 633 33 633 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 633+ 33+ 633+ 34+ , srcInfoPoints = []+ }+ "h")))))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 634 6 634 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 634 6 634 7+ , SrcSpan "tests/examples/Directory.hs" 634 34 634 35+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 634 7 634 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 634 7 634 8+ , SrcSpan "tests/examples/Directory.hs" 634 17 634 19+ ]+ }+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 634 8 634 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 634 8 634 9+ , SrcSpan "tests/examples/Directory.hs" 634 10 634 11+ , SrcSpan "tests/examples/Directory.hs" 634 15 634 16+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 634 9 634 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 634 9 634 10+ , srcInfoPoints = []+ }+ "h")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 634 11 634 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 634 11 634 15+ , srcInfoPoints = []+ }+ "fdat")+ ]+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 634 20 634 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 634 20 634 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 634 20 634 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 634 20 634 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 634+ 20+ 634+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 634+ 20+ 634+ 24+ , srcInfoPoints = []+ }+ "loop")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 634 25 634 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 634+ 25+ 634+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 634+ 25+ 634+ 26+ , srcInfoPoints = []+ }+ "h"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 634 27 634 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 634 27 634 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 634+ 27+ 634+ 31+ , srcInfoPoints = []+ }+ "fdat"))))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 634 32 634 34+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 634 32 634 33+ , SrcSpan+ "tests/examples/Directory.hs" 634 33 634 34+ ]+ }+ [])))))+ ])))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 638 5 644 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 638 5 638 5+ , SrcSpan "tests/examples/Directory.hs" 639 5 639 5+ , SrcSpan "tests/examples/Directory.hs" 672 1 672 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 638 5 638 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 638 10 638 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 638 5 638 9+ , srcInfoPoints = []+ }+ "loop"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 638 13 638 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 638 26 638 28 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 638 13 638 25+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 13 638 25+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 13 638 25+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 13 638 25+ , srcInfoPoints = []+ }+ "HANDLE")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 638 29 638 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 638 44 638 46 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 29 638 43+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 29 638 43+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 29 638 43+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 29 638 43+ , srcInfoPoints = []+ }+ "FindData")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 47 638 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 638 58 638 60 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 47 638 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 638 47 638 48+ , SrcSpan "tests/examples/Directory.hs" 638 56 638 57+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 48 638 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 48 638 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 638 48 638 56+ , srcInfoPoints = []+ }+ "FilePath"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 61 638 74+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 61 638 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 61 638 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 638 61 638 63+ , srcInfoPoints = []+ }+ "IO")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 64 638 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 638 64 638 65+ , SrcSpan "tests/examples/Directory.hs" 638 73 638 74+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 638 65 638 73+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 638 65 638 73+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 638 65 638 73+ , srcInfoPoints = []+ }+ "FilePath"))))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 639 5 644 37+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 639 5 644 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 639 5 639 9+ , srcInfoPoints = []+ }+ "loop")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 639 10 639 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 639 10 639 11+ , srcInfoPoints = []+ }+ "h")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 639 12 639 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 639 12 639 16+ , srcInfoPoints = []+ }+ "fdat")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 639 17 639 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 639 17 639 20+ , srcInfoPoints = []+ }+ "acc")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 639 21 644 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 639 21 639 22 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 639 23 644 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 639 23 639 25+ , SrcSpan "tests/examples/Directory.hs" 640 8 640 8+ , SrcSpan "tests/examples/Directory.hs" 641 8 641 8+ , SrcSpan "tests/examples/Directory.hs" 642 8 642 8+ , SrcSpan "tests/examples/Directory.hs" 672 1 672 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 640 8 640 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 640 17 640 19 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 640 8 640 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 640 8 640 16+ , srcInfoPoints = []+ }+ "filename"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 640 20 640 50+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 640 20 640 45+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 640 20 640 45+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 640+ 20+ 640+ 45+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 640+ 20+ 640+ 45+ , srcInfoPoints = []+ }+ "getFindDataFileName")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 640 46 640 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 640 46 640 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 640+ 46+ 640+ 50+ , srcInfoPoints = []+ }+ "fdat"))))+ , Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 641 8 641 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 641 13 641 15 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 641 8 641 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 641 8 641 12+ , srcInfoPoints = []+ }+ "more"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 641 16 641 41+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 641 16 641 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 641 16 641 34+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 641+ 16+ 641+ 34+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 641+ 16+ 641+ 34+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 641+ 16+ 641+ 34+ , srcInfoPoints = []+ }+ "findNextFile")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 641 35 641 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 641+ 35+ 641+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 641+ 35+ 641+ 36+ , srcInfoPoints = []+ }+ "h"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 641 37 641 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 641 37 641 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 641+ 37+ 641+ 41+ , srcInfoPoints = []+ }+ "fdat"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 642 8 644 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 642 8 642 10+ , SrcSpan "tests/examples/Directory.hs" 643 11 643 15+ , SrcSpan "tests/examples/Directory.hs" 644 11 644 15+ ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 642 8 644 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 642 8 642 10+ , SrcSpan "tests/examples/Directory.hs" 643 11 643 15+ , SrcSpan "tests/examples/Directory.hs" 644 11 644 15+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 642 11 642 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 642 11 642 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 642+ 11+ 642+ 15+ , srcInfoPoints = []+ }+ "more")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 643 16 643 42+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 643 16 643 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 16+ 643+ 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 16+ 643+ 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 16+ 643+ 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 16+ 643+ 20+ , srcInfoPoints = []+ }+ "loop")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 21+ 643+ 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 21+ 643+ 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 21+ 643+ 22+ , srcInfoPoints = []+ }+ "h"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 23+ 643+ 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 23+ 643+ 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 23+ 643+ 27+ , srcInfoPoints = []+ }+ "fdat"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 643 28 643 42+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 643 28 643 29+ , SrcSpan+ "tests/examples/Directory.hs" 643 41 643 42+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 29+ 643+ 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 29+ 643+ 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 29+ 643+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 29+ 643+ 37+ , srcInfoPoints = []+ }+ "filename")))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 37+ 643+ 38+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 37+ 643+ 38+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 37+ 643+ 38+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 38+ 643+ 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 38+ 643+ 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 643+ 38+ 643+ 41+ , srcInfoPoints = []+ }+ "acc"))))))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 644 16 644 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 644 16 644 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 16+ 644+ 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 16+ 644+ 22+ , srcInfoPoints = []+ }+ "return")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 644 23 644 37+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 644 23 644 24+ , SrcSpan+ "tests/examples/Directory.hs" 644 36 644 37+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 24+ 644+ 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 24+ 644+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 24+ 644+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 24+ 644+ 32+ , srcInfoPoints = []+ }+ "filename")))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 32+ 644+ 33+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 32+ 644+ 33+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 32+ 644+ 33+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 33+ 644+ 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 33+ 644+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 644+ 33+ 644+ 36+ , srcInfoPoints = []+ }+ "acc")))))))+ ]))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 672 1 672 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 672 21 672 23 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 672 1 672 20+ , srcInfoPoints = []+ }+ "getCurrentDirectory"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 672 24 672 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 672 24 672 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 672 24 672 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 672 24 672 26+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 672 27 672 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 672 27 672 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 672 27 672 35+ , srcInfoPoints = []+ }+ "FilePath"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 673 1 674 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 673 1 673 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 673 1 673 20+ , srcInfoPoints = []+ }+ "getCurrentDirectory"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 673 21 674 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 673 21 673 22 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 673 23 674 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 673 23 673 25+ , SrcSpan "tests/examples/Directory.hs" 674 3 674 3+ , SrcSpan "tests/examples/Directory.hs" 708 1 708 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 674 3 674 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 674 3 674 28+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 674 3 674 28+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 674 3 674 28+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 674 3 674 28+ , srcInfoPoints = []+ }+ "getCurrentDirectory")))+ ]))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 1 708 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 708 21 708 23 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 1 708 20+ , srcInfoPoints = []+ }+ "setCurrentDirectory"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 24 708 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 708 33 708 35 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 24 708 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 24 708 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 24 708 32+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 36 708 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 36 708 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 36 708 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 36 708 38+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 39 708 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 708 39 708 40+ , SrcSpan "tests/examples/Directory.hs" 708 40 708 41+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 39 708 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 708 39 708 40+ , SrcSpan "tests/examples/Directory.hs" 708 40 708 41+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 708 39 708 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 708 39 708 40+ , SrcSpan "tests/examples/Directory.hs" 708 40 708 41+ ]+ })))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 709 1 710 33+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 709 1 710 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 709 1 709 20+ , srcInfoPoints = []+ }+ "setCurrentDirectory")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 709 21 709 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 709 21 709 25+ , srcInfoPoints = []+ }+ "path")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 709 26 710 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 709 26 709 27 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 710 3 710 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 710 3 710 28+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 710 3 710 28+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 710 3 710 28+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 710 3 710 28+ , srcInfoPoints = []+ }+ "setCurrentDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 710 29 710 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 710 29 710 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 710 29 710 33+ , srcInfoPoints = []+ }+ "path")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 1 716 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 716 20 716 22 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 1 716 19+ , srcInfoPoints = []+ }+ "doesDirectoryExist"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 23 716 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 716 32 716 34 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 23 716 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 23 716 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 23 716 31+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 35 716 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 35 716 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 35 716 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 35 716 37+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 38 716 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 38 716 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 716 38 716 42+ , srcInfoPoints = []+ }+ "Bool")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 717 1 719 61+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 717 1 719 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 717 1 717 19+ , srcInfoPoints = []+ }+ "doesDirectoryExist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 717 20 717 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 717 20 717 24+ , srcInfoPoints = []+ }+ "name")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 717 25 719 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 717 25 717 26 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 718 4 719 61+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 718 4 718 70+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 718 4 718 5+ , SrcSpan "tests/examples/Directory.hs" 718 69 718 70+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 718 5 718 69+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 718 5 718 45+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 718 5 718 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 5 718 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 5 718 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 5 718 19+ , srcInfoPoints = []+ }+ "withFileStatus")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 20 718 40+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 20 718 40+ , srcInfoPoints = []+ }+ "doesDirectoryExist"+ "doesDirectoryExist")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 41 718 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 41 718 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 41 718 45+ , srcInfoPoints = []+ }+ "name"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 718 46 718 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 46 718 47+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 46 718 47+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 718 48 718 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 718 48 718 49+ , SrcSpan "tests/examples/Directory.hs" 718 52 718 54+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 49 718 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 49 718 51+ , srcInfoPoints = []+ }+ "st")+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 55 718 69+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 55 718 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 55 718 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 55 718 66+ , srcInfoPoints = []+ }+ "isDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 67 718 69+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 67 718 69+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 718 67 718 69+ , srcInfoPoints = []+ }+ "st")))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 719 4 719 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 719 4 719 5+ , SrcSpan "tests/examples/Directory.hs" 719 5 719 10+ , SrcSpan "tests/examples/Directory.hs" 719 10 719 11+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 719 4 719 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 719 4 719 5+ , SrcSpan "tests/examples/Directory.hs" 719 5 719 10+ , SrcSpan "tests/examples/Directory.hs" 719 10 719 11+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 719 5 719 10+ , srcInfoPoints = []+ }+ "catch")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 719 12 719 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 719 12 719 13+ , SrcSpan "tests/examples/Directory.hs" 719 60 719 61+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 719 13 719 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 719 35 719 37 ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 719 13 719 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 719 13 719 14+ , SrcSpan "tests/examples/Directory.hs" 719 33 719 34+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 14 719 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 719 14 719 15+ , SrcSpan "tests/examples/Directory.hs" 719 18 719 20+ ]+ }+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 16 719 17+ , srcInfoPoints = []+ }+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 21 719 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 21 719 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 21 719 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 719 21 719 27+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 28 719 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 28 719 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 719 28 719 33+ , srcInfoPoints = []+ }+ "False"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 719 38 719 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 719 50 719 52 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 38 719 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 38 719 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 38 719 49+ , srcInfoPoints = []+ }+ "IOException")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 53 719 60+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 53 719 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 53 719 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 53 719 55+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 56 719 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 56 719 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 719 56 719 60+ , srcInfoPoints = []+ }+ "Bool")))))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 1 725 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 725 15 725 17 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 1 725 14+ , srcInfoPoints = []+ }+ "doesFileExist"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 18 725 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 725 27 725 29 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 18 725 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 18 725 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 18 725 26+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 30 725 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 30 725 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 30 725 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 30 725 32+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 33 725 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 33 725 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 725 33 725 37+ , srcInfoPoints = []+ }+ "Bool")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 726 1 728 61+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 726 1 728 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 726 1 726 14+ , srcInfoPoints = []+ }+ "doesFileExist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 726 15 726 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 726 15 726 19+ , srcInfoPoints = []+ }+ "name")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 726 20 728 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 726 20 726 21 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 727 4 728 61+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 727 4 727 89+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 727 4 727 5+ , SrcSpan "tests/examples/Directory.hs" 727 88 727 89+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 727 5 727 88+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 727 5 727 40+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 727 5 727 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 5 727 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 5 727 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 5 727 19+ , srcInfoPoints = []+ }+ "withFileStatus")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 20 727 35+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 20 727 35+ , srcInfoPoints = []+ }+ "doesFileExist"+ "doesFileExist")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 36 727 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 36 727 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 36 727 40+ , srcInfoPoints = []+ }+ "name"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 727 41 727 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 41 727 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 41 727 42+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 727 43 727 88+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 727 43 727 44+ , SrcSpan "tests/examples/Directory.hs" 727 47 727 49+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 44 727 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 44 727 46+ , srcInfoPoints = []+ }+ "st")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 50 727 88+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 727 50 727 52+ , SrcSpan "tests/examples/Directory.hs" 727 53 727 53+ , SrcSpan "tests/examples/Directory.hs" 727 72 727 73+ , SrcSpan "tests/examples/Directory.hs" 727 88 727 88+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 53 727 72+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 727 55 727 57 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 53 727 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 53 727 54+ , srcInfoPoints = []+ }+ "b"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 58 727 72+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 58 727 69+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 727 58 727 69+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 727 58 727 69+ , srcInfoPoints = []+ }+ "isDirectory")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 70 727 72+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 727 70 727 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 727 70 727 72+ , srcInfoPoints = []+ }+ "st"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 74 727 88+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 74 727 88+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 74 727 80+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 727 74 727 80+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 727 74 727 80+ , srcInfoPoints = []+ }+ "return")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 727 81 727 88+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 727 81 727 82+ , SrcSpan+ "tests/examples/Directory.hs" 727 87 727 88+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 727 82 727 87+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 727 82 727 85+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 727+ 82+ 727+ 85+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 727+ 82+ 727+ 85+ , srcInfoPoints = []+ }+ "not")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 727 86 727 87+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 727+ 86+ 727+ 87+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 727+ 86+ 727+ 87+ , srcInfoPoints = []+ }+ "b"))))))+ ]))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 728 4 728 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 728 4 728 5+ , SrcSpan "tests/examples/Directory.hs" 728 5 728 10+ , SrcSpan "tests/examples/Directory.hs" 728 10 728 11+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 728 4 728 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 728 4 728 5+ , SrcSpan "tests/examples/Directory.hs" 728 5 728 10+ , SrcSpan "tests/examples/Directory.hs" 728 10 728 11+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 728 5 728 10+ , srcInfoPoints = []+ }+ "catch")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 728 12 728 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 728 12 728 13+ , SrcSpan "tests/examples/Directory.hs" 728 60 728 61+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 728 13 728 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 728 35 728 37 ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 728 13 728 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 728 13 728 14+ , SrcSpan "tests/examples/Directory.hs" 728 33 728 34+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 14 728 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 728 14 728 15+ , SrcSpan "tests/examples/Directory.hs" 728 18 728 20+ ]+ }+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 16 728 17+ , srcInfoPoints = []+ }+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 21 728 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 21 728 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 21 728 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 728 21 728 27+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 28 728 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 28 728 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 728 28 728 33+ , srcInfoPoints = []+ }+ "False"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 728 38 728 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 728 50 728 52 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 38 728 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 38 728 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 38 728 49+ , srcInfoPoints = []+ }+ "IOException")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 53 728 60+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 53 728 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 53 728 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 53 728 55+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 56 728 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 56 728 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 728 56 728 60+ , srcInfoPoints = []+ }+ "Bool")))))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 1 742 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 742 21 742 23 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 1 742 20+ , srcInfoPoints = []+ }+ "getModificationTime"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 24 742 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 742 33 742 35 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 24 742 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 24 742 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 24 742 32+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 36 742 48+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 36 742 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 36 742 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 36 742 38+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 39 742 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 39 742 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 742 39 742 48+ , srcInfoPoints = []+ }+ "ClockTime")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 743 1 746 21+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 743 1 746 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 743 1 743 20+ , srcInfoPoints = []+ }+ "getModificationTime")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 743 21 743 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 743 21 743 25+ , srcInfoPoints = []+ }+ "name")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 743 26 746 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 743 26 743 27 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 743 28 746 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 743 28 743 30+ , SrcSpan "tests/examples/Directory.hs" 745 2 745 2+ , SrcSpan "tests/examples/Directory.hs" 749 1 749 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 745 2 746 21+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 745 2 746 21+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 745 2 745 43+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 2 745 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 2 745 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 2 745 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 2 745 16+ , srcInfoPoints = []+ }+ "withFileStatus")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 17 745 38+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 17 745 38+ , srcInfoPoints = []+ }+ "getModificationTime"+ "getModificationTime")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 39 745 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 39 745 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 39 745 43+ , srcInfoPoints = []+ }+ "name"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 745 44 745 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 44 745 45+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 44 745 45+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 745 46 746 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 745 46 745 47+ , SrcSpan "tests/examples/Directory.hs" 745 51 745 53+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 48 745 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 48 745 50+ , srcInfoPoints = []+ }+ "st")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 745 54 746 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 745 54 745 56+ , SrcSpan "tests/examples/Directory.hs" 746 2 746 2+ , SrcSpan "tests/examples/Directory.hs" 746 2 746 2+ , SrcSpan "tests/examples/Directory.hs" 749 1 749 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 746 2 746 21+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 746 2 746 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 746 2 746 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 746 2 746 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 746 2 746 18+ , srcInfoPoints = []+ }+ "modificationTime")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 746 19 746 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 746 19 746 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 746 19 746 21+ , srcInfoPoints = []+ }+ "st"))))+ ])))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 1 749 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 749 16 749 18 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 1 749 15+ , srcInfoPoints = []+ }+ "withFileStatus"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 19 749 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 749 26 749 28 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 19 749 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 19 749 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 19 749 25+ , srcInfoPoints = []+ }+ "String")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 29 749 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 749 38 749 40 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 29 749 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 29 749 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 29 749 37+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 41 749 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 749 61 749 63 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 41 749 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 749 41 749 42+ , SrcSpan "tests/examples/Directory.hs" 749 59 749 60+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 42 749 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 749 52 749 54 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 42 749 51+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 42 749 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 749 42 749 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 749 42 749 45+ , srcInfoPoints = []+ }+ "Ptr")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 46 749 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 749 46 749 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 749 46 749 51+ , srcInfoPoints = []+ }+ "CStat"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 55 749 59+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 55 749 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 749 55 749 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 749 55 749 57+ , srcInfoPoints = []+ }+ "IO")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 58 749 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 749 58 749 59+ , srcInfoPoints = []+ }+ "a")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 64 749 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 64 749 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 64 749 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 64 749 66+ , srcInfoPoints = []+ }+ "IO")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 67 749 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 749 67 749 68+ , srcInfoPoints = []+ }+ "a"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 1 754 50+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 1 754 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 1 750 15+ , srcInfoPoints = []+ }+ "withFileStatus")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 16 750 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 16 750 19+ , srcInfoPoints = []+ }+ "loc")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 20 750 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 20 750 24+ , srcInfoPoints = []+ }+ "name")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 25 750 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 25 750 26+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 27 754 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 750 27 750 28 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 750 29 754 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 750 29 750 31+ , SrcSpan "tests/examples/Directory.hs" 751 3 751 3+ , SrcSpan "tests/examples/Directory.hs" 756 1 756 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 751 3 754 50+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 751 3 754 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 751 3 751 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 3 751 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 3 751 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 3 751 16+ , srcInfoPoints = []+ }+ "modifyIOError")))+ (RightSection+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 17 751 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 751 17 751 18+ , SrcSpan "tests/examples/Directory.hs" 751 39 751 40+ ]+ }+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 18 751 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 751 18 751 19+ , SrcSpan "tests/examples/Directory.hs" 751 19 751 33+ , SrcSpan "tests/examples/Directory.hs" 751 33 751 34+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 18 751 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 751 18 751 19+ , SrcSpan "tests/examples/Directory.hs" 751 19 751 33+ , SrcSpan "tests/examples/Directory.hs" 751 33 751 34+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 19 751 33+ , srcInfoPoints = []+ }+ "ioeSetFileName")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 35 751 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 35 751 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 35 751 39+ , srcInfoPoints = []+ }+ "name")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 751 41 751 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 41 751 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 751 41 751 42+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 752 5 754 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 5 752 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 5 752 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 5 752 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 5 752 16+ , srcInfoPoints = []+ }+ "allocaBytes")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 17 752 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 17 752 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 17 752 28+ , srcInfoPoints = []+ }+ "sizeof_stat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 29 752 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 29 752 30+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 29 752 30+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 31 754 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 752 31 752 32+ , SrcSpan "tests/examples/Directory.hs" 752 34 752 36+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 32 752 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 752 32 752 33+ , srcInfoPoints = []+ }+ "p")+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 753 7 754 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 753 7 753 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 753 7 753 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 753 7 753 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 753 7 753 19+ , srcInfoPoints = []+ }+ "withFilePath")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 753 20 753 43+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 753 20 753 21+ , SrcSpan+ "tests/examples/Directory.hs" 753 42 753 43+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 753 21 753 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 753 21 753 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 753+ 21+ 753+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 753+ 21+ 753+ 37+ , srcInfoPoints = []+ }+ "fileNameEndClean")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 753 38 753 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 753+ 38+ 753+ 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 753+ 38+ 753+ 42+ , srcInfoPoints = []+ }+ "name"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 753 44 753 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 753 44 753 45+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 753 44 753 45+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 753 46 754 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 753 46 753 47+ , SrcSpan "tests/examples/Directory.hs" 753 49 753 51+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 753 47 753 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 753 47 753 48+ , srcInfoPoints = []+ }+ "s")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 753 52 754 50+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 753 52 753 54+ , SrcSpan "tests/examples/Directory.hs" 754 9 754 9+ , SrcSpan "tests/examples/Directory.hs" 756 1 756 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 754 9 754 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 754 9 754 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 9+ 754+ 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 9+ 754+ 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 9+ 754+ 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 9+ 754+ 33+ , srcInfoPoints = []+ }+ "throwErrnoIfMinus1Retry_")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 34+ 754+ 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 34+ 754+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 34+ 754+ 37+ , srcInfoPoints = []+ }+ "loc"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 38+ 754+ 50+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 38+ 754+ 39+ , SrcSpan+ "tests/examples/Directory.hs"+ 754+ 49+ 754+ 50+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 39+ 754+ 49+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 39+ 754+ 47+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 39+ 754+ 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 39+ 754+ 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 39+ 754+ 45+ , srcInfoPoints = []+ }+ "c_stat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 46+ 754+ 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 46+ 754+ 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 46+ 754+ 47+ , srcInfoPoints = []+ }+ "s"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 48+ 754+ 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 48+ 754+ 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 754+ 48+ 754+ 49+ , srcInfoPoints = []+ }+ "p"))))))+ ]))))))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 1 756 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 756 25 756 27 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 1 756 24+ , srcInfoPoints = []+ }+ "withFileOrSymlinkStatus"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 28 756 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 756 35 756 37 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 28 756 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 28 756 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 28 756 34+ , srcInfoPoints = []+ }+ "String")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 38 756 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 756 47 756 49 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 38 756 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 38 756 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 38 756 46+ , srcInfoPoints = []+ }+ "FilePath")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 50 756 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 756 70 756 72 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 50 756 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 756 50 756 51+ , SrcSpan "tests/examples/Directory.hs" 756 68 756 69+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 51 756 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 756 61 756 63 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 51 756 60+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 51 756 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 756 51 756 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 756 51 756 54+ , srcInfoPoints = []+ }+ "Ptr")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 55 756 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 756 55 756 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 756 55 756 60+ , srcInfoPoints = []+ }+ "CStat"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 64 756 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 64 756 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 756 64 756 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 756 64 756 66+ , srcInfoPoints = []+ }+ "IO")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 67 756 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 756 67 756 68+ , srcInfoPoints = []+ }+ "a")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 73 756 77+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 73 756 75+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 73 756 75+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 73 756 75+ , srcInfoPoints = []+ }+ "IO")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 76 756 77+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 756 76 756 77+ , srcInfoPoints = []+ }+ "a"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 1 761 49+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 1 761 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 1 757 24+ , srcInfoPoints = []+ }+ "withFileOrSymlinkStatus")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 25 757 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 25 757 28+ , srcInfoPoints = []+ }+ "loc")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 29 757 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 29 757 33+ , srcInfoPoints = []+ }+ "name")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 34 757 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 34 757 35+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 36 761 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 757 36 757 37 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 757 38 761 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 757 38 757 40+ , SrcSpan "tests/examples/Directory.hs" 758 3 758 3+ , SrcSpan "tests/examples/Directory.hs" 763 1 763 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 758 3 761 49+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 758 3 761 49+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 758 3 758 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 3 758 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 3 758 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 3 758 16+ , srcInfoPoints = []+ }+ "modifyIOError")))+ (RightSection+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 17 758 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 758 17 758 18+ , SrcSpan "tests/examples/Directory.hs" 758 39 758 40+ ]+ }+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 18 758 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 758 18 758 19+ , SrcSpan "tests/examples/Directory.hs" 758 19 758 33+ , SrcSpan "tests/examples/Directory.hs" 758 33 758 34+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 18 758 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 758 18 758 19+ , SrcSpan "tests/examples/Directory.hs" 758 19 758 33+ , SrcSpan "tests/examples/Directory.hs" 758 33 758 34+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 19 758 33+ , srcInfoPoints = []+ }+ "ioeSetFileName")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 35 758 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 35 758 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 35 758 39+ , srcInfoPoints = []+ }+ "name")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 758 41 758 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 41 758 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 758 41 758 42+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 759 5 761 49+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 5 759 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 5 759 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 5 759 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 5 759 16+ , srcInfoPoints = []+ }+ "allocaBytes")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 17 759 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 17 759 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 17 759 28+ , srcInfoPoints = []+ }+ "sizeof_stat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 29 759 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 29 759 30+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 29 759 30+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 31 761 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 759 31 759 32+ , SrcSpan "tests/examples/Directory.hs" 759 34 759 36+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 32 759 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 759 32 759 33+ , srcInfoPoints = []+ }+ "p")+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 760 7 761 49+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 760 7 760 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 760 7 760 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 760 7 760 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 760 7 760 19+ , srcInfoPoints = []+ }+ "withFilePath")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 760 20 760 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 760 20 760 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 760 20 760 24+ , srcInfoPoints = []+ }+ "name"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 760 25 760 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 760 25 760 26+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 760 25 760 26+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 760 27 761 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 760 27 760 28+ , SrcSpan "tests/examples/Directory.hs" 760 30 760 32+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 760 28 760 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 760 28 760 29+ , srcInfoPoints = []+ }+ "s")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 760 33 761 49+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 760 33 760 35+ , SrcSpan "tests/examples/Directory.hs" 761 9 761 9+ , SrcSpan "tests/examples/Directory.hs" 763 1 763 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 761 9 761 49+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 761 9 761 49+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 9+ 761+ 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 9+ 761+ 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 9+ 761+ 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 9+ 761+ 33+ , srcInfoPoints = []+ }+ "throwErrnoIfMinus1Retry_")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 34+ 761+ 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 34+ 761+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 34+ 761+ 37+ , srcInfoPoints = []+ }+ "loc"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 38+ 761+ 49+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 38+ 761+ 39+ , SrcSpan+ "tests/examples/Directory.hs"+ 761+ 48+ 761+ 49+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 39+ 761+ 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 39+ 761+ 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 39+ 761+ 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 39+ 761+ 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 39+ 761+ 44+ , srcInfoPoints = []+ }+ "lstat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 45+ 761+ 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 45+ 761+ 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 45+ 761+ 46+ , srcInfoPoints = []+ }+ "s"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 47+ 761+ 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 47+ 761+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 761+ 47+ 761+ 48+ , srcInfoPoints = []+ }+ "p"))))))+ ]))))))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 1 763 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 763 18 763 20 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 1 763 17+ , srcInfoPoints = []+ }+ "modificationTime"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 21 763 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 763 31 763 33 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 21 763 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 21 763 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 21 763 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 21 763 24+ , srcInfoPoints = []+ }+ "Ptr")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 25 763 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 25 763 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 25 763 30+ , srcInfoPoints = []+ }+ "CStat"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 34 763 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 34 763 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 34 763 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 34 763 36+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 37 763 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 37 763 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 763 37 763 46+ , srcInfoPoints = []+ }+ "ClockTime")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 764 1 767 52+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 764 1 767 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 764 1 764 17+ , srcInfoPoints = []+ }+ "modificationTime")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 764 18 764 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 764 18 764 22+ , srcInfoPoints = []+ }+ "stat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 764 23 767 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 764 23 764 24 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 764 25 767 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 764 25 764 27+ , SrcSpan "tests/examples/Directory.hs" 765 5 765 5+ , SrcSpan "tests/examples/Directory.hs" 766 5 766 5+ , SrcSpan "tests/examples/Directory.hs" 767 5 767 5+ , SrcSpan "tests/examples/Directory.hs" 769 1 769 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 765 5 765 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 765 11 765 13 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 765 5 765 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 765 5 765 10+ , srcInfoPoints = []+ }+ "mtime"))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 765 14 765 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 765 14 765 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 765 14 765 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 765 14 765 22+ , srcInfoPoints = []+ }+ "st_mtime")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 765 23 765 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 765 23 765 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 765 23 765 27+ , srcInfoPoints = []+ }+ "stat"))))+ , LetStmt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 766 5 766 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 766 5 766 8 ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 766 9 766 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 766 9 766 9+ , SrcSpan "tests/examples/Directory.hs" 767 5 767 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 766 9 766 69+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 766 9 766 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 766 9 766 22+ , srcInfoPoints = []+ }+ "realToInteger"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 766 23 766 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 766 23 766 24 ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 766 25 766 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 766 44 766 46 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 766 25 766 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 766 25 766 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 25 766 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 25 766 30+ , srcInfoPoints = []+ }+ "round")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 766 31 766 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 31 766 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 31 766 32+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 766 33 766 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 33 766 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 33 766 43+ , srcInfoPoints = []+ }+ "realToFrac"))))+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 766 47 766 69+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 47 766 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 766 54 766 56+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 47 766 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 54+ 766+ 56+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 47+ 766+ 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 54+ 766+ 56+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 47+ 766+ 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 54+ 766+ 56+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 47+ 766+ 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 47+ 766+ 51+ , srcInfoPoints = []+ }+ "Real")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 52+ 766+ 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 52+ 766+ 53+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 766 57 766 69+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 766 59 766 61+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 57 766 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 57 766 58+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 62 766 69+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 766 62 766 69+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 62+ 766+ 69+ , srcInfoPoints = []+ }+ "Integer")))))))+ Nothing+ ])+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 767 5 767 52+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 767 5 767 52+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 767 5 767 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 767 5 767 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 767 5 767 11+ , srcInfoPoints = []+ }+ "return")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 767 12 767 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 767 12 767 13+ , SrcSpan "tests/examples/Directory.hs" 767 51 767 52+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 767 13 767 51+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 767 13 767 49+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 767 13 767 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 767 13 767 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 767 13 767 16+ , srcInfoPoints = []+ }+ "TOD")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 767 17 767 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 767 17 767 18+ , SrcSpan "tests/examples/Directory.hs" 767 48 767 49+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 767 18 767 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 767 18 767 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 767 18 767 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 767+ 18+ 767+ 31+ , srcInfoPoints = []+ }+ "realToInteger")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 767 32 767 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 767 32 767 33+ , SrcSpan+ "tests/examples/Directory.hs" 767 47 767 48+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 767 33 767 47+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 767+ 39+ 767+ 41+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 767+ 33+ 767+ 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 767+ 33+ 767+ 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 767+ 33+ 767+ 38+ , srcInfoPoints = []+ }+ "mtime")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 767+ 42+ 767+ 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 767+ 42+ 767+ 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 767+ 42+ 767+ 47+ , srcInfoPoints = []+ }+ "CTime"))))))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 767 50 767 51+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 767 50 767 51+ , srcInfoPoints = []+ }+ 0+ "0")))))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 1 769 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 769 13 769 15 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 1 769 12+ , srcInfoPoints = []+ }+ "isDirectory"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 16 769 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 769 26 769 28 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 16 769 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 16 769 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 16 769 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 16 769 19+ , srcInfoPoints = []+ }+ "Ptr")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 20 769 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 20 769 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 20 769 25+ , srcInfoPoints = []+ }+ "CStat"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 29 769 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 29 769 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 29 769 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 29 769 31+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 32 769 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 32 769 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 769 32 769 36+ , srcInfoPoints = []+ }+ "Bool")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 770 1 772 24+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 770 1 772 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 770 1 770 12+ , srcInfoPoints = []+ }+ "isDirectory")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 770 13 770 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 770 13 770 17+ , srcInfoPoints = []+ }+ "stat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 770 18 772 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 770 18 770 19 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 770 20 772 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 770 20 770 22+ , SrcSpan "tests/examples/Directory.hs" 771 3 771 3+ , SrcSpan "tests/examples/Directory.hs" 772 3 772 3+ , SrcSpan "tests/examples/Directory.hs" 774 1 774 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 771 3 771 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 771 8 771 10 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 771 3 771 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 771 3 771 7+ , srcInfoPoints = []+ }+ "mode"))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 771 11 771 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 771 11 771 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 771 11 771 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 771 11 771 18+ , srcInfoPoints = []+ }+ "st_mode")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 771 19 771 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 771 19 771 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 771 19 771 23+ , srcInfoPoints = []+ }+ "stat"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 772 3 772 24+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 772 3 772 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 772 3 772 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 772 3 772 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 772 3 772 9+ , srcInfoPoints = []+ }+ "return")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 772 10 772 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 772 10 772 11+ , SrcSpan "tests/examples/Directory.hs" 772 23 772 24+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 772 11 772 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 772 11 772 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 772 11 772 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 772 11 772 18+ , srcInfoPoints = []+ }+ "s_isdir")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 772 19 772 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 772 19 772 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 772 19 772 23+ , srcInfoPoints = []+ }+ "mode"))))))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 774 1 774 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 774 18 774 20 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 774 1 774 17+ , srcInfoPoints = []+ }+ "fileNameEndClean"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 774 21 774 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 774 28 774 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 774 21 774 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 774 21 774 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 774 21 774 27+ , srcInfoPoints = []+ }+ "String")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 774 31 774 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 774 31 774 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 774 31 774 37+ , srcInfoPoints = []+ }+ "String"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 1 776 76+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 1 776 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 1 775 17+ , srcInfoPoints = []+ }+ "fileNameEndClean")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 18 775 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 18 775 22+ , srcInfoPoints = []+ }+ "name")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 23 776 76+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 775 23 775 24 ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 25 776 76+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 775 25 775 27+ , SrcSpan "tests/examples/Directory.hs" 775 41 775 45+ , SrcSpan "tests/examples/Directory.hs" 776 41 776 45+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 28 775 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 28 775 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 28 775 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 775 28 775 35+ , srcInfoPoints = []+ }+ "isDrive")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 36 775 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 36 775 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 775 36 775 40+ , srcInfoPoints = []+ }+ "name"))))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 46 775 75+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 46 775 70+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 46 775 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 775 46 775 70+ , srcInfoPoints = []+ }+ "addTrailingPathSeparator")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 71 775 75+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 775 71 775 75+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 775 71 775 75+ , srcInfoPoints = []+ }+ "name"))))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 776 46 776 76+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 776 46 776 71+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 776 46 776 71+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 776 46 776 71+ , srcInfoPoints = []+ }+ "dropTrailingPathSeparator")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 776 72 776 76+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 776 72 776 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 776 72 776 76+ , srcInfoPoints = []+ }+ "name"))))))+ Nothing+ ]+ , ForImp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 778 1 778 78+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 778 1 778 8+ , SrcSpan "tests/examples/Directory.hs" 778 9 778 15+ , SrcSpan "tests/examples/Directory.hs" 778 29 778 61+ , SrcSpan "tests/examples/Directory.hs" 778 70 778 72+ ]+ }+ (CCall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 778 16 778 21+ , srcInfoPoints = []+ })+ (Just+ (PlayRisky+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 778 22 778 28+ , srcInfoPoints = []+ }))+ (Just "HsDirectory.h __hscore_S_IRUSR")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 778 62 778 69+ , srcInfoPoints = []+ }+ "s_IRUSR")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 778 73 778 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 778 73 778 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 778 73 778 78+ , srcInfoPoints = []+ }+ "CMode")))+ , ForImp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 779 1 779 78+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 779 1 779 8+ , SrcSpan "tests/examples/Directory.hs" 779 9 779 15+ , SrcSpan "tests/examples/Directory.hs" 779 29 779 61+ , SrcSpan "tests/examples/Directory.hs" 779 70 779 72+ ]+ }+ (CCall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 779 16 779 21+ , srcInfoPoints = []+ })+ (Just+ (PlayRisky+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 779 22 779 28+ , srcInfoPoints = []+ }))+ (Just "HsDirectory.h __hscore_S_IWUSR")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 779 62 779 69+ , srcInfoPoints = []+ }+ "s_IWUSR")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 779 73 779 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 779 73 779 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 779 73 779 78+ , srcInfoPoints = []+ }+ "CMode")))+ , ForImp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 780 1 780 78+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 780 1 780 8+ , SrcSpan "tests/examples/Directory.hs" 780 9 780 15+ , SrcSpan "tests/examples/Directory.hs" 780 29 780 61+ , SrcSpan "tests/examples/Directory.hs" 780 70 780 72+ ]+ }+ (CCall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 780 16 780 21+ , srcInfoPoints = []+ })+ (Just+ (PlayRisky+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 780 22 780 28+ , srcInfoPoints = []+ }))+ (Just "HsDirectory.h __hscore_S_IXUSR")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 780 62 780 69+ , srcInfoPoints = []+ }+ "s_IXUSR")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 780 73 780 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 780 73 780 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 780 73 780 78+ , srcInfoPoints = []+ }+ "CMode")))+ , ForImp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 781 1 781 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 781 1 781 8+ , SrcSpan "tests/examples/Directory.hs" 781 9 781 15+ , SrcSpan "tests/examples/Directory.hs" 781 29 781 47+ , SrcSpan "tests/examples/Directory.hs" 781 56 781 58+ ]+ }+ (CCall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 781 16 781 21+ , srcInfoPoints = []+ })+ (Just+ (PlayRisky+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 781 22 781 28+ , srcInfoPoints = []+ }))+ (Just "__hscore_S_IFDIR")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 781 48 781 55+ , srcInfoPoints = []+ }+ "s_IFDIR")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 781 59 781 64+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 781 59 781 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 781 59 781 64+ , srcInfoPoints = []+ }+ "CMode")))+ , ForImp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 784 1 785 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 784 1 784 8+ , SrcSpan "tests/examples/Directory.hs" 784 9 784 15+ , SrcSpan "tests/examples/Directory.hs" 784 29 784 54+ , SrcSpan "tests/examples/Directory.hs" 785 18 785 20+ ]+ }+ (CCall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 784 16 784 21+ , srcInfoPoints = []+ })+ (Just+ (PlayRisky+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 784 22 784 28+ , srcInfoPoints = []+ }))+ (Just "__hscore_long_path_size")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 785 3 785 17+ , srcInfoPoints = []+ }+ "long_path_size")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 785 21 785 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 785 21 785 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 785 21 785 24+ , srcInfoPoints = []+ }+ "Int")))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 808 1 808 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 808 18 808 20 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 808 1 808 17+ , srcInfoPoints = []+ }+ "getHomeDirectory"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 808 21 808 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 808 21 808 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 808 21 808 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 808 21 808 23+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 808 24 808 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 808 24 808 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 808 24 808 32+ , srcInfoPoints = []+ }+ "FilePath"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 809 1 818 46+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 809 1 809 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 809 1 809 17+ , srcInfoPoints = []+ }+ "getHomeDirectory"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 809 18 818 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 809 18 809 19 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 3 818 46+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 3 810 56+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 3 810 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 3 810 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 3 810 16+ , srcInfoPoints = []+ }+ "modifyIOError")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 17 810 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 810 17 810 18+ , SrcSpan "tests/examples/Directory.hs" 810 55 810 56+ ]+ }+ (RightSection+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 18 810 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 810 18 810 19+ , SrcSpan "tests/examples/Directory.hs" 810 54 810 55+ ]+ }+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 19 810 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 810 19 810 20+ , SrcSpan "tests/examples/Directory.hs" 810 20 810 34+ , SrcSpan "tests/examples/Directory.hs" 810 34 810 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 19 810 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 810 19 810 20+ , SrcSpan "tests/examples/Directory.hs" 810 20 810 34+ , SrcSpan "tests/examples/Directory.hs" 810 34 810 35+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 810 20 810 34+ , srcInfoPoints = []+ }+ "ioeSetLocation")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 36 810 54+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 36 810 54+ , srcInfoPoints = []+ }+ "getHomeDirectory"+ "getHomeDirectory")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 57 810 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 57 810 58+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 57 810 58+ , srcInfoPoints = []+ }+ "$")))+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 810 59 818 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 810 59 810 61+ , SrcSpan "tests/examples/Directory.hs" 811 3 811 3+ , SrcSpan "tests/examples/Directory.hs" 812 3 812 3+ , SrcSpan "tests/examples/Directory.hs" 847 1 847 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 811 3 811 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 811 5 811 7 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 811 3 811 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 811 3 811 4+ , srcInfoPoints = []+ }+ "r"))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 811 8 811 73+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 811 8 811 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 811 8 811 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 8 811 11+ , srcInfoPoints = []+ }+ "try")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 811 12 811 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 12 811 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 12 811 13+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 811 14 811 73+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 14 811 71+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 14 811 63+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 14 811 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 14 811 35+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 811 14 811 35+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 811 14 811 35+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 811 14 811 35+ , srcInfoPoints = []+ }+ "sHGetFolderPath")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 36 811 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 811 36 811 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 811 36 811 43+ , srcInfoPoints = []+ }+ "nullPtr"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 44 811 63+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 44 811 63+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 811 44 811 63+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 811 44 811 63+ , srcInfoPoints = []+ }+ "cSIDL_PROFILE"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 64 811 71+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 64 811 71+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 64 811 71+ , srcInfoPoints = []+ }+ "nullPtr"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 72 811 73+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 811 72 811 73+ , srcInfoPoints = []+ }+ 0+ "0"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 812 3 818 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 812 3 812 7+ , SrcSpan "tests/examples/Directory.hs" 812 41 812 43+ , SrcSpan "tests/examples/Directory.hs" 813 5 813 5+ , SrcSpan "tests/examples/Directory.hs" 814 5 814 5+ , SrcSpan "tests/examples/Directory.hs" 847 1 847 0+ ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 812 3 818 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 812 3 812 7+ , SrcSpan "tests/examples/Directory.hs" 812 41 812 43+ , SrcSpan "tests/examples/Directory.hs" 813 5 813 5+ , SrcSpan "tests/examples/Directory.hs" 814 5 814 5+ , SrcSpan "tests/examples/Directory.hs" 847 1 847 0+ ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 812 8 812 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 812 8 812 9+ , SrcSpan "tests/examples/Directory.hs" 812 39 812 40+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 812 9 812 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 812 11 812 13 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 812 9 812 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 812 9 812 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 812 9 812 10+ , srcInfoPoints = []+ }+ "r")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 812 14 812 39+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 812 14 812 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 812 14 812 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 812 14 812 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 812 14 812 20+ , srcInfoPoints = []+ }+ "Either")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 812 21 812 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 812 21 812 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 812 21 812 32+ , srcInfoPoints = []+ }+ "IOException"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 812 33 812 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 812 33 812 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 812 33 812 39+ , srcInfoPoints = []+ }+ "String"))))))+ [ Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 813 5 813 24+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 5 813 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 5 813 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 5 813 10+ , srcInfoPoints = []+ }+ "Right"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 11 813 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 11 813 12+ , srcInfoPoints = []+ }+ "s")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 13 813 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 813 13 813 15 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 16 813 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 16 813 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 16 813 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 813 16 813 22+ , srcInfoPoints = []+ }+ "return")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 23 813 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 813 23 813 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 813 23 813 24+ , srcInfoPoints = []+ }+ "s")))))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 814 5 818 46+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 814 5 814 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 814 5 814 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 814 5 814 9+ , srcInfoPoints = []+ }+ "Left"))+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 814 11 814 12+ , srcInfoPoints = []+ }+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 814 13 818 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 814 13 814 15 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 814 16 818 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 814 16 814 18+ , SrcSpan "tests/examples/Directory.hs" 815 7 815 7+ , SrcSpan "tests/examples/Directory.hs" 816 7 816 7+ , SrcSpan "tests/examples/Directory.hs" 847 1 847 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 815 7 815 78+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 815 10 815 12+ ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 815 7 815 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 815 7 815 9+ , srcInfoPoints = []+ }+ "r1"))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 815 13 815 78+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 815 13 815 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 815 13 815 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 13+ 815+ 16+ , srcInfoPoints = []+ }+ "try")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 815 17 815 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 815 17 815 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 17+ 815+ 18+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 815 19 815 78+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 815 19 815 76+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 19+ 815+ 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 19+ 815+ 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 19+ 815+ 40+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 19+ 815+ 40+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 19+ 815+ 40+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 19+ 815+ 40+ , srcInfoPoints = []+ }+ "sHGetFolderPath")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 41+ 815+ 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 41+ 815+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 41+ 815+ 48+ , srcInfoPoints = []+ }+ "nullPtr"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 49+ 815+ 68+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 49+ 815+ 68+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 49+ 815+ 68+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 49+ 815+ 68+ , srcInfoPoints = []+ }+ "cSIDL_WINDOWS"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 69+ 815+ 76+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 69+ 815+ 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 69+ 815+ 76+ , srcInfoPoints = []+ }+ "nullPtr"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 815 77 815 78+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 815+ 77+ 815+ 78+ , srcInfoPoints = []+ }+ 0+ "0"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 816 7 818 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 816 7 816 11+ , SrcSpan "tests/examples/Directory.hs" 816 15 816 17+ , SrcSpan "tests/examples/Directory.hs" 817 9 817 9+ , SrcSpan "tests/examples/Directory.hs" 818 9 818 9+ , SrcSpan "tests/examples/Directory.hs" 847 1 847 0+ ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 816 7 818 46+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 816 7 816 11+ , SrcSpan+ "tests/examples/Directory.hs" 816 15 816 17+ , SrcSpan "tests/examples/Directory.hs" 817 9 817 9+ , SrcSpan "tests/examples/Directory.hs" 818 9 818 9+ , SrcSpan "tests/examples/Directory.hs" 847 1 847 0+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 816 12 816 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 816 12 816 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 816+ 12+ 816+ 14+ , srcInfoPoints = []+ }+ "r1")))+ [ Alt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 817 9 817 28+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 817 9 817 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 9+ 817+ 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 9+ 817+ 14+ , srcInfoPoints = []+ }+ "Right"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 15+ 817+ 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 15+ 817+ 16+ , srcInfoPoints = []+ }+ "s")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 17+ 817+ 28+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 17+ 817+ 19+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 20+ 817+ 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 20+ 817+ 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 20+ 817+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 20+ 817+ 26+ , srcInfoPoints = []+ }+ "return")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 27+ 817+ 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 27+ 817+ 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 817+ 27+ 817+ 28+ , srcInfoPoints = []+ }+ "s")))))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 818 9 818 46+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 818 9 818 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 9+ 818+ 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 9+ 818+ 13+ , srcInfoPoints = []+ }+ "Left"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 15+ 818+ 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 15+ 818+ 16+ , srcInfoPoints = []+ }+ "e")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 17+ 818+ 46+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 17+ 818+ 19+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 20+ 818+ 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 20+ 818+ 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 20+ 818+ 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 20+ 818+ 27+ , srcInfoPoints = []+ }+ "ioError")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 28+ 818+ 46+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 28+ 818+ 29+ , SrcSpan+ "tests/examples/Directory.hs"+ 818+ 45+ 818+ 46+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 29+ 818+ 45+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 31+ 818+ 33+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 29+ 818+ 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 29+ 818+ 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 29+ 818+ 30+ , srcInfoPoints = []+ }+ "e")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 34+ 818+ 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 34+ 818+ 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 818+ 34+ 818+ 45+ , srcInfoPoints = []+ }+ "IOException")))))))+ Nothing+ ])+ ]))+ Nothing+ ])+ ])))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 1 847 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 847 25 847 27 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 1 847 24+ , srcInfoPoints = []+ }+ "getAppUserDataDirectory"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 28 847 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 847 35 847 37 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 28 847 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 28 847 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 28 847 34+ , srcInfoPoints = []+ }+ "String")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 38 847 49+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 38 847 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 38 847 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 38 847 40+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 41 847 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 41 847 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 847 41 847 49+ , srcInfoPoints = []+ }+ "FilePath")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 848 1 851 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 848 1 851 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 848 1 848 24+ , srcInfoPoints = []+ }+ "getAppUserDataDirectory")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 848 25 848 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 848 25 848 32+ , srcInfoPoints = []+ }+ "appName")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 848 33 851 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 848 33 848 34 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 848 35 851 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 848 35 848 37+ , SrcSpan "tests/examples/Directory.hs" 849 3 849 3+ , SrcSpan "tests/examples/Directory.hs" 874 1 874 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 849 3 851 27+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 849 3 851 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 849 3 849 63+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 3 849 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 3 849 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 3 849 16+ , srcInfoPoints = []+ }+ "modifyIOError")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 17 849 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 849 17 849 18+ , SrcSpan "tests/examples/Directory.hs" 849 62 849 63+ ]+ }+ (RightSection+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 18 849 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 849 18 849 19+ , SrcSpan "tests/examples/Directory.hs" 849 61 849 62+ ]+ }+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 19 849 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 849 19 849 20+ , SrcSpan "tests/examples/Directory.hs" 849 20 849 34+ , SrcSpan "tests/examples/Directory.hs" 849 34 849 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 19 849 35+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs" 849 19 849 20+ , SrcSpan+ "tests/examples/Directory.hs" 849 20 849 34+ , SrcSpan+ "tests/examples/Directory.hs" 849 34 849 35+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 849 20 849 34+ , srcInfoPoints = []+ }+ "ioeSetLocation")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 36 849 61+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 36 849 61+ , srcInfoPoints = []+ }+ "getAppUserDataDirectory"+ "getAppUserDataDirectory")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 849 64 849 65+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 64 849 65+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 849 64 849 65+ , srcInfoPoints = []+ }+ "$")))+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 849 66 851 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 849 66 849 68+ , SrcSpan "tests/examples/Directory.hs" 850 3 850 3+ , SrcSpan "tests/examples/Directory.hs" 850 3 850 3+ , SrcSpan "tests/examples/Directory.hs" 851 3 851 3+ , SrcSpan "tests/examples/Directory.hs" 874 1 874 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 850 3 850 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 850 5 850 7 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 850 3 850 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 850 3 850 4+ , srcInfoPoints = []+ }+ "s"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 850 8 850 67+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 850 8 850 65+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 850 8 850 57+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 850 8 850 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 850 8 850 29+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 850+ 8+ 850+ 29+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 850+ 8+ 850+ 29+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 850+ 8+ 850+ 29+ , srcInfoPoints = []+ }+ "sHGetFolderPath")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 850 30 850 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 850+ 30+ 850+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 850+ 30+ 850+ 37+ , srcInfoPoints = []+ }+ "nullPtr"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 850 38 850 57+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 850 38 850 57+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 850+ 38+ 850+ 57+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 850+ 38+ 850+ 57+ , srcInfoPoints = []+ }+ "cSIDL_APPDATA"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 850 58 850 65+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 850 58 850 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 850 58 850 65+ , srcInfoPoints = []+ }+ "nullPtr"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 850 66 850 67+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 850 66 850 67+ , srcInfoPoints = []+ }+ 0+ "0")))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 851 3 851 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 851 3 851 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 851 3 851 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 851 3 851 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 851 3 851 9+ , srcInfoPoints = []+ }+ "return")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 851 10 851 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 851 10 851 11+ , SrcSpan "tests/examples/Directory.hs" 851 26 851 27+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 851 11 851 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 851 11 851 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 851 11 851 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 851+ 11+ 851+ 12+ , srcInfoPoints = []+ }+ "s")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 851 12 851 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 851 12 851 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 851+ 12+ 851+ 14+ , srcInfoPoints = []+ }+ "++")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 851 14 851 26+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 851 14 851 18+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 851+ 14+ 851+ 18+ , srcInfoPoints = []+ }+ '\\'+ "\\\\"))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 851 18 851 19+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 851+ 18+ 851+ 19+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 851+ 18+ 851+ 19+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 851 19 851 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 851+ 19+ 851+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 851+ 19+ 851+ 26+ , srcInfoPoints = []+ }+ "appName")))))))+ ]))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 874 1 874 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 874 27 874 29 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 874 1 874 26+ , srcInfoPoints = []+ }+ "getUserDocumentsDirectory"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 874 30 874 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 874 30 874 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 874 30 874 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 874 30 874 32+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 874 33 874 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 874 33 874 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 874 33 874 41+ , srcInfoPoints = []+ }+ "FilePath"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 875 1 877 63+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 875 1 875 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 875 1 875 26+ , srcInfoPoints = []+ }+ "getUserDocumentsDirectory"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 875 27 877 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 875 27 875 28 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 875 29 877 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 875 29 875 31+ , SrcSpan "tests/examples/Directory.hs" 876 3 876 3+ , SrcSpan "tests/examples/Directory.hs" 905 1 905 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 876 3 877 63+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 876 3 877 63+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 876 3 876 65+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 876 3 876 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 876 3 876 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 876 3 876 16+ , srcInfoPoints = []+ }+ "modifyIOError")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 876 17 876 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 876 17 876 18+ , SrcSpan "tests/examples/Directory.hs" 876 64 876 65+ ]+ }+ (RightSection+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 876 18 876 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 876 18 876 19+ , SrcSpan "tests/examples/Directory.hs" 876 63 876 64+ ]+ }+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 876 19 876 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 876 19 876 20+ , SrcSpan "tests/examples/Directory.hs" 876 20 876 34+ , SrcSpan "tests/examples/Directory.hs" 876 34 876 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 876 19 876 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 876 19 876 20+ , SrcSpan "tests/examples/Directory.hs" 876 20 876 34+ , SrcSpan "tests/examples/Directory.hs" 876 34 876 35+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 876 20 876 34+ , srcInfoPoints = []+ }+ "ioeSetLocation")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 876 36 876 63+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 876 36 876 63+ , srcInfoPoints = []+ }+ "getUserDocumentsDirectory"+ "getUserDocumentsDirectory")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 876 66 876 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 876 66 876 67+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 876 66 876 67+ , srcInfoPoints = []+ }+ "$")))+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 876 68 877 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 876 68 876 70+ , SrcSpan "tests/examples/Directory.hs" 877 3 877 3+ , SrcSpan "tests/examples/Directory.hs" 877 3 877 3+ , SrcSpan "tests/examples/Directory.hs" 905 1 905 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 877 3 877 63+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 877 3 877 63+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 877 3 877 61+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 877 3 877 53+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 877 3 877 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 877 3 877 24+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 877 3 877 24+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 877+ 3+ 877+ 24+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 877+ 3+ 877+ 24+ , srcInfoPoints = []+ }+ "sHGetFolderPath")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 877 25 877 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 877 25 877 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 877+ 25+ 877+ 32+ , srcInfoPoints = []+ }+ "nullPtr"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 877 33 877 53+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 877 33 877 53+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 877 33 877 53+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 877 33 877 53+ , srcInfoPoints = []+ }+ "cSIDL_PERSONAL"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 877 54 877 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 877 54 877 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs" 877 54 877 61+ , srcInfoPoints = []+ }+ "nullPtr"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 877 62 877 63+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Directory.hs" 877 62 877 63+ , srcInfoPoints = []+ }+ 0+ "0")))+ ]))+ ]))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 905 1 905 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 905 23 905 25 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 905 1 905 22+ , srcInfoPoints = []+ }+ "getTemporaryDirectory"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 905 26 905 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 905 26 905 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 905 26 905 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 905 26 905 28+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 905 29 905 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 905 29 905 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 905 29 905 37+ , srcInfoPoints = []+ }+ "FilePath"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 906 1 907 30+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 906 1 906 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 906 1 906 22+ , srcInfoPoints = []+ }+ "getTemporaryDirectory"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 906 23 907 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 906 23 906 24 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 906 25 907 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 906 25 906 27+ , SrcSpan "tests/examples/Directory.hs" 907 3 907 3+ , SrcSpan "tests/examples/Directory.hs" 912 1 912 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 907 3 907 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 907 3 907 30+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 907 3 907 30+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 907 3 907 30+ , srcInfoPoints = []+ }+ "Win32")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 907 3 907 30+ , srcInfoPoints = []+ }+ "getTemporaryDirectory")))+ ]))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 912 1 912 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 912 14 912 16 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 912 1 912 13+ , srcInfoPoints = []+ }+ "exeExtension"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 912 17 912 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 912 17 912 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 912 17 912 23+ , srcInfoPoints = []+ }+ "String")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 913 1 913 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 913 1 913 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 913 1 913 13+ , srcInfoPoints = []+ }+ "exeExtension"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 913 14 913 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 913 14 913 15 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 913 16 913 21+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 913 16 913 21+ , srcInfoPoints = []+ }+ "exe"+ "exe")))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 3 1 3 78)+ "---------------------------------------------------------------------------"+ , Comment+ False (SrcSpan "tests/examples/Directory.hs" 4 1 4 5) " |"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 5 1 5 35)+ " Module : System.Directory"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 6 1 6 53)+ " Copyright : (c) The University of Glasgow 2001"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 7 1 7 66)+ " License : BSD-style (see the file libraries/base/LICENSE)"+ , Comment False (SrcSpan "tests/examples/Directory.hs" 8 1 8 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 9 1 9 40)+ " Maintainer : libraries@haskell.org"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 10 1 10 25)+ " Stability : stable"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 11 1 11 27)+ " Portability : portable"+ , Comment+ False (SrcSpan "tests/examples/Directory.hs" 12 1 12 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 13 1 13 59)+ " System-independent interface to directory manipulation."+ , Comment+ False (SrcSpan "tests/examples/Directory.hs" 14 1 14 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 15 1 15 78)+ "---------------------------------------------------------------------------"+ , Comment+ False (SrcSpan "tests/examples/Directory.hs" 19 5 19 14) " $intro"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 21 5 21 32)+ " * Actions on directories"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 22 29 22 52)+ " :: FilePath -> IO ()"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 23 33 23 64)+ " :: Bool -> FilePath -> IO ()"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 24 29 24 52)+ " :: FilePath -> IO ()"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 25 33 25 56)+ " :: FilePath -> IO ()"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 26 29 26 64)+ " :: FilePath -> FilePath -> IO ()"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 28 33 28 64)+ " :: FilePath -> IO [FilePath]"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 29 33 29 50)+ " :: IO FilePath"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 30 33 30 56)+ " :: FilePath -> IO ()"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 32 5 32 33)+ " * Pre-defined directories"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 38 5 38 26)+ " * Actions on files"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 39 25 39 48)+ " :: FilePath -> IO ()"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 40 33 40 68)+ " :: FilePath -> FilePath -> IO ()"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 41 33 41 68)+ " :: FilePath -> FilePath -> IO ()"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 47 5 47 25)+ " * Existence tests"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 48 25 48 50)+ " :: FilePath -> IO Bool"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 49 33 49 58)+ " :: FilePath -> IO Bool"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 51 5 51 21)+ " * Permissions"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 53 5 53 20)+ " $permissions"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 57 21 57 46)+ " :: Permissions -> Bool"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 58 21 58 46)+ " :: Permissions -> Bool"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 59 21 59 46)+ " :: Permissions -> Bool"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 60 21 60 46)+ " :: Permissions -> Bool"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 63 33 63 65)+ " :: FilePath -> IO Permissions"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 64 33 64 71)+ " :: FilePath -> Permissions -> IO ()"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 67 5 67 20)+ " * Timestamps"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 69 33 69 63)+ " :: FilePath -> IO ClockTime"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 86 1 86 33)+ "# CFILES cbits/directory.c #"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 96 1 110 3)+ " $intro\nA directory contains a series of entries, each of which is a named\nreference to a file system object (file, directory etc.). Some\nentries may be hidden, inaccessible, or have some administrative\nfunction (e.g. `.' or `..' under POSIX\n<http://www.opengroup.org/onlinepubs/009695399/>), but in\nthis standard all such entries are considered to form part of the\ndirectory contents. Entries in sub-directories are not, however,\nconsidered to form part of the directory contents.\n\nEach file system object is referenced by a /path/. There is\nnormally at least one absolute path to each file system object. In\nsome operating systems, it may also be possible to have paths which\nare relative to the current directory.\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 112 1 112 78)+ "---------------------------------------------------------------------------"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 113 1 113 15)+ " Permissions"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 115 1 132 3)+ " $permissions\n\n The 'Permissions' type is used to record whether certain operations are\n permissible on a file\\/directory. 'getPermissions' and 'setPermissions'\n get and set these permissions, respectively. Permissions apply both to\n files and directories. For directories, the executable field will be\n 'False', and for files the searchable field will be 'False'. Note that\n directories may be searchable without being readable, if permission has\n been given to use them as part of a path, but not to examine the\n directory contents.\n\nNote that to change some, but not all permissions, a construct on the following lines must be used.\n\n> makeReadable f = do\n> p <- getPermissions f\n> setPermissions f (p {readable = True})\n\n"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 140 1 150 3)+ " |The 'getPermissions' operation returns the\npermissions for the file or directory.\n\nThe operation may fail with:\n\n* 'isPermissionError' if the user is not permitted to access\n the permissions; or\n\n* 'isDoesNotExistError' if the file or directory does not exist.\n\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 155 3 155 69)+ " stat() does a better job of guessing the permissions on Windows"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 156 3 156 71)+ " than access() does. e.g. for execute permission, it looks at the"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 157 3 157 28)+ " filename extension :-)"+ , Comment+ False (SrcSpan "tests/examples/Directory.hs" 158 3 158 5) ""+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 159 3 159 78)+ " I tried for a while to do this properly, using the Windows security API,"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 160 3 160 79)+ " and eventually gave up. getPermissions is a flawed API anyway. -- SimonM"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 177 1 187 3)+ " |The 'setPermissions' operation sets the\npermissions for the file or directory.\n\nThe operation may fail with:\n\n* 'isPermissionError' if the user is not permitted to set\n the permissions; or\n\n* 'isDoesNotExistError' if the file or directory does not exist.\n\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 217 1 217 78)+ "---------------------------------------------------------------------------"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 218 1 218 18)+ " Implementation"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 220 1 255 3)+ " |@'createDirectory' dir@ creates a new directory @dir@ which is\ninitially empty, or as near to empty as the operating system\nallows.\n\nThe operation may fail with:\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EROFS, EACCES]@\n\n* 'isAlreadyExistsError' \\/ 'AlreadyExists'\nThe operand refers to a directory that already exists.\n@ [EEXIST]@\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nThe operand is not a valid directory name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'NoSuchThing'\nThere is no path to the directory.\n@[ENOENT, ENOTDIR]@\n\n* 'ResourceExhausted'\nInsufficient resources (virtual memory, process file descriptors,\nphysical disk space, etc.) are available to perform the operation.\n@[EDQUOT, ENOSPC, ENOMEM, EMLINK]@\n\n* 'InappropriateType'\nThe path refers to an existing non-directory object.\n@[EEXIST]@\n\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 261 1 261 70)+ " | @'createDirectoryIfMissing' parents dir@ creates a new directory"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 262 1 262 63)+ " @dir@ if it doesn\\'t exist. If the first argument is 'True'"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 263 1 263 77)+ " the function will also create all parent directories if they are missing."+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 264 38 264 66)+ " ^ Create its parents too?"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 265 30 265 77)+ " ^ The path to the directory you want to make"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 287 11 287 75)+ " createDirectory (and indeed POSIX mkdir) does not distinguish"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 288 11 288 79)+ " between a dir already existing and a file already existing. So we"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 289 11 289 79)+ " check for it here. Unfortunately there is a slight race condition"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 290 11 290 77)+ " here, but we think it is benign. It could report an exeption in"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 291 11 291 77)+ " the case that the dir did exist but another process deletes the"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 292 11 292 75)+ " directory and creates a file in its place before we can check"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 293 11 293 50)+ " that the directory did indeed exist."+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 302 1 341 3)+ " | @'removeDirectory' dir@ removes an existing directory /dir/. The\nimplementation may specify additional constraints which must be\nsatisfied before a directory can be removed (e.g. the directory has to\nbe empty, or may not be in use by other processes). It is not legal\nfor an implementation to partially remove a directory unless the\nentire directory is removed. A conformant implementation need not\nsupport directory removal in all situations (e.g. removal of the root\ndirectory).\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\nEIO\n\n* 'InvalidArgument'\nThe operand is not a valid directory name.\n[ENAMETOOLONG, ELOOP]\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe directory does not exist.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EROFS, EACCES, EPERM]@\n\n* 'UnsatisfiedConstraints'\nImplementation-dependent constraints are not satisfied.\n@[EBUSY, ENOTEMPTY, EEXIST]@\n\n* 'UnsupportedOperation'\nThe implementation does not support removal in this situation.\n@[EINVAL]@\n\n* 'InappropriateType'\nThe operand refers to an existing non-directory object.\n@[ENOTDIR]@\n\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 347 1 347 75)+ " | @'removeDirectoryRecursive' dir@ removes an existing directory /dir/"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 348 1 348 65)+ " together with its content and all subdirectories. Be careful,"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 349 1 349 70)+ " if the directory contains symlinks, the function will follow them."+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 360 31 360 77)+ " If f is not a directory, re-throw the error"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 365 1 397 3)+ " |'removeFile' /file/ removes the directory entry for an existing file\n/file/, where /file/ is not itself a directory. The\nimplementation may specify additional constraints which must be\nsatisfied before a file can be removed (e.g. the file may not be in\nuse by other processes).\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nThe operand is not a valid file name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe file does not exist.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EROFS, EACCES, EPERM]@\n\n* 'UnsatisfiedConstraints'\nImplementation-dependent constraints are not satisfied.\n@[EBUSY]@\n\n* 'InappropriateType'\nThe operand refers to an existing directory.\n@[EPERM, EINVAL]@\n\n"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 403 1 450 3)+ " |@'renameDirectory' old new@ changes the name of an existing\ndirectory from /old/ to /new/. If the /new/ directory\nalready exists, it is atomically replaced by the /old/ directory.\nIf the /new/ directory is neither the /old/ directory nor an\nalias of the /old/ directory, it is removed as if by\n'removeDirectory'. A conformant implementation need not support\nrenaming directories in all situations (e.g. renaming to an existing\ndirectory, or across different physical devices), but the constraints\nmust be documented.\n\nOn Win32 platforms, @renameDirectory@ fails if the /new/ directory already\nexists.\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nEither operand is not a valid directory name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe original directory does not exist, or there is no path to the target.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EROFS, EACCES, EPERM]@\n\n* 'ResourceExhausted'\nInsufficient resources are available to perform the operation.\n@[EDQUOT, ENOSPC, ENOMEM, EMLINK]@\n\n* 'UnsatisfiedConstraints'\nImplementation-dependent constraints are not satisfied.\n@[EBUSY, ENOTEMPTY, EEXIST]@\n\n* 'UnsupportedOperation'\nThe implementation does not support renaming in this situation.\n@[EINVAL, EXDEV]@\n\n* 'InappropriateType'\nEither path refers to an existing non-directory object.\n@[ENOTDIR, EISDIR]@\n\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 454 4 454 73)+ " XXX this test isn't performed atomically with the following rename"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 455 4 455 26)+ " ToDo: use Win32 API"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 465 1 507 3)+ " |@'renameFile' old new@ changes the name of an existing file system\nobject from /old/ to /new/. If the /new/ object already\nexists, it is atomically replaced by the /old/ object. Neither\npath may refer to an existing directory. A conformant implementation\nneed not support renaming files in all situations (e.g. renaming\nacross different physical devices), but the constraints must be\ndocumented.\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nEither operand is not a valid file name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe original file does not exist, or there is no path to the target.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EROFS, EACCES, EPERM]@\n\n* 'ResourceExhausted'\nInsufficient resources are available to perform the operation.\n@[EDQUOT, ENOSPC, ENOMEM, EMLINK]@\n\n* 'UnsatisfiedConstraints'\nImplementation-dependent constraints are not satisfied.\n@[EBUSY]@\n\n* 'UnsupportedOperation'\nThe implementation does not support renaming in this situation.\n@[EXDEV]@\n\n* 'InappropriateType'\nEither path refers to an existing directory.\n@[ENOTDIR, EISDIR, EINVAL, EEXIST, ENOTEMPTY]@\n\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 511 4 511 73)+ " XXX this test isn't performed atomically with the following rename"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 512 4 512 26)+ " ToDo: use Win32 API"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 522 1 526 3)+ " |@'copyFile' old new@ copies the existing file from /old/ to /new/.\nIf the /new/ file already exists, it is atomically replaced by the /old/ file.\nNeither path may refer to an existing directory. The permissions of /old/ are\ncopied to /new/, if possible.\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 553 1 553 60)+ " | Given path referring to a file or directory, returns a"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 554 1 554 64)+ " canonicalized path, with the intent that two paths referring"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 555 1 555 66)+ " to the same file\\/directory will map to the same canonicalized"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 556 1 556 58)+ " path. Note that it is impossible to guarantee that the"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 557 1 557 67)+ " implication (same file\\/dir \\<=\\> same canonicalizedPath) holds"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 558 1 558 66)+ " in either direction: this function can make only a best-effort"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 559 1 559 12)+ " attempt."+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 564 9 564 73)+ " normalise does more stuff, like upper-casing the drive letter"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 567 1 567 43)+ " | 'makeRelative' the current directory."+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 573 1 573 66)+ " | Given an executable file name, searches for such file in the"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 574 1 574 69)+ " directories listed in system PATH. The returned value is the path"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 575 1 575 70)+ " to the found executable or Nothing if an executable with the given"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 576 1 576 70)+ " name was not found. For example (findExecutable \\\"ghc\\\") gives you"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 577 1 577 20)+ " the path to GHC."+ , Comment+ False (SrcSpan "tests/examples/Directory.hs" 578 1 578 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 579 1 579 60)+ " The path returned by 'findExecutable' corresponds to the"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 580 1 580 68)+ " program that would be executed by 'System.Process.createProcess'"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 581 1 581 70)+ " when passed the same string (as a RawCommand, not a ShellCommand)."+ , Comment+ False (SrcSpan "tests/examples/Directory.hs" 582 1 582 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 583 1 583 71)+ " On Windows, 'findExecutable' calls the Win32 function 'SearchPath',"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 584 1 584 68)+ " which may search other places before checking the directories in"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 585 1 585 69)+ " @PATH@. Where it actually searches depends on registry settings,"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 586 1 586 61)+ " but notably includes the directory containing the current"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 587 1 587 19)+ " executable. See"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 588 1 588 68)+ " <http://msdn.microsoft.com/en-us/library/aa365527.aspx> for more"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 589 1 589 12)+ " details."+ , Comment+ False (SrcSpan "tests/examples/Directory.hs" 590 1 590 3) ""+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 596 1 625 3)+ " |@'getDirectoryContents' dir@ returns a list of /all/ entries\nin /dir/.\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nThe operand is not a valid directory name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe directory does not exist.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EACCES]@\n\n* 'ResourceExhausted'\nInsufficient resources are available to perform the operation.\n@[EMFILE, ENFILE]@\n\n* 'InappropriateType'\nThe path refers to an existing non-directory object.\n@[ENOTDIR]@\n\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 636 9 636 71)+ " we needn't worry about empty directories: adirectory always"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 637 9 637 45)+ " has at least \".\" and \"..\" entries"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 645 18 645 62)+ " no need to reverse, ordering is undefined"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 647 1 671 3)+ " |If the operating system has a notion of current directories,\n'getCurrentDirectory' returns an absolute path to the\ncurrent directory of the calling process.\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThere is no path referring to the current directory.\n@[EPERM, ENOENT, ESTALE...]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EACCES]@\n\n* 'ResourceExhausted'\nInsufficient resources are available to perform the operation.\n\n* 'UnsupportedOperation'\nThe operating system has no notion of current directory.\n\n"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 676 1 706 3)+ " |If the operating system has a notion of current directories,\n@'setCurrentDirectory' dir@ changes the current\ndirectory of the calling process to /dir/.\n\nThe operation may fail with:\n\n* 'HardwareFault'\nA physical I\\/O error has occurred.\n@[EIO]@\n\n* 'InvalidArgument'\nThe operand is not a valid directory name.\n@[ENAMETOOLONG, ELOOP]@\n\n* 'isDoesNotExistError' \\/ 'NoSuchThing'\nThe directory does not exist.\n@[ENOENT, ENOTDIR]@\n\n* 'isPermissionError' \\/ 'PermissionDenied'\nThe process has insufficient privileges to perform the operation.\n@[EACCES]@\n\n* 'UnsupportedOperation'\nThe operating system has no notion of current directory, or the\ncurrent directory cannot be dynamically changed.\n\n* 'InappropriateType'\nThe path refers to an existing non-directory object.\n@[ENOTDIR]@\n\n"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 712 1 714 3)+ " |The operation 'doesDirectoryExist' returns 'True' if the argument file\nexists and is a directory, and 'False' otherwise.\n"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 721 1 723 3)+ " |The operation 'doesFileExist' returns 'True'\nif the argument file exists and is not a directory, and 'False' otherwise.\n"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 730 1 740 3)+ " |The 'getModificationTime' operation returns the\nclock time at which the file or directory was last modified.\n\nThe operation may fail with:\n\n* 'isPermissionError' if the user is not permitted to access\n the modification time; or\n\n* 'isDoesNotExistError' if the file or directory does not exist.\n\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 744 2 744 24)+ " ToDo: use Win32 API"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 787 1 807 3)+ " | Returns the current user's home directory.\n\nThe directory returned is expected to be writable by the current user,\nbut note that it isn't generally considered good practice to store\napplication-specific data here; use 'getAppUserDataDirectory'\ninstead.\n\nOn Unix, 'getHomeDirectory' returns the value of the @HOME@\nenvironment variable. On Windows, the system is queried for a\nsuitable path; a typical path might be\n@C:/Documents And Settings/user@.\n\nThe operation may fail with:\n\n* 'UnsupportedOperation'\nThe operating system has no notion of home directory.\n\n* 'isDoesNotExistError'\nThe home directory for the current user does not exist, or\ncannot be found.\n"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 820 1 846 3)+ " | Returns the pathname of a directory in which application-specific\ndata for the current user can be stored. The result of\n'getAppUserDataDirectory' for a given application is specific to\nthe current user.\n\nThe argument should be the name of the application, which will be used\nto construct the pathname (so avoid using unusual characters that\nmight result in an invalid pathname).\n\nNote: the directory may not actually exist, and may need to be created\nfirst. It is expected that the parent directory exists and is\nwritable.\n\nOn Unix, this function returns @$HOME\\/.appName@. On Windows, a\ntypical path might be\n\n> C:/Documents And Settings/user/Application Data/appName\n\nThe operation may fail with:\n\n* 'UnsupportedOperation'\nThe operating system has no notion of application-specific data directory.\n\n* 'isDoesNotExistError'\nThe home directory for the current user does not exist, or\ncannot be found.\n"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 853 1 873 3)+ " | Returns the current user's document directory.\n\nThe directory returned is expected to be writable by the current user,\nbut note that it isn't generally considered good practice to store\napplication-specific data here; use 'getAppUserDataDirectory'\ninstead.\n\nOn Unix, 'getUserDocumentsDirectory' returns the value of the @HOME@\nenvironment variable. On Windows, the system is queried for a\nsuitable path; a typical path might be\n@C:\\/Documents and Settings\\/user\\/My Documents@.\n\nThe operation may fail with:\n\n* 'UnsupportedOperation'\nThe operating system has no notion of document directory.\n\n* 'isDoesNotExistError'\nThe document directory for the current user does not exist, or\ncannot be found.\n"+ , Comment+ True+ (SrcSpan "tests/examples/Directory.hs" 879 1 904 3)+ " | Returns the current directory for temporary files.\n\nOn Unix, 'getTemporaryDirectory' returns the value of the @TMPDIR@\nenvironment variable or \\\"\\/tmp\\\" if the variable isn\\'t defined.\nOn Windows, the function checks for the existence of environment variables in\nthe following order and uses the first path found:\n\n*\nTMP environment variable.\n\n*\nTEMP environment variable.\n\n*\nUSERPROFILE environment variable.\n\n*\nThe Windows directory\n\nThe operation may fail with:\n\n* 'UnsupportedOperation'\nThe operating system has no notion of temporary directory.\n\nThe function doesn\\'t verify whether the path exists.\n"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 909 1 909 60)+ " ToDo: This should be determined via autoconf (AC_EXEEXT)"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 910 1 910 36)+ " | Extension for executable files"+ , Comment+ False+ (SrcSpan "tests/examples/Directory.hs" 911 1 911 64)+ " (typically @\\\"\\\"@ on Unix and @\\\"exe\\\"@ on Windows or OS\\/2)"+ ]+ )
tests/examples/Directory.hs.prettyprinter.golden view
@@ -29,11 +29,11 @@ import System.Posix.Types import System.Posix.Internals import qualified System.Win32 as Win32- + data Permissions = Permissions{readable, writable, executable, searchable :: Bool}- deriving (Eq, Ord, Read, Show)- + deriving (Eq, Ord, Read, Show)+ getPermissions :: FilePath -> IO Permissions getPermissions name = do withFilePath name $@@ -50,7 +50,7 @@ (Permissions{readable = usr_read /= 0, writable = usr_write /= 0, executable = is_dir == 0 && usr_exec /= 0, searchable = is_dir /= 0 && usr_exec /= 0})- + setPermissions :: FilePath -> Permissions -> IO () setPermissions name (Permissions r w e s) = do allocaBytes sizeof_stat $@@ -64,14 +64,13 @@ let mode2 = modifyBit w mode1 s_IWUSR let mode3 = modifyBit (e || s) mode2 s_IXUSR c_wchmod p_name mode3- where - modifyBit :: Bool -> CMode -> CMode -> CMode+ where modifyBit :: Bool -> CMode -> CMode -> CMode modifyBit False m b = m .&. (complement b) modifyBit True m b = m .|. b- + foreign import ccall unsafe "_wchmod" c_wchmod :: CWString -> CMode -> IO CInt- + copyPermissions :: FilePath -> FilePath -> IO () copyPermissions source dest = do allocaBytes sizeof_stat $@@ -83,10 +82,10 @@ do throwErrnoIfMinus1_ "copyPermissions" $ c_stat p_source p_stat mode <- st_mode p_stat throwErrnoIfMinus1_ "copyPermissions" $ c_wchmod p_dest mode- + createDirectory :: FilePath -> IO () createDirectory path = do Win32.createDirectory path Nothing- + createDirectoryIfMissing :: Bool -> FilePath -> IO () createDirectoryIfMissing create_parents path0 | create_parents = createDirs (parents path0)@@ -100,7 +99,7 @@ \ _ -> do createDirs dirs createDir dir throw- + createDir :: FilePath -> (IOException -> IO ()) -> IO () createDir dir notExistHandler = do r <- try $ createDirectory dir@@ -114,17 +113,16 @@ if isDir then return () else throw e) `catch` ((\ _ -> return ()) :: IOException -> IO ()) | otherwise -> throw e- + removeDirectory :: FilePath -> IO () removeDirectory path = Win32.removeDirectory path- + removeDirectoryRecursive :: FilePath -> IO () removeDirectoryRecursive startLoc = do cont <- getDirectoryContents startLoc sequence_ [rm (startLoc </> x) | x <- cont, x /= "." && x /= ".."] removeDirectory startLoc- where - rm :: FilePath -> IO ()+ where rm :: FilePath -> IO () rm f = do temp <- try (removeFile f) case temp of@@ -132,10 +130,10 @@ unless isDir $ throw (e :: SomeException) removeDirectoryRecursive f Right _ -> return ()- + removeFile :: FilePath -> IO () removeFile path = Win32.deleteFile path- + renameDirectory :: FilePath -> FilePath -> IO () renameDirectory opath npath = do withFileStatus "renameDirectory" opath $@@ -149,7 +147,7 @@ "not a directory") else do Win32.moveFileEx opath npath Win32.mOVEFILE_REPLACE_EXISTING- + renameFile :: FilePath -> FilePath -> IO () renameFile opath npath = do withFileOrSymlinkStatus "renameFile" opath $@@ -162,7 +160,7 @@ "is a directory") else do Win32.moveFileEx opath npath Win32.mOVEFILE_REPLACE_EXISTING- + copyFile :: FilePath -> FilePath -> IO () copyFile fromFPath toFPath = copy `Prelude.catch`@@ -188,24 +186,24 @@ do hPutBuf hTo buffer count copyContents hFrom hTo buffer ignoreIOExceptions io = io `catch` ioExceptionIgnorer- + ioExceptionIgnorer :: IOException -> IO () ioExceptionIgnorer _ = return ()- + canonicalizePath :: FilePath -> IO FilePath canonicalizePath fpath = do path <- Win32.getFullPathName fpath return (normalise path)- + makeRelativeToCurrentDirectory :: FilePath -> IO FilePath makeRelativeToCurrentDirectory x = do cur <- getCurrentDirectory return $ makeRelative cur x- + findExecutable :: String -> IO (Maybe FilePath) findExecutable binary = Win32.searchPath Nothing binary ('.' : exeExtension)- + getDirectoryContents :: FilePath -> IO [FilePath] getDirectoryContents path = modifyIOError@@ -215,27 +213,26 @@ do bracket (Win32.findFirstFile (path </> "*")) (\ (h, _) -> Win32.findClose h) (\ (h, fdat) -> loop h fdat [])- where - loop ::+ where loop :: Win32.HANDLE -> Win32.FindData -> [FilePath] -> IO [FilePath] loop h fdat acc = do filename <- Win32.getFindDataFileName fdat more <- Win32.findNextFile h fdat if more then loop h fdat (filename : acc) else return (filename : acc)- + getCurrentDirectory :: IO FilePath getCurrentDirectory = do Win32.getCurrentDirectory- + setCurrentDirectory :: FilePath -> IO () setCurrentDirectory path = Win32.setCurrentDirectory path- + doesDirectoryExist :: FilePath -> IO Bool doesDirectoryExist name = (withFileStatus "doesDirectoryExist" name $ \ st -> isDirectory st) `catch` ((\ _ -> return False) :: IOException -> IO Bool)- + doesFileExist :: FilePath -> IO Bool doesFileExist name = (withFileStatus "doesFileExist" name $@@ -243,12 +240,12 @@ do b <- isDirectory st return (not b)) `catch` ((\ _ -> return False) :: IOException -> IO Bool)- + getModificationTime :: FilePath -> IO ClockTime getModificationTime name = do withFileStatus "getModificationTime" name $ \ st -> do modificationTime st- + withFileStatus :: String -> FilePath -> (Ptr CStat -> IO a) -> IO a withFileStatus loc name f = do modifyIOError (`ioeSetFileName` name) $@@ -256,7 +253,7 @@ \ p -> withFilePath (fileNameEndClean name) $ \ s -> do throwErrnoIfMinus1Retry_ loc (c_stat s p)- + withFileOrSymlinkStatus :: String -> FilePath -> (Ptr CStat -> IO a) -> IO a withFileOrSymlinkStatus loc name f@@ -265,37 +262,37 @@ \ p -> withFilePath name $ \ s -> do throwErrnoIfMinus1Retry_ loc (lstat s p)- + modificationTime :: Ptr CStat -> IO ClockTime modificationTime stat = do mtime <- st_mtime stat- let realToInteger = round . realToFrac :: (Real a) => a -> Integer+ let realToInteger = round . realToFrac :: Real a => a -> Integer return (TOD (realToInteger (mtime :: CTime)) 0)- + isDirectory :: Ptr CStat -> IO Bool isDirectory stat = do mode <- st_mode stat return (s_isdir mode)- + fileNameEndClean :: String -> String fileNameEndClean name = if isDrive name then addTrailingPathSeparator name else dropTrailingPathSeparator name- + foreign import ccall unsafe "HsDirectory.h __hscore_S_IRUSR" s_IRUSR :: CMode- + foreign import ccall unsafe "HsDirectory.h __hscore_S_IWUSR" s_IWUSR :: CMode- + foreign import ccall unsafe "HsDirectory.h __hscore_S_IXUSR" s_IXUSR :: CMode- + foreign import ccall unsafe "__hscore_S_IFDIR" s_IFDIR :: CMode- + foreign import ccall unsafe "__hscore_long_path_size" long_path_size :: Int- + getHomeDirectory :: IO FilePath getHomeDirectory = modifyIOError ((`ioeSetLocation` "getHomeDirectory")) $@@ -308,20 +305,20 @@ case r1 of Right s -> return s Left e -> ioError (e :: IOException)- + getAppUserDataDirectory :: String -> IO FilePath getAppUserDataDirectory appName = do modifyIOError ((`ioeSetLocation` "getAppUserDataDirectory")) $ do s <- Win32.sHGetFolderPath nullPtr Win32.cSIDL_APPDATA nullPtr 0 return (s ++ '\\' : appName)- + getUserDocumentsDirectory :: IO FilePath getUserDocumentsDirectory = do modifyIOError ((`ioeSetLocation` "getUserDocumentsDirectory")) $ do Win32.sHGetFolderPath nullPtr Win32.cSIDL_PERSONAL nullPtr 0- + getTemporaryDirectory :: IO FilePath getTemporaryDirectory = do Win32.getTemporaryDirectory- + exeExtension :: String exeExtension = "exe"
tests/examples/DoRec.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/DoRec.hs", srcLine = 3, srcColumn = 15}) "Parse error: let"+Match
tests/examples/DoRec.hs.parser.golden view
@@ -1,1 +1,177 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/DoRec.hs", srcLine = 3, srcColumn = 15}) "Parse error: let"+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoRec.hs" 1 1 1 1+ , SrcSpan "tests/examples/DoRec.hs" 3 1 3 1+ , SrcSpan "tests/examples/DoRec.hs" 3 1 3 1+ , SrcSpan "tests/examples/DoRec.hs" 3 1 3 1+ , SrcSpan "tests/examples/DoRec.hs" 5 1 5 1+ , SrcSpan "tests/examples/DoRec.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoRec.hs" 1 1 1 13+ , SrcSpan "tests/examples/DoRec.hs" 1 20 1 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 1 14 1 19+ , srcInfoPoints = []+ }+ "DoRec"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 1 4 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 6 4 20+ , srcInfoPoints = [ SrcSpan "tests/examples/DoRec.hs" 3 6 3 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 8 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoRec.hs" 3 8 3 10+ , SrcSpan "tests/examples/DoRec.hs" 3 11 3 11+ , SrcSpan "tests/examples/DoRec.hs" 4 11 4 11+ , SrcSpan "tests/examples/DoRec.hs" 5 1 5 0+ ]+ }+ [ RecStmt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 11 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoRec.hs" 3 11 3 14+ , SrcSpan "tests/examples/DoRec.hs" 3 15 3 15+ , SrcSpan "tests/examples/DoRec.hs" 4 11 4 0+ ]+ }+ [ LetStmt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 15 3 24+ , srcInfoPoints = [ SrcSpan "tests/examples/DoRec.hs" 3 15 3 18 ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 19 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoRec.hs" 3 19 3 19+ , SrcSpan "tests/examples/DoRec.hs" 4 11 4 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 19 3 24+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 21 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoRec.hs" 3 21 3 22 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 3 23 3 24+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DoRec.hs" 3 23 3 24+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ ])+ ]+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 4 11 4 20+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 4 11 4 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 4 11 4 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 4 11 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 4 11 4 17+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 4 18 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoRec.hs" 4 18 4 19+ , SrcSpan "tests/examples/DoRec.hs" 4 19 4 20+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 4 18 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoRec.hs" 4 18 4 19+ , SrcSpan "tests/examples/DoRec.hs" 4 19 4 20+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoRec.hs" 4 18 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoRec.hs" 4 18 4 19+ , SrcSpan "tests/examples/DoRec.hs" 4 19 4 20+ ]+ }))))+ ]))+ Nothing+ ]+ , []+ )
tests/examples/DoRec.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/DoRec.hs", srcLine = 3, srcColumn = 15}) "Parse error: let"+Match
tests/examples/DoRec.hs.prettyprinter.golden view
@@ -1,1 +1,4 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/DoRec.hs", srcLine = 3, srcColumn = 15}) "Parse error: let"+{-# LANGUAGE DoRec #-}+main+ = do rec let x = 1+ return ()
tests/examples/DoubleHashOp.hs.parser.golden view
@@ -1,1 +1,317 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 26}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 20}, srcInfoPoints = []}) "DoubleHashOp") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 31}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = []}) "UnboxedTuples"]] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 6, srcSpanEndLine = 4, srcSpanEndColumn = 8}]}) [Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 2, srcSpanEndLine = 4, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 4, srcSpanEndLine = 4, srcSpanEndColumn = 5}]}) "##"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 11, srcSpanEndLine = 4, srcSpanEndColumn = 13}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) "a")) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 14, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 18}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 14, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 14, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) "b")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 19, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 19, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 19, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = []}) "Int"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 11}, srcInfoPoints = []}) [InfixMatch (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 11}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 2}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 2}, srcInfoPoints = []}) "a")) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 3, srcSpanEndLine = 5, srcSpanEndColumn = 5}, srcInfoPoints = []}) "##") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 6, srcSpanEndLine = 5, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 6, srcSpanEndLine = 5, srcSpanEndColumn = 7}, srcInfoPoints = []}) "b")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 8, srcSpanEndLine = 5, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 8, srcSpanEndLine = 5, srcSpanEndColumn = 9}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 11}, srcInfoPoints = []}) 0 "0"))) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 6, srcSpanEndLine = 7, srcSpanEndColumn = 8}]}) [Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 2, srcSpanEndLine = 7, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 4, srcSpanEndLine = 7, srcSpanEndColumn = 5}]}) "#*"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 9, srcSpanEndLine = 7, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 11, srcSpanEndLine = 7, srcSpanEndColumn = 13}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 9, srcSpanEndLine = 7, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 9, srcSpanEndLine = 7, srcSpanEndColumn = 10}, srcInfoPoints = []}) "a")) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 14, srcSpanEndLine = 7, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 16, srcSpanEndLine = 7, srcSpanEndColumn = 18}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 14, srcSpanEndLine = 7, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 14, srcSpanEndLine = 7, srcSpanEndColumn = 15}, srcInfoPoints = []}) "b")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 19, srcSpanEndLine = 7, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 19, srcSpanEndLine = 7, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 7, srcSpanStartColumn = 19, srcSpanEndLine = 7, srcSpanEndColumn = 22}, srcInfoPoints = []}) "Int"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 11}, srcInfoPoints = []}) [InfixMatch (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 11}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 2}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 2}, srcInfoPoints = []}) "a")) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 5}, srcInfoPoints = []}) "#*") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 6, srcSpanEndLine = 8, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 6, srcSpanEndLine = 8, srcSpanEndColumn = 7}, srcInfoPoints = []}) "b")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 8, srcSpanEndLine = 8, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 8, srcSpanEndLine = 8, srcSpanEndColumn = 9}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 10, srcSpanEndLine = 8, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 8, srcSpanStartColumn = 10, srcSpanEndLine = 8, srcSpanEndColumn = 11}, srcInfoPoints = []}) 1 "1"))) Nothing]],[Comment False (SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 10, srcSpanStartColumn = 1, srcSpanEndLine = 10, srcSpanEndColumn = 36}) " This still does not work though:",Comment False (SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 24}) " (#) :: a -> b -> Int",Comment False (SrcSpan {srcSpanFilename = "tests/examples/DoubleHashOp.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 13}) " a # b = 2"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 1 1 13 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 1 1 1 1+ , SrcSpan "tests/examples/DoubleHashOp.hs" 2 1 2 1+ , SrcSpan "tests/examples/DoubleHashOp.hs" 2 1 2 1+ , SrcSpan "tests/examples/DoubleHashOp.hs" 4 1 4 1+ , SrcSpan "tests/examples/DoubleHashOp.hs" 5 1 5 1+ , SrcSpan "tests/examples/DoubleHashOp.hs" 7 1 7 1+ , SrcSpan "tests/examples/DoubleHashOp.hs" 8 1 8 1+ , SrcSpan "tests/examples/DoubleHashOp.hs" 13 1 13 1+ , SrcSpan "tests/examples/DoubleHashOp.hs" 13 1 13 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 2 1 2 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 2 1 2 7+ , SrcSpan "tests/examples/DoubleHashOp.hs" 2 21 2 26+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 2 8 2 20+ , srcInfoPoints = []+ }+ "DoubleHashOp")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 1 1 1 13+ , SrcSpan "tests/examples/DoubleHashOp.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "UnboxedTuples"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 1 4 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 4 6 4 8 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 1 4 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 4 1 4 2+ , SrcSpan "tests/examples/DoubleHashOp.hs" 4 2 4 4+ , SrcSpan "tests/examples/DoubleHashOp.hs" 4 4 4 5+ ]+ }+ "##"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 9 4 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 4 11 4 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 14 4 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 4 16 4 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ "b"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 1 5 11+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 1 5 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ "a"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 3 5 5+ , srcInfoPoints = []+ }+ "##")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 6 5 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 6 5 7+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 8 5 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 5 8 5 9 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 10 5 11+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 10 5 11+ , srcInfoPoints = []+ }+ 0+ "0")))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 1 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 7 6 7 8 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 1 7 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 7 1 7 2+ , SrcSpan "tests/examples/DoubleHashOp.hs" 7 2 7 4+ , SrcSpan "tests/examples/DoubleHashOp.hs" 7 4 7 5+ ]+ }+ "#*"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 9 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 7 11 7 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 14 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 7 16 7 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ "b"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 1 8 11+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 1 8 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 1 8 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 1 8 2+ , srcInfoPoints = []+ }+ "a"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 3 8 5+ , srcInfoPoints = []+ }+ "#*")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 8 8 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DoubleHashOp.hs" 8 8 8 9 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 10 8 11+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 10 8 11+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ ]+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/DoubleHashOp.hs" 10 1 10 36)+ " This still does not work though:"+ , Comment+ False+ (SrcSpan "tests/examples/DoubleHashOp.hs" 11 1 11 24)+ " (#) :: a -> b -> Int"+ , Comment+ False+ (SrcSpan "tests/examples/DoubleHashOp.hs" 12 1 12 13)+ " a # b = 2"+ ]+ )
tests/examples/DoubleHashOp.hs.prettyprinter.golden view
@@ -1,8 +1,8 @@ {-# LANGUAGE UnboxedTuples #-} module DoubleHashOp where- + ( ## ) :: a -> b -> Int a ## b = 0- + ( #* ) :: a -> b -> Int a #* b = 1
+ tests/examples/DsStrictData.hs view
@@ -0,0 +1,48 @@+{-# LANGUAGE ScopedTypeVariables, StrictData, GADTs #-}++-- | Tests the StrictData LANGUAGE pragma.+module Main where++import qualified Control.Exception as E+import System.IO.Unsafe (unsafePerformIO)++data Strict a = S a+data Strict2 b = S2 !b+data Strict3 c where+ S3 :: c -> Strict3 c++data UStrict = US {-# UNPACK #-} Int++data Lazy d = L ~d+data Lazy2 e where+ L2 :: ~e -> Lazy2 e++main :: IO ()+main =+ do print (isBottom (S bottom))+ print (isBottom (S2 bottom))+ print (isBottom (US bottom))+ print (isBottom (S3 bottom))+ putStrLn ""+ print (not (isBottom (L bottom)))+ print (not (isBottom (L2 bottom)))+ print (not (isBottom (Just bottom))) -- sanity check++------------------------------------------------------------------------+-- Support for testing for bottom++bottom :: a+bottom = error "_|_"++isBottom :: a -> Bool+isBottom f = unsafePerformIO $+ (E.evaluate f >> return False) `E.catches`+ [ E.Handler (\(_ :: E.ArrayException) -> return True)+ , E.Handler (\(_ :: E.ErrorCall) -> return True)+ , E.Handler (\(_ :: E.NoMethodError) -> return True)+ , E.Handler (\(_ :: E.NonTermination) -> return True)+ , E.Handler (\(_ :: E.PatternMatchFail) -> return True)+ , E.Handler (\(_ :: E.RecConError) -> return True)+ , E.Handler (\(_ :: E.RecSelError) -> return True)+ , E.Handler (\(_ :: E.RecUpdError) -> return True)+ ]
+ tests/examples/DsStrictData.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DsStrictData.hs.parser.golden view
@@ -0,0 +1,3591 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 1 49 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 1+ , SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 1+ , SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 1+ , SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 1+ , SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 1+ , SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 1+ , SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 1+ , SrcSpan "tests/examples/DsStrictData.hs" 11 1 11 1+ , SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 1+ , SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 1+ , SrcSpan "tests/examples/DsStrictData.hs" 17 1 17 1+ , SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 1+ , SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 1+ , SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 1+ , SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 1+ , SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 1+ , SrcSpan "tests/examples/DsStrictData.hs" 38 1 38 1+ , SrcSpan "tests/examples/DsStrictData.hs" 49 1 49 1+ , SrcSpan "tests/examples/DsStrictData.hs" 49 1 49 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 7+ , SrcSpan "tests/examples/DsStrictData.hs" 4 13 4 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ "Main")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 13+ , SrcSpan "tests/examples/DsStrictData.hs" 1 33 1 34+ , SrcSpan "tests/examples/DsStrictData.hs" 1 45 1 46+ , SrcSpan "tests/examples/DsStrictData.hs" 1 53 1 56+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 14 1 33+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 35 1 45+ , srcInfoPoints = []+ }+ "StrictData"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 47 1 52+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 7+ , SrcSpan "tests/examples/DsStrictData.hs" 6 8 6 17+ , SrcSpan "tests/examples/DsStrictData.hs" 6 36 6 38+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 18 6 35+ , srcInfoPoints = []+ }+ "Control.Exception"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 39 6 40+ , srcInfoPoints = []+ }+ "E")+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 8 7 24+ , srcInfoPoints = []+ }+ "System.IO.Unsafe"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 25 7 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 7 25 7 26+ , SrcSpan "tests/examples/DsStrictData.hs" 7 41 7 42+ ]+ }+ False+ [ IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 26 7 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 26 7 41+ , srcInfoPoints = []+ }+ "unsafePerformIO")+ ])+ }+ ]+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 9 15 9 16 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 12+ , srcInfoPoints = []+ }+ "Strict"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 13 9 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 13 9 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 18+ , srcInfoPoints = []+ }+ "S")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 19 9 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 19 9 20+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 10 16 10 17 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 13+ , srcInfoPoints = []+ }+ "Strict2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 14 10 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 14 10 15+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 20+ , srcInfoPoints = []+ }+ "S2")+ [ TyBang+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 21 10 23+ , srcInfoPoints = []+ }+ (BangedTy+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 21 10 22+ , srcInfoPoints = []+ })+ (NoUnpackPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 22 10 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 22 10 23+ , srcInfoPoints = []+ }+ "b"))+ ])+ ]+ []+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 1 14 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 11 16 11 21+ , SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 3+ , SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 1 11 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 13+ , srcInfoPoints = []+ }+ "Strict3"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 11 14 11 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 11 14 11 15+ , srcInfoPoints = []+ }+ "c")))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 12 6 12 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 5+ , srcInfoPoints = []+ }+ "S3")+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 12 11 12 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 10+ , srcInfoPoints = []+ }+ "c"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21+ , srcInfoPoints = []+ }+ "Strict3")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 22 12 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 22 12 23+ , srcInfoPoints = []+ }+ "c"))))+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 14 14 14 15 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 6 14 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 6 14 13+ , srcInfoPoints = []+ }+ "UStrict"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 37+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 18+ , srcInfoPoints = []+ }+ "US")+ [ TyBang+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 37+ , srcInfoPoints = []+ }+ (NoStrictAnnot+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (Unpack+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 29+ , SrcSpan "tests/examples/DsStrictData.hs" 14 30 14 33+ ]+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37+ , srcInfoPoints = []+ }+ "Int")))+ ])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 16 13 16 14 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 10+ , srcInfoPoints = []+ }+ "Lazy"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 11 16 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 11 16 12+ , srcInfoPoints = []+ }+ "d")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 16+ , srcInfoPoints = []+ }+ "L")+ [ TyBang+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 17 16 19+ , srcInfoPoints = []+ }+ (LazyTy+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 17 16 18+ , srcInfoPoints = []+ })+ (NoUnpackPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 18 16 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 18 16 19+ , srcInfoPoints = []+ }+ "d"))+ ])+ ]+ []+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 1 20 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 17 14 17 19+ , SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 3+ , SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 1 17 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 11+ , srcInfoPoints = []+ }+ "Lazy2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 17 12 17 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 17 12 17 13+ , srcInfoPoints = []+ }+ "e")))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 18 6 18 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 5+ , srcInfoPoints = []+ }+ "L2")+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 18 12 18 14 ]+ }+ (TyBang+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 11+ , srcInfoPoints = []+ }+ (LazyTy+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 10+ , srcInfoPoints = []+ })+ (NoUnpackPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 10 18 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 10 18 11+ , srcInfoPoints = []+ }+ "e")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20+ , srcInfoPoints = []+ }+ "Lazy2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 21 18 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 21 18 22+ , srcInfoPoints = []+ }+ "e"))))+ ]+ []+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 20 6 20 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 5+ , srcInfoPoints = []+ }+ "main"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13+ , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13+ , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13+ , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14+ ]+ }))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 29 42+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 6 29 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 21 6 21 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 3 29 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 22 3 22 5+ , SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 6+ , SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 6+ , SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 6+ , SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 6+ , SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 6+ , SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 6+ , SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 6+ , SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 6+ , SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 33+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 12 22 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 22 12 22 13+ , SrcSpan "tests/examples/DsStrictData.hs" 22 32 22 33+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 22 22 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 22 22 22 23+ , SrcSpan "tests/examples/DsStrictData.hs" 22 31 22 32+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 31+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 22 23 22 24+ , srcInfoPoints = []+ }+ "S")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 25 22 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 25 22 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 22 25 22 31+ , srcInfoPoints = []+ }+ "bottom"))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 12 23 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 23 12 23 13+ , SrcSpan "tests/examples/DsStrictData.hs" 23 33 23 34+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 22 23 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 23 22 23 23+ , SrcSpan "tests/examples/DsStrictData.hs" 23 32 23 33+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 32+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 23 23 23 25+ , srcInfoPoints = []+ }+ "S2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 26 23 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 26 23 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 23 26 23 32+ , srcInfoPoints = []+ }+ "bottom"))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 12 24 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 24 12 24 13+ , SrcSpan "tests/examples/DsStrictData.hs" 24 33 24 34+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 22 24 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 24 22 24 23+ , SrcSpan "tests/examples/DsStrictData.hs" 24 32 24 33+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 32+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 24 23 24 25+ , srcInfoPoints = []+ }+ "US")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 26 24 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 26 24 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 24 26 24 32+ , srcInfoPoints = []+ }+ "bottom"))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 12 25 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 25 12 25 13+ , SrcSpan "tests/examples/DsStrictData.hs" 25 33 25 34+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 22 25 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 25 22 25 23+ , SrcSpan "tests/examples/DsStrictData.hs" 25 32 25 33+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 32+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 25 23 25 25+ , srcInfoPoints = []+ }+ "S3")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 26 25 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 26 25 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 25 26 25 32+ , srcInfoPoints = []+ }+ "bottom"))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 17+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14+ , srcInfoPoints = []+ }+ "putStrLn")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 26 15 26 17+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 26 15 26 17+ , srcInfoPoints = []+ }+ ""+ "")))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 12 27 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 27 12 27 13+ , SrcSpan "tests/examples/DsStrictData.hs" 27 38 27 39+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16+ , srcInfoPoints = []+ }+ "not")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 17 27 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 27 17 27 18+ , SrcSpan "tests/examples/DsStrictData.hs" 27 37 27 38+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 27 18 27 26+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 27 27 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 27 27 27 28+ , SrcSpan "tests/examples/DsStrictData.hs" 27 36 27 37+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 28 27 36+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 27 28 27 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 27 28 27 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 27+ 28+ 27+ 29+ , srcInfoPoints = []+ }+ "L")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 27 30 27 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 27 30 27 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 27+ 30+ 27+ 36+ , srcInfoPoints = []+ }+ "bottom"))))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 40+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 12 28 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 28 12 28 13+ , SrcSpan "tests/examples/DsStrictData.hs" 28 39 28 40+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16+ , srcInfoPoints = []+ }+ "not")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 17 28 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 28 17 28 18+ , SrcSpan "tests/examples/DsStrictData.hs" 28 38 28 39+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 28 18 28 26+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 27 28 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 28 27 28 28+ , SrcSpan "tests/examples/DsStrictData.hs" 28 37 28 38+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 28 28 37+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 28 28 28 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 28 28 28 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 28+ 28+ 28+ 30+ , srcInfoPoints = []+ }+ "L2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 28 31 28 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 28 31 28 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 28+ 31+ 28+ 37+ , srcInfoPoints = []+ }+ "bottom"))))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 42+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 12 29 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 29 12 29 13+ , SrcSpan "tests/examples/DsStrictData.hs" 29 41 29 42+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16+ , srcInfoPoints = []+ }+ "not")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 17 29 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 29 17 29 18+ , SrcSpan "tests/examples/DsStrictData.hs" 29 40 29 41+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 29 18 29 26+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 27 29 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 29 27 29 28+ , SrcSpan "tests/examples/DsStrictData.hs" 29 39 29 40+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 28 29 39+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 29 28 29 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 29 28 29 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 29+ 28+ 29+ 32+ , srcInfoPoints = []+ }+ "Just")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 29 33 29 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 29 33 29 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 29+ 33+ 29+ 39+ , srcInfoPoints = []+ }+ "bottom"))))))))))+ ]))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 34 8 34 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 7+ , srcInfoPoints = []+ }+ "bottom"+ ]+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 34 11 34 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 34 11 34 12+ , srcInfoPoints = []+ }+ "a"))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 7+ , srcInfoPoints = []+ }+ "bottom"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 8 35 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 35 8 35 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15+ , srcInfoPoints = []+ }+ "error")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 16 35 21+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 16 35 21+ , srcInfoPoints = []+ }+ "_|_"+ "_|_"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 37 10 37 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 9+ , srcInfoPoints = []+ }+ "isBottom"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 37 15 37 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 14+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 48 6+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 48 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 38 9+ , srcInfoPoints = []+ }+ "isBottom")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 10 38 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 10 38 11+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 12 48 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 38 12 38 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 14 48 6+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29+ , srcInfoPoints = []+ }+ "unsafePerformIO")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 3 48 6+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 3 39 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 39 3 39 4+ , SrcSpan "tests/examples/DsStrictData.hs" 39 32 39 33+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+ , srcInfoPoints = []+ }+ "evaluate")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16+ , srcInfoPoints = []+ }+ "f"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19+ , srcInfoPoints = []+ }+ ">>")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32+ , srcInfoPoints = []+ }+ "False"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 35+ , SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+ , SrcSpan "tests/examples/DsStrictData.hs" 39 44 39 45+ ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 35+ , SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+ , SrcSpan "tests/examples/DsStrictData.hs" 39 44 39 45+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+ , srcInfoPoints = []+ }+ "catches")))+ (List+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 40 5 48 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 40 5 40 6+ , SrcSpan "tests/examples/DsStrictData.hs" 41 5 41 6+ , SrcSpan "tests/examples/DsStrictData.hs" 42 5 42 6+ , SrcSpan "tests/examples/DsStrictData.hs" 43 5 43 6+ , SrcSpan "tests/examples/DsStrictData.hs" 44 5 44 6+ , SrcSpan "tests/examples/DsStrictData.hs" 45 5 45 6+ , SrcSpan "tests/examples/DsStrictData.hs" 46 5 46 6+ , SrcSpan "tests/examples/DsStrictData.hs" 47 5 47 6+ , SrcSpan "tests/examples/DsStrictData.hs" 48 5 48 6+ ]+ }+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 17 40 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 40 17 40 18+ , SrcSpan "tests/examples/DsStrictData.hs" 40 59 40 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 18 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 40 18 40 19+ , SrcSpan "tests/examples/DsStrictData.hs" 40 45 40 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 19 40 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 40 19 40 20+ , SrcSpan "tests/examples/DsStrictData.hs" 40 41 40 42+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 20 40 41+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 40 22 40 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 20 40 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 25 40 41+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 40+ 25+ 40+ 41+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 40+ 25+ 40+ 41+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 40+ 25+ 40+ 41+ , srcInfoPoints = []+ }+ "ArrayException"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 48 40 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 48 40 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 48 40 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 48 40 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 55 40 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 55 40 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 55 40 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 17 41 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 41 17 41 18+ , SrcSpan "tests/examples/DsStrictData.hs" 41 59 41 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 18 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 41 18 41 19+ , SrcSpan "tests/examples/DsStrictData.hs" 41 45 41 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 19 41 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 41 19 41 20+ , SrcSpan "tests/examples/DsStrictData.hs" 41 36 41 37+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 20 41 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 41 22 41 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 20 41 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 25 41 36+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 41+ 25+ 41+ 36+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 41+ 25+ 41+ 36+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 41+ 25+ 41+ 36+ , srcInfoPoints = []+ }+ "ErrorCall"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 48 41 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 48 41 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 48 41 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 48 41 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 55 41 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 55 41 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 55 41 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 17 42 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 42 17 42 18+ , SrcSpan "tests/examples/DsStrictData.hs" 42 59 42 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 18 42 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 42 18 42 19+ , SrcSpan "tests/examples/DsStrictData.hs" 42 45 42 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 19 42 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 42 19 42 20+ , SrcSpan "tests/examples/DsStrictData.hs" 42 40 42 41+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 20 42 40+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 42 22 42 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 20 42 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 25 42 40+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 42+ 25+ 42+ 40+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 42+ 25+ 42+ 40+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 42+ 25+ 42+ 40+ , srcInfoPoints = []+ }+ "NoMethodError"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 48 42 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 48 42 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 48 42 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 48 42 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 55 42 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 55 42 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 55 42 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 17 43 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 43 17 43 18+ , SrcSpan "tests/examples/DsStrictData.hs" 43 59 43 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 18 43 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 43 18 43 19+ , SrcSpan "tests/examples/DsStrictData.hs" 43 45 43 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 19 43 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 43 19 43 20+ , SrcSpan "tests/examples/DsStrictData.hs" 43 41 43 42+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 20 43 41+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 43 22 43 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 20 43 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 25 43 41+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 43+ 25+ 43+ 41+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 43+ 25+ 43+ 41+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 43+ 25+ 43+ 41+ , srcInfoPoints = []+ }+ "NonTermination"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 48 43 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 48 43 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 48 43 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 48 43 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 55 43 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 55 43 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 55 43 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 17 44 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 44 17 44 18+ , SrcSpan "tests/examples/DsStrictData.hs" 44 59 44 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 18 44 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 44 18 44 19+ , SrcSpan "tests/examples/DsStrictData.hs" 44 45 44 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 19 44 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 44 19 44 20+ , SrcSpan "tests/examples/DsStrictData.hs" 44 43 44 44+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 20 44 43+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 44 22 44 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 20 44 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 25 44 43+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 44+ 25+ 44+ 43+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 44+ 25+ 44+ 43+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 44+ 25+ 44+ 43+ , srcInfoPoints = []+ }+ "PatternMatchFail"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 48 44 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 48 44 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 48 44 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 48 44 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 55 44 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 55 44 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 55 44 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 17 45 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 45 17 45 18+ , SrcSpan "tests/examples/DsStrictData.hs" 45 59 45 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 18 45 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 45 18 45 19+ , SrcSpan "tests/examples/DsStrictData.hs" 45 45 45 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 19 45 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 45 19 45 20+ , SrcSpan "tests/examples/DsStrictData.hs" 45 38 45 39+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 20 45 38+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 45 22 45 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 20 45 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 25 45 38+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 45+ 25+ 45+ 38+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 45+ 25+ 45+ 38+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 45+ 25+ 45+ 38+ , srcInfoPoints = []+ }+ "RecConError"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 48 45 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 48 45 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 48 45 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 48 45 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 55 45 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 55 45 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 55 45 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 17 46 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 46 17 46 18+ , SrcSpan "tests/examples/DsStrictData.hs" 46 59 46 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 18 46 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 46 18 46 19+ , SrcSpan "tests/examples/DsStrictData.hs" 46 45 46 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 19 46 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 46 19 46 20+ , SrcSpan "tests/examples/DsStrictData.hs" 46 38 46 39+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 20 46 38+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 46 22 46 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 20 46 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 25 46 38+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 46+ 25+ 46+ 38+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 46+ 25+ 46+ 38+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 46+ 25+ 46+ 38+ , srcInfoPoints = []+ }+ "RecSelError"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 48 46 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 48 46 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 48 46 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 48 46 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 55 46 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 55 46 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 55 46 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 17 47 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 47 17 47 18+ , SrcSpan "tests/examples/DsStrictData.hs" 47 59 47 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 18 47 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 47 18 47 19+ , SrcSpan "tests/examples/DsStrictData.hs" 47 45 47 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 19 47 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 47 19 47 20+ , SrcSpan "tests/examples/DsStrictData.hs" 47 38 47 39+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 20 47 38+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 47 22 47 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 20 47 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 25 47 38+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 47+ 25+ 47+ 38+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 47+ 25+ 47+ 38+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 47+ 25+ 47+ 38+ , srcInfoPoints = []+ }+ "RecUpdError"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 48 47 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 48 47 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 48 47 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 48 47 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 55 47 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 55 47 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 55 47 59+ , srcInfoPoints = []+ }+ "True"))))))+ ]))))+ Nothing+ ]+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/DsStrictData.hs" 3 1 3 43)+ " | Tests the StrictData LANGUAGE pragma."+ , Comment+ False+ (SrcSpan "tests/examples/DsStrictData.hs" 29 43 29 58)+ " sanity check"+ , Comment+ False+ (SrcSpan "tests/examples/DsStrictData.hs" 31 1 31 73)+ "----------------------------------------------------------------------"+ , Comment+ False+ (SrcSpan "tests/examples/DsStrictData.hs" 32 1 32 34)+ " Support for testing for bottom"+ ]+ )
+ tests/examples/DsStrictData.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DsStrictData.hs.prettyprinter.golden view
@@ -0,0 +1,45 @@+{-# LANGUAGE ScopedTypeVariables, StrictData, GADTs #-}+module Main where+import qualified Control.Exception as E+import System.IO.Unsafe (unsafePerformIO)++data Strict a = S a++data Strict2 b = S2 !b++data Strict3 c where+ S3 :: c -> Strict3 c++data UStrict = US {-# UNPACK #-} Int++data Lazy d = L ~d++data Lazy2 e where+ L2 :: ~e -> Lazy2 e++main :: IO ()+main+ = do print (isBottom (S bottom))+ print (isBottom (S2 bottom))+ print (isBottom (US bottom))+ print (isBottom (S3 bottom))+ putStrLn ""+ print (not (isBottom (L bottom)))+ print (not (isBottom (L2 bottom)))+ print (not (isBottom (Just bottom)))++bottom :: a+bottom = error "_|_"++isBottom :: a -> Bool+isBottom f+ = unsafePerformIO $+ (E.evaluate f >> return False) `E.catches`+ [E.Handler (\ (_ :: E.ArrayException) -> return True),+ E.Handler (\ (_ :: E.ErrorCall) -> return True),+ E.Handler (\ (_ :: E.NoMethodError) -> return True),+ E.Handler (\ (_ :: E.NonTermination) -> return True),+ E.Handler (\ (_ :: E.PatternMatchFail) -> return True),+ E.Handler (\ (_ :: E.RecConError) -> return True),+ E.Handler (\ (_ :: E.RecSelError) -> return True),+ E.Handler (\ (_ :: E.RecUpdError) -> return True)]
tests/examples/EmptyAnn.hs.parser.golden view
@@ -1,1 +1,49 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1}]}) Nothing [AnnModulePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 1, srcSpanStartColumn = 35, srcSpanEndLine = 1, srcSpanEndColumn = 38}]}) (Ann (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 1, srcSpanStartColumn = 9, srcSpanEndLine = 1, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 1, srcSpanStartColumn = 9, srcSpanEndLine = 1, srcSpanEndColumn = 12}, srcInfoPoints = []}) "foo") (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 1, srcSpanStartColumn = 13, srcSpanEndLine = 1, srcSpanEndColumn = 34}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyAnn.hs", srcSpanStartLine = 1, srcSpanStartColumn = 13, srcSpanEndLine = 1, srcSpanEndColumn = 34}, srcInfoPoints = []}) "Hlint: ignore Test4" "Hlint: ignore Test4")))] [] [],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyAnn.hs" 1 1 2 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyAnn.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyAnn.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyAnn.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyAnn.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyAnn.hs" 2 1 2 1+ ]+ }+ Nothing+ [ AnnModulePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyAnn.hs" 1 1 1 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyAnn.hs" 1 1 1 8+ , SrcSpan "tests/examples/EmptyAnn.hs" 1 35 1 38+ ]+ }+ (Ann+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyAnn.hs" 1 9 1 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyAnn.hs" 1 9 1 12+ , srcInfoPoints = []+ }+ "foo")+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyAnn.hs" 1 13 1 34+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyAnn.hs" 1 13 1 34+ , srcInfoPoints = []+ }+ "Hlint: ignore Test4"+ "Hlint: ignore Test4")))+ ]+ []+ []+ , []+ )
tests/examples/EmptyAnn.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@ {-# ANN foo "Hlint: ignore Test4" #-}-module Main (main) where
+ tests/examples/EmptyCase.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyCase #-}+{-# LANGUAGE LambdaCase #-}++f x = case x of {}++g x = \case {}
+ tests/examples/EmptyCase.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/EmptyCase.hs.parser.golden view
@@ -0,0 +1,159 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyCase.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyCase.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 1+ , SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 1+ , SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 1+ , SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 1+ , SrcSpan "tests/examples/EmptyCase.hs" 7 1 7 1+ , SrcSpan "tests/examples/EmptyCase.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyCase.hs" 1 1 1 13+ , SrcSpan "tests/examples/EmptyCase.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "EmptyCase"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 2 1 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyCase.hs" 2 1 2 13+ , SrcSpan "tests/examples/EmptyCase.hs" 2 25 2 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 2 14 2 24+ , srcInfoPoints = []+ }+ "LambdaCase"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 5 4 19+ , srcInfoPoints = [ SrcSpan "tests/examples/EmptyCase.hs" 4 5 4 6 ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 7 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyCase.hs" 4 7 4 11+ , SrcSpan "tests/examples/EmptyCase.hs" 4 14 4 16+ , SrcSpan "tests/examples/EmptyCase.hs" 4 17 4 18+ , SrcSpan "tests/examples/EmptyCase.hs" 4 18 4 19+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "x")))+ []))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 2+ , srcInfoPoints = []+ }+ "g")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 3 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 3 6 4+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 5 6 15+ , srcInfoPoints = [ SrcSpan "tests/examples/EmptyCase.hs" 6 5 6 6 ]+ }+ (LCase+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 7 6 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyCase.hs" 6 7 6 8+ , SrcSpan "tests/examples/EmptyCase.hs" 6 8 6 12+ , SrcSpan "tests/examples/EmptyCase.hs" 6 13 6 14+ , SrcSpan "tests/examples/EmptyCase.hs" 6 14 6 15+ ]+ }+ []))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/EmptyCase.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/EmptyCase.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE EmptyCase #-}+{-# LANGUAGE LambdaCase #-}+f x = case x of { }+g x = \case { }
tests/examples/EmptyContext.hs.parser.golden view
@@ -1,1 +1,79 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1}]}) Nothing [] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 11, srcSpanEndLine = 1, srcSpanEndColumn = 13}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 10}, srcInfoPoints = []}) "happyThen"] (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = []}) Nothing (Just (CxEmpty (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 19}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 15, srcSpanEndLine = 1, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 17, srcSpanEndLine = 1, srcSpanEndColumn = 19}]}))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 20, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 20, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 20, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 20, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) "P"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 22, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyContext.hs", srcSpanStartLine = 1, srcSpanStartColumn = 22, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = []}) "a"))))],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 1 2 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyContext.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyContext.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyContext.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyContext.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyContext.hs" 2 1 2 1+ ]+ }+ Nothing+ []+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyContext.hs" 1 11 1 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 1 1 10+ , srcInfoPoints = []+ }+ "happyThen"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 14 1 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyContext.hs" 1 14 1 15+ , SrcSpan "tests/examples/EmptyContext.hs" 1 15 1 16+ , SrcSpan "tests/examples/EmptyContext.hs" 1 17 1 19+ ]+ }))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 20 1 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 20 1 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 20 1 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 20 1 21+ , srcInfoPoints = []+ }+ "P")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 22 1 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyContext.hs" 1 22 1 23+ , srcInfoPoints = []+ }+ "a"))))+ ]+ , []+ )
tests/examples/EmptyContext.hs.prettyparser.golden view
@@ -1,10 +1,1 @@-Roundtrip test failed--AST 1:--Module (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyThen"] (TyForall Nothing [] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))]--AST 2:--Module (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "happyThen"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))]-+Match
tests/examples/EmptyContext.hs.prettyprinter.golden view
@@ -1,3 +1,1 @@-module Main (main) where- -happyThen :: P a+happyThen :: () => P a
tests/examples/EmptyFunDepPremise.hs.parser.golden view
@@ -1,1 +1,115 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 2, srcSpanStartColumn = 27, srcSpanEndLine = 2, srcSpanEndColumn = 32}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 26}, srcInfoPoints = []}) "EmptyFunDepPremise") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 1, srcSpanStartColumn = 37, srcSpanEndLine = 1, srcSpanEndColumn = 40}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 36}, srcInfoPoints = []}) "FunctionalDependencies"]] [] [ClassDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 11, srcSpanEndLine = 4, srcSpanEndColumn = 12}]}) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 8}, srcInfoPoints = []}) "C") [UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) "a")]) [FunDep (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 15}]}) [] [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyFunDepPremise.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 17}, srcInfoPoints = []}) "a"]] Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 1 4 1+ , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 5 1 5 1+ , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 1 2 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 1 2 7+ , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 27 2 32+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 8 2 26+ , srcInfoPoints = []+ }+ "EmptyFunDepPremise")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 1 1 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 1 1 13+ , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 37 1 40+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 14 1 36+ , srcInfoPoints = []+ }+ "FunctionalDependencies"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 1 4 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 1 4 6+ , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 11 4 12+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 7 4 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 7 4 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 7 4 8+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ "a")))+ [ FunDep+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 13 4 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 13 4 15 ]+ }+ []+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ "a"+ ]+ ]+ Nothing+ ]+ , []+ )
tests/examples/EmptyFunDepPremise.hs.prettyprinter.golden view
@@ -1,4 +1,4 @@ {-# LANGUAGE FunctionalDependencies #-} module EmptyFunDepPremise where- + class C a | -> a
tests/examples/EmptyInstance.hs.parser.golden view
@@ -1,1 +1,141 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) Nothing [] [] [InstDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 27, srcSpanEndLine = 1, srcSpanEndColumn = 32},SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 0, srcSpanEndLine = 3, srcSpanEndColumn = 0}]}) Nothing (IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Traversable")) [TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 22, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 22, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 22, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) "Tree"))]) (Just []),TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 5}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 2}, srcInfoPoints = []}) "x"] (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) "Int"))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 6}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) "x")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 4}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 6}, srcInfoPoints = []}) 1 "1"))) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyInstance.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyInstance.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyInstance.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyInstance.hs" 3 1 3 1+ , SrcSpan "tests/examples/EmptyInstance.hs" 4 1 4 1+ , SrcSpan "tests/examples/EmptyInstance.hs" 5 1 5 1+ , SrcSpan "tests/examples/EmptyInstance.hs" 5 1 5 1+ ]+ }+ Nothing+ []+ []+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 1 1 3 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyInstance.hs" 1 1 1 9+ , SrcSpan "tests/examples/EmptyInstance.hs" 1 27 1 32+ , SrcSpan "tests/examples/EmptyInstance.hs" 3 1 3 1+ , SrcSpan "tests/examples/EmptyInstance.hs" 3 1 3 1+ , SrcSpan "tests/examples/EmptyInstance.hs" 3 0 3 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 1 10 1 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 1 10 1 26+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 1 10 1 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 1 10 1 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 1 10 1 21+ , srcInfoPoints = []+ }+ "Traversable")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 1 22 1 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 1 22 1 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 1 22 1 26+ , srcInfoPoints = []+ }+ "Tree")))))+ (Just [])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 3 1 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyInstance.hs" 3 3 3 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "x"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ "Int")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 4 1 4 6+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 4 3 4 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyInstance.hs" 4 3 4 4 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyInstance.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ ]+ , []+ )
tests/examples/EmptyInstance.hs.prettyprinter.golden view
@@ -1,6 +1,4 @@-module Main (main) where- -instance Traversable Tree- +instance Traversable Tree where+ x :: Int x = 1
tests/examples/EmptyList.hs.parser.golden view
@@ -1,1 +1,65 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 1, srcSpanStartColumn = 18, srcSpanEndLine = 1, srcSpanEndColumn = 23}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 17}, srcInfoPoints = []}) "EmptyList") Nothing Nothing)) [] [] [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 7}, srcInfoPoints = []}) "eAttrs")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 9}]}) (List (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 3, srcSpanStartColumn = 10, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 3, srcSpanStartColumn = 10, srcSpanEndLine = 3, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/EmptyList.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12}]}) [])) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyList.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyList.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyList.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyList.hs" 3 1 3 1+ , SrcSpan "tests/examples/EmptyList.hs" 4 1 4 1+ , SrcSpan "tests/examples/EmptyList.hs" 4 1 4 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyList.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyList.hs" 1 1 1 7+ , SrcSpan "tests/examples/EmptyList.hs" 1 18 1 23+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyList.hs" 1 8 1 17+ , srcInfoPoints = []+ }+ "EmptyList")+ Nothing+ Nothing))+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyList.hs" 3 1 3 12+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyList.hs" 3 1 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyList.hs" 3 1 3 7+ , srcInfoPoints = []+ }+ "eAttrs"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyList.hs" 3 8 3 12+ , srcInfoPoints = [ SrcSpan "tests/examples/EmptyList.hs" 3 8 3 9 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyList.hs" 3 10 3 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyList.hs" 3 10 3 11+ , SrcSpan "tests/examples/EmptyList.hs" 3 11 3 12+ ]+ }+ []))+ Nothing+ ]+ , []+ )
+ tests/examples/EmptyWhere.hs view
@@ -0,0 +1,1 @@+foo = 5 where
+ tests/examples/EmptyWhere.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/EmptyWhere.hs.parser.golden view
@@ -0,0 +1,64 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyWhere.hs" 1 1 2 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyWhere.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyWhere.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyWhere.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyWhere.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyWhere.hs" 2 1 2 1+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyWhere.hs" 1 1 2 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyWhere.hs" 1 9 1 14 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyWhere.hs" 1 1 1 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyWhere.hs" 1 1 1 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyWhere.hs" 1 5 1 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyWhere.hs" 1 5 1 6 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyWhere.hs" 1 7 1 8+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyWhere.hs" 1 7 1 8+ , srcInfoPoints = []+ }+ 5+ "5")))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyWhere.hs" 2 0 2 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyWhere.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyWhere.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyWhere.hs" 2 0 2 0+ ]+ }+ []))+ ]+ , []+ )
+ tests/examples/EmptyWhere.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/EmptyWhere.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+foo = 5+ where
+ tests/examples/EqualityConstraints1.hs view
@@ -0,0 +1,5 @@+-- https://github.com/haskell-suite/haskell-src-exts/issues/91+{-# LANGUAGE GADTs #-}++one :: a ~ Int => a+one = 1
+ tests/examples/EqualityConstraints1.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/EqualityConstraints1.hs.parser.golden view
@@ -0,0 +1,178 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 2 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 2 1 2 1+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 1 4 1+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 1 4 1+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 1 4 1+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 5 1 5 1+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 6 1 6 1+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 2 1 2 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 2 1 2 13+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 2 20 2 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 2 14 2 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 1 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 5 4 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "one"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 20+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+ ]+ }+ (TyEquals+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15+ , srcInfoPoints = []+ }+ "Int")))))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 19 4 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 19 4 20+ , srcInfoPoints = []+ }+ "a")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 5 1 5 8+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ "one"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 5 5 5 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 5 5 5 6 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/EqualityConstraints1.hs" 1 1 1 63)+ " https://github.com/haskell-suite/haskell-src-exts/issues/91"+ ]+ )
+ tests/examples/EqualityConstraints1.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/EqualityConstraints1.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++one :: a ~ Int => a+one = 1
+ tests/examples/EqualityConstraints2.hs view
@@ -0,0 +1,2 @@+one :: a ~ Int => a+one = 1
+ tests/examples/EqualityConstraints2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/EqualityConstraints2.hs" 1 19) "At least one of TypeFamilies or GADTs language extensions needs to be enabled. Please add: {-# LANGUAGE TypeFamilies #-} or {-# LANGUAGE GADTs #-} language pragma at the top of your module."
+ tests/examples/EqualityConstraints2.hs.parser.golden view
@@ -0,0 +1,3 @@+ParseFailed+ (SrcLoc "tests/examples/EqualityConstraints2.hs" 1 19)+ "At least one of TypeFamilies or GADTs language extensions needs to be enabled. Please add: {-# LANGUAGE TypeFamilies #-} or {-# LANGUAGE GADTs #-} language pragma at the top of your module."
+ tests/examples/EqualityConstraints2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/EqualityConstraints2.hs" 1 19) "At least one of TypeFamilies or GADTs language extensions needs to be enabled. Please add: {-# LANGUAGE TypeFamilies #-} or {-# LANGUAGE GADTs #-} language pragma at the top of your module."
+ tests/examples/EqualityConstraints2.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/EqualityConstraints2.hs" 1 19) "At least one of TypeFamilies or GADTs language extensions needs to be enabled. Please add: {-# LANGUAGE TypeFamilies #-} or {-# LANGUAGE GADTs #-} language pragma at the top of your module."
+ tests/examples/ExplicitNamespaces1.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitNamespaces #-}+import Data.Array.Repa ( type (++) )+import Data.Array.Repa ( type {- comment here -} (++) )+import Data.Array.Repa ( type {- comment2 here -} (++) {- and here -} )
+ tests/examples/ExplicitNamespaces1.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExplicitNamespaces1.hs.parser.golden view
@@ -0,0 +1,237 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 1 1 1 1+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 1 2 1+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 1 2 1+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 1 2 1+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 1 3 1+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 1 4 1+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 5 1 5 1+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 1 1 1 13+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "ExplicitNamespaces"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 1 2 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 1 2 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 8 2 23+ , srcInfoPoints = []+ }+ "Data.Array.Repa"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 24 2 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 24 2 25+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 36 2 37+ ]+ }+ False+ [ IAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 26 2 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 26 2 30+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 31 2 35+ ]+ }+ (TypeNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 26 2 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 26 2 30 ]+ })+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 31 2 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 31 2 32+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 32 2 34+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 2 34 2 35+ ]+ }+ "++")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 1 3 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 1 3 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 8 3 23+ , srcInfoPoints = []+ }+ "Data.Array.Repa"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 24 3 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 24 3 25+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 55 3 56+ ]+ }+ False+ [ IAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 26 3 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 26 3 30+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 50 3 54+ ]+ }+ (TypeNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 26 3 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 26 3 30 ]+ })+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 50 3 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 50 3 51+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 51 3 53+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 53 3 54+ ]+ }+ "++")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 1 4 76+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 1 4 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 8 4 23+ , srcInfoPoints = []+ }+ "Data.Array.Repa"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 24 4 76+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 24 4 25+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 75 4 76+ ]+ }+ False+ [ IAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 29 4 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 29 4 33+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 54 4 58+ ]+ }+ (TypeNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 29 4 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 29 4 33 ]+ })+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 54 4 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 54 4 55+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 55 4 57+ , SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 57 4 58+ ]+ }+ "++")+ ])+ }+ ]+ []+ , [ Comment+ True+ (SrcSpan "tests/examples/ExplicitNamespaces1.hs" 3 31 3 49)+ " comment here "+ , Comment+ True+ (SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 34 4 53)+ " comment2 here "+ , Comment+ True+ (SrcSpan "tests/examples/ExplicitNamespaces1.hs" 4 60 4 74)+ " and here "+ ]+ )
+ tests/examples/ExplicitNamespaces1.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExplicitNamespaces1.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitNamespaces #-}+import Data.Array.Repa (type (++))+import Data.Array.Repa (type (++))+import Data.Array.Repa (type (++))
+ tests/examples/ExplicitNamespaces2.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitNamespaces #-}+module ExplicitNamespaces2 ( f, type (++) ) where++f = undefined
+ tests/examples/ExplicitNamespaces2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExplicitNamespaces2.hs.parser.golden view
@@ -0,0 +1,164 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 1 1 1 1+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 1 2 1+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 1 2 1+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 4 1 4 1+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 5 1 5 1+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 1 2 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 1 2 7+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 45 2 50+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 8 2 27+ , srcInfoPoints = []+ }+ "ExplicitNamespaces2")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 28 2 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 28 2 29+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 31 2 32+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 43 2 44+ ]+ }+ [ EVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 30 2 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 30 2 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 30 2 31+ , srcInfoPoints = []+ }+ "f"))+ , EAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 33 2 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 33 2 37+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 38 2 42+ ]+ }+ (TypeNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 33 2 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 33 2 37 ]+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 38 2 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 38 2 39+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 39 2 41+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 41 2 42+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 2 39 2 41+ , srcInfoPoints = []+ }+ "++"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 1 1 1 13+ , SrcSpan "tests/examples/ExplicitNamespaces2.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "ExplicitNamespaces"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 4 1 4 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 4 3 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 4 3 4 4 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 4 5 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 4 5 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces2.hs" 4 5 4 14+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ , []+ )
+ tests/examples/ExplicitNamespaces2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExplicitNamespaces2.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE ExplicitNamespaces #-}+module ExplicitNamespaces2 (f, type (++)) where+f = undefined
+ tests/examples/ExplicitNamespaces3.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE ExplicitNamespaces #-}++module Foo(type Str) where++data Str = Str
+ tests/examples/ExplicitNamespaces3.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExplicitNamespaces3.hs.parser.golden view
@@ -0,0 +1,145 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 1 1 1 1+ , SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 1 3 1+ , SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 1 3 1+ , SrcSpan "tests/examples/ExplicitNamespaces3.hs" 5 1 5 1+ , SrcSpan "tests/examples/ExplicitNamespaces3.hs" 6 1 6 1+ , SrcSpan "tests/examples/ExplicitNamespaces3.hs" 6 1 6 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 1 3 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 1 3 7+ , SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 22 3 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 8 3 11+ , srcInfoPoints = []+ }+ "Foo")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 11 3 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 11 3 12+ , SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 20 3 21+ ]+ }+ [ EAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 12 3 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 12 3 16+ , SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 17 3 20+ ]+ }+ (TypeNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 12 3 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 12 3 16 ]+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 17 3 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 3 17 3 20+ , srcInfoPoints = []+ }+ "Str"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 1 1 1 13+ , SrcSpan "tests/examples/ExplicitNamespaces3.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "ExplicitNamespaces"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 5 1 5 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 5 10 5 11 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 5 1 5 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ "Str"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 5 12 5 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 5 12 5 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces3.hs" 5 12 5 15+ , srcInfoPoints = []+ }+ "Str")+ [])+ ]+ []+ ]+ , []+ )
+ tests/examples/ExplicitNamespaces3.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExplicitNamespaces3.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitNamespaces #-}+module Foo (type Str) where++data Str = Str
+ tests/examples/ExplicitNamespaces4.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE TypeOperators #-}+module Foo (type (:-)) where++data (:-) = Foo
+ tests/examples/ExplicitNamespaces4.hs.exactprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE TypeOperators #-}+module Foo (type (:-)) where++data :- = Foo+
+ tests/examples/ExplicitNamespaces4.hs.parser.golden view
@@ -0,0 +1,171 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 1 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 1 2 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 1 5 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 6 1 6 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 6 1 6 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 7+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 24 3 29+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 8 3 11+ , srcInfoPoints = []+ }+ "Foo")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 12 3 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 12 3 13+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 22 3 23+ ]+ }+ [ EAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 17+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 18 3 22+ ]+ }+ (TypeNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 17 ]+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 18 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 18 3 19+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 19 3 21+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 21 3 22+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 19 3 21+ , srcInfoPoints = []+ }+ ":-"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 1 13+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "ExplicitNamespaces"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 1 2 13+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 28 2 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 14 2 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 1 5 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 11 5 12 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 1 5 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 6 5 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 6 5 7+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 7 5 9+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 9 5 10+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 7 5 9+ , srcInfoPoints = []+ }+ ":-"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ "Foo")+ [])+ ]+ []+ ]+ , []+ )
+ tests/examples/ExplicitNamespaces4.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExplicitNamespaces4.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE TypeOperators #-}+module Foo (type (:-)) where++data (:-) = Foo
+ tests/examples/ExprHole.hs view
@@ -0,0 +1,10 @@++foo = _++foo = _ x++foo = _++foo x = baz+ where+ foo _ = _
+ tests/examples/ExprHole.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExprHole.hs.parser.golden view
@@ -0,0 +1,260 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 1 11 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExprHole.hs" 2 1 2 1+ , SrcSpan "tests/examples/ExprHole.hs" 2 1 2 1+ , SrcSpan "tests/examples/ExprHole.hs" 2 1 2 1+ , SrcSpan "tests/examples/ExprHole.hs" 4 1 4 1+ , SrcSpan "tests/examples/ExprHole.hs" 6 1 6 1+ , SrcSpan "tests/examples/ExprHole.hs" 8 1 8 1+ , SrcSpan "tests/examples/ExprHole.hs" 11 1 11 1+ , SrcSpan "tests/examples/ExprHole.hs" 11 1 11 1+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 1 2 8+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 1 2 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 1 2 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 5 2 8+ , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 2 5 2 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 7 2 8+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 7 2 8+ , srcInfoPoints = []+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 7 2 8+ , srcInfoPoints = []+ }))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 1 4 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 5 4 10+ , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 4 5 4 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 10+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 8+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 8+ , srcInfoPoints = []+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 8+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 1 6 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 5 6 11+ , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 6 5 6 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 10 6 11+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 10 6 11+ , srcInfoPoints = []+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 10 6 11+ , srcInfoPoints = []+ }))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 1 10 14+ , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 9 3 9 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 1 10 14+ , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 9 3 9 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 5 8 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 5 8 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 7 8 12+ , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 8 7 8 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 9 8 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 9 8 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 9 8 12+ , srcInfoPoints = []+ }+ "baz"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 5 10 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExprHole.hs" 10 5 10 5+ , SrcSpan "tests/examples/ExprHole.hs" 11 1 11 0+ ]+ }+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 5 10 14+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 5 10 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 5 10 8+ , srcInfoPoints = []+ }+ "foo")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 9 10 10+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 11 10 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExprHole.hs" 10 11 10 12 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 13 10 14+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExprHole.hs" 10 13 10 14+ , srcInfoPoints = []+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExprHole.hs" 10 13 10 14+ , srcInfoPoints = []+ }))))+ Nothing+ ]+ ]))+ ]+ ]+ , []+ )
+ tests/examples/ExprHole.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExprHole.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+foo = _+foo = _ x+foo = _+foo x = baz+ where foo _ = _
tests/examples/ExtraEndBrace.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ExtraEndBrace.hs", srcLine = 3, srcColumn = 20}) "Unexpected }"+ParseFailed (SrcLoc "tests/examples/ExtraEndBrace.hs" 3 20) "Unexpected }"
tests/examples/ExtraEndBrace.hs.parser.golden view
@@ -1,1 +1,2 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ExtraEndBrace.hs", srcLine = 3, srcColumn = 20}) "Unexpected }"+ParseFailed+ (SrcLoc "tests/examples/ExtraEndBrace.hs" 3 20) "Unexpected }"
tests/examples/ExtraEndBrace.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ExtraEndBrace.hs", srcLine = 3, srcColumn = 20}) "Unexpected }"+ParseFailed (SrcLoc "tests/examples/ExtraEndBrace.hs" 3 20) "Unexpected }"
tests/examples/ExtraEndBrace.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ExtraEndBrace.hs", srcLine = 3, srcColumn = 20}) "Unexpected }"+ParseFailed (SrcLoc "tests/examples/ExtraEndBrace.hs" 3 20) "Unexpected }"
+ tests/examples/ExtraPrettyParentheses.hs view
@@ -0,0 +1,9 @@+data Q a = Q a a++-- In this example, the pretty-printer should insert extra parentheses around+-- the negative literal pattern.+x * - 1 = negate x++-- In these examples, the pretty-printer should not insert extra parentheses.+Just x <> Nothing = Just x+f (- 1 `Q` _) = ()
+ tests/examples/ExtraPrettyParentheses.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExtraPrettyParentheses.hs.parser.golden view
@@ -0,0 +1,480 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 10 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 1 1+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 1 1+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 1 1+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 1 5 1+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 1+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 1 9 1+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 10 1 10 1+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 10 1 10 1+ ]+ }+ Nothing+ []+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 1 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 10 1 11 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 1 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 6 1 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 6 1 7+ , srcInfoPoints = []+ }+ "Q"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 12 1 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 12 1 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 12 1 13+ , srcInfoPoints = []+ }+ "Q")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 14 1 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 14 1 15+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 16 1 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 16 1 17+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 1 5 19+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 1 5 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ "x"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 3 5 4+ , srcInfoPoints = []+ }+ "*")+ [ PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 5 5 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 5 5 6 ]+ }+ (Negative+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 5 5 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 5 5 6 ]+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ 1+ "1")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 9 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 9 5 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 11 5 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 11 5 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 11 5 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 11 5 17+ , srcInfoPoints = []+ }+ "negate")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 27+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 27+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 5+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ "x")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 8 8 10+ , srcInfoPoints = []+ }+ "<>")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 11 8 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 11 8 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 11 8 18+ , srcInfoPoints = []+ }+ "Nothing"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 19 8 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 19 8 20 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 21 8 27+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 21 8 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 21 8 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 21 8 25+ , srcInfoPoints = []+ }+ "Just")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 26 8 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 26 8 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 26 8 27+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 1 9 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 1 9 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 1 9 2+ , srcInfoPoints = []+ }+ "f")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 3 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 3 9 4+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 13 9 14+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 4 9 13+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 4 9 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 4 9 5 ]+ }+ (Negative+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 4 9 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 4 9 5 ]+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 6 9 7+ , srcInfoPoints = []+ }+ 1+ "1"))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 8 9 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 8 9 9+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 9 9 10+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 10 9 11+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 9 9 10+ , srcInfoPoints = []+ }+ "Q"))+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 12 9 13+ , srcInfoPoints = []+ }))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 15 9 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 15 9 16 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 18+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 18 9 19+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 18+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 18 9 19+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 18+ , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 18 9 19+ ]+ }))))+ Nothing+ ]+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 3 1 3 78)+ " In this example, the pretty-printer should insert extra parentheses around"+ , Comment+ False+ (SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 4 1 4 33)+ " the negative literal pattern."+ , Comment+ False+ (SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 7 1 7 78)+ " In these examples, the pretty-printer should not insert extra parentheses."+ ]+ )
+ tests/examples/ExtraPrettyParentheses.hs.prettyparser.golden view
@@ -0,0 +1,10 @@+Roundtrip test failed++AST 1:++Module () Nothing [] [] [DataDecl () (DataType ()) Nothing (DHApp () (DHead () (Ident () "Q")) (UnkindedVar () (Ident () "a"))) [QualConDecl () Nothing Nothing (ConDecl () (Ident () "Q") [TyVar () (Ident () "a"),TyVar () (Ident () "a")])] [],FunBind () [InfixMatch () (PVar () (Ident () "x")) (Symbol () "*") [PLit () (Negative ()) (Int () 1 "1")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "negate"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [InfixMatch () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "x")]) (Symbol () "<>") [PApp () (UnQual () (Ident () "Nothing")) []] (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [Match () (Ident () "f") [PParen () (PInfixApp () (PLit () (Negative ()) (Int () 1 "1")) (UnQual () (Ident () "Q")) (PWildCard ()))] (UnGuardedRhs () (Con () (Special () (UnitCon ())))) Nothing]]++AST 2:++Module () Nothing [] [] [DataDecl () (DataType ()) Nothing (DHApp () (DHead () (Ident () "Q")) (UnkindedVar () (Ident () "a"))) [QualConDecl () Nothing Nothing (ConDecl () (Ident () "Q") [TyVar () (Ident () "a"),TyVar () (Ident () "a")])] [],FunBind () [InfixMatch () (PVar () (Ident () "x")) (Symbol () "*") [PParen () (PLit () (Negative ()) (Int () 1 "1"))] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "negate"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [InfixMatch () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "x")]) (Symbol () "<>") [PApp () (UnQual () (Ident () "Nothing")) []] (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [Match () (Ident () "f") [PParen () (PInfixApp () (PLit () (Negative ()) (Int () 1 "1")) (UnQual () (Ident () "Q")) (PWildCard ()))] (UnGuardedRhs () (Con () (Special () (UnitCon ())))) Nothing]]+
+ tests/examples/ExtraPrettyParentheses.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+data Q a = Q a a+x * (-1) = negate x+Just x <> Nothing = Just x+f (-1 `Q` _) = ()
tests/examples/FFIExtensions.hs.parser.golden view
@@ -1,1 +1,234 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 2, srcSpanStartColumn = 22, srcSpanEndLine = 2, srcSpanEndColumn = 27}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 21}, srcInfoPoints = []}) "FFIExtensions") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 69}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 38, srcSpanEndLine = 1, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 56, srcSpanEndLine = 1, srcSpanEndColumn = 57},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 66, srcSpanEndLine = 1, srcSpanEndColumn = 69}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 38}, srcInfoPoints = []}) "ForeignFunctionInterface",Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 40, srcSpanEndLine = 1, srcSpanEndColumn = 56}, srcInfoPoints = []}) "InterruptibleFFI",Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 58, srcSpanEndLine = 1, srcSpanEndColumn = 65}, srcInfoPoints = []}) "CApiFFI"]] [] [ForImp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 4, srcSpanEndLine = 5, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 20}]}) (CCall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = []})) (Just (PlayInterruptible (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 4, srcSpanStartColumn = 22, srcSpanEndLine = 4, srcSpanEndColumn = 35}, srcInfoPoints = []}))) (Just "sleep") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) "sleep") (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 27, srcSpanEndLine = 5, srcSpanEndColumn = 29}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 26}, srcInfoPoints = []}) "CUint"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 38}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 32}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 33, srcSpanEndLine = 5, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 33, srcSpanEndLine = 5, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 33, srcSpanEndLine = 5, srcSpanEndColumn = 38}, srcInfoPoints = []}) "CUint"))))),ForImp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 54}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 9, srcSpanEndLine = 7, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 21, srcSpanEndLine = 7, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 36, srcSpanEndLine = 7, srcSpanEndColumn = 38}]}) (CApi (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 16, srcSpanEndLine = 7, srcSpanEndColumn = 20}, srcInfoPoints = []})) Nothing (Just "header.h f") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 34, srcSpanEndLine = 7, srcSpanEndColumn = 35}, srcInfoPoints = []}) "f") (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 39, srcSpanEndLine = 7, srcSpanEndColumn = 54}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 44, srcSpanEndLine = 7, srcSpanEndColumn = 46}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 39, srcSpanEndLine = 7, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 39, srcSpanEndLine = 7, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 39, srcSpanEndLine = 7, srcSpanEndColumn = 43}, srcInfoPoints = []}) "CInt"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 47, srcSpanEndLine = 7, srcSpanEndColumn = 54}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 47, srcSpanEndLine = 7, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 47, srcSpanEndLine = 7, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 47, srcSpanEndLine = 7, srcSpanEndColumn = 49}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 50, srcSpanEndLine = 7, srcSpanEndColumn = 54}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 50, srcSpanEndLine = 7, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FFIExtensions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 50, srcSpanEndLine = 7, srcSpanEndColumn = 54}, srcInfoPoints = []}) "CInt")))))],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FFIExtensions.hs" 1 1 1 1+ , SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 1+ , SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 1+ , SrcSpan "tests/examples/FFIExtensions.hs" 4 1 4 1+ , SrcSpan "tests/examples/FFIExtensions.hs" 7 1 7 1+ , SrcSpan "tests/examples/FFIExtensions.hs" 8 1 8 1+ , SrcSpan "tests/examples/FFIExtensions.hs" 8 1 8 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 7+ , SrcSpan "tests/examples/FFIExtensions.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "FFIExtensions")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 1 1 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FFIExtensions.hs" 1 1 1 13+ , SrcSpan "tests/examples/FFIExtensions.hs" 1 38 1 39+ , SrcSpan "tests/examples/FFIExtensions.hs" 1 56 1 57+ , SrcSpan "tests/examples/FFIExtensions.hs" 1 66 1 69+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 14 1 38+ , srcInfoPoints = []+ }+ "ForeignFunctionInterface"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 40 1 56+ , srcInfoPoints = []+ }+ "InterruptibleFFI"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 58 1 65+ , srcInfoPoints = []+ }+ "CApiFFI"+ ]+ ]+ []+ [ ForImp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 4 1 5 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FFIExtensions.hs" 4 1 4 8+ , SrcSpan "tests/examples/FFIExtensions.hs" 4 9 4 15+ , SrcSpan "tests/examples/FFIExtensions.hs" 5 4 5 11+ , SrcSpan "tests/examples/FFIExtensions.hs" 5 18 5 20+ ]+ }+ (CCall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 4 16 4 21+ , srcInfoPoints = []+ })+ (Just+ (PlayInterruptible+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 4 22 4 35+ , srcInfoPoints = []+ }))+ (Just "sleep")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 12 5 17+ , srcInfoPoints = []+ }+ "sleep")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FFIExtensions.hs" 5 27 5 29 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 26+ , srcInfoPoints = []+ }+ "CUint")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 32+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 33 5 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 33 5 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 33 5 38+ , srcInfoPoints = []+ }+ "CUint")))))+ , ForImp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 1 7 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FFIExtensions.hs" 7 1 7 8+ , SrcSpan "tests/examples/FFIExtensions.hs" 7 9 7 15+ , SrcSpan "tests/examples/FFIExtensions.hs" 7 21 7 33+ , SrcSpan "tests/examples/FFIExtensions.hs" 7 36 7 38+ ]+ }+ (CApi+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 16 7 20+ , srcInfoPoints = []+ })+ Nothing+ (Just "header.h f")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 34 7 35+ , srcInfoPoints = []+ }+ "f")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FFIExtensions.hs" 7 44 7 46 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 43+ , srcInfoPoints = []+ }+ "CInt")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 49+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 50 7 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 50 7 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 50 7 54+ , srcInfoPoints = []+ }+ "CInt")))))+ ]+ , []+ )
tests/examples/FFIExtensions.hs.prettyprinter.golden view
@@ -1,8 +1,8 @@ {-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI, CApiFFI #-} module FFIExtensions where- + foreign import ccall interruptible "sleep" sleep :: CUint -> IO CUint- -foreign import capi safe "header.h f" f :: CInt -> IO CInt++foreign import capi "header.h f" f :: CInt -> IO CInt
+ tests/examples/FFIInterruptible.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE InterruptibleFFI #-}+foo = interruptible+
+ tests/examples/FFIInterruptible.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/FFIInterruptible.hs.parser.golden view
@@ -0,0 +1,83 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FFIInterruptible.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FFIInterruptible.hs" 1 1 1 1+ , SrcSpan "tests/examples/FFIInterruptible.hs" 2 1 2 1+ , SrcSpan "tests/examples/FFIInterruptible.hs" 2 1 2 1+ , SrcSpan "tests/examples/FFIInterruptible.hs" 2 1 2 1+ , SrcSpan "tests/examples/FFIInterruptible.hs" 4 1 4 1+ , SrcSpan "tests/examples/FFIInterruptible.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FFIInterruptible.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FFIInterruptible.hs" 1 1 1 13+ , SrcSpan "tests/examples/FFIInterruptible.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FFIInterruptible.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "InterruptibleFFI"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FFIInterruptible.hs" 2 1 2 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FFIInterruptible.hs" 2 1 2 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FFIInterruptible.hs" 2 1 2 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FFIInterruptible.hs" 2 5 2 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FFIInterruptible.hs" 2 5 2 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FFIInterruptible.hs" 2 7 2 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FFIInterruptible.hs" 2 7 2 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FFIInterruptible.hs" 2 7 2 20+ , srcInfoPoints = []+ }+ "interruptible"))))+ Nothing+ ]+ , []+ )
+ tests/examples/FFIInterruptible.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/FFIInterruptible.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE InterruptibleFFI #-}+foo = interruptible
tests/examples/FamilyKindSig.hs.parser.golden view
@@ -1,1 +1,107 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 2, srcSpanStartColumn = 22, srcSpanEndLine = 2, srcSpanEndColumn = 27}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 21}, srcInfoPoints = []}) "FamilyKindSig") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 1, srcSpanStartColumn = 27, srcSpanEndLine = 1, srcSpanEndColumn = 30}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) "TypeFamilies"]] [] [TypeFamDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 6, srcSpanEndLine = 4, srcSpanEndColumn = 12}]}) (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 24}, srcInfoPoints = []}) "WithKindSig") [KindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 25, srcSpanEndLine = 4, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 25, srcSpanEndLine = 4, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 28, srcSpanEndLine = 4, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 37, srcSpanEndLine = 4, srcSpanEndColumn = 38}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 26, srcSpanEndLine = 4, srcSpanEndColumn = 27}, srcInfoPoints = []}) "a") (KindFn (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 31, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 33, srcSpanEndLine = 4, srcSpanEndColumn = 35}]}) (KindStar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 31, srcSpanEndLine = 4, srcSpanEndColumn = 32}, srcInfoPoints = []})) (KindStar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyKindSig.hs", srcSpanStartLine = 4, srcSpanStartColumn = 36, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []})))]) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FamilyKindSig.hs" 1 1 1 1+ , SrcSpan "tests/examples/FamilyKindSig.hs" 2 1 2 1+ , SrcSpan "tests/examples/FamilyKindSig.hs" 2 1 2 1+ , SrcSpan "tests/examples/FamilyKindSig.hs" 4 1 4 1+ , SrcSpan "tests/examples/FamilyKindSig.hs" 5 1 5 1+ , SrcSpan "tests/examples/FamilyKindSig.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FamilyKindSig.hs" 2 1 2 7+ , SrcSpan "tests/examples/FamilyKindSig.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "FamilyKindSig")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FamilyKindSig.hs" 1 1 1 13+ , SrcSpan "tests/examples/FamilyKindSig.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ ]+ []+ [ TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 1 4 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FamilyKindSig.hs" 4 1 4 5+ , SrcSpan "tests/examples/FamilyKindSig.hs" 4 6 4 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 13 4 38+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 13 4 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 13 4 24+ , srcInfoPoints = []+ }+ "WithKindSig"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 25 4 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FamilyKindSig.hs" 4 25 4 26+ , SrcSpan "tests/examples/FamilyKindSig.hs" 4 28 4 30+ , SrcSpan "tests/examples/FamilyKindSig.hs" 4 37 4 38+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 26 4 27+ , srcInfoPoints = []+ }+ "a")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 31 4 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FamilyKindSig.hs" 4 33 4 35 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 31 4 32+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 36 4 37+ , srcInfoPoints = []+ }))))+ Nothing+ Nothing+ ]+ , []+ )
tests/examples/FamilyKindSig.hs.prettyprinter.golden view
@@ -1,4 +1,4 @@ {-# LANGUAGE TypeFamilies #-} module FamilyKindSig where- + type family WithKindSig (a :: * -> *)
tests/examples/FamilyVarid.hs.parser.golden view
@@ -1,1 +1,113 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 2, srcSpanStartColumn = 20, srcSpanEndLine = 2, srcSpanEndColumn = 25}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 19}, srcInfoPoints = []}) "FamilyVarid") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 1, srcSpanStartColumn = 27, srcSpanEndLine = 1, srcSpanEndColumn = 30}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) "TypeFamilies"]] [] [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) "f") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 9}, srcInfoPoints = []}) "family"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 16}, srcInfoPoints = []}) "forall")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 17, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 17, srcSpanEndLine = 4, srcSpanEndColumn = 18}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 19, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 19, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FamilyVarid.hs", srcSpanStartLine = 4, srcSpanStartColumn = 19, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) "undefined")))) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FamilyVarid.hs" 1 1 1 1+ , SrcSpan "tests/examples/FamilyVarid.hs" 2 1 2 1+ , SrcSpan "tests/examples/FamilyVarid.hs" 2 1 2 1+ , SrcSpan "tests/examples/FamilyVarid.hs" 4 1 4 1+ , SrcSpan "tests/examples/FamilyVarid.hs" 5 1 5 1+ , SrcSpan "tests/examples/FamilyVarid.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 2 1 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FamilyVarid.hs" 2 1 2 7+ , SrcSpan "tests/examples/FamilyVarid.hs" 2 20 2 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 2 8 2 19+ , srcInfoPoints = []+ }+ "FamilyVarid")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FamilyVarid.hs" 1 1 1 13+ , SrcSpan "tests/examples/FamilyVarid.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 1 4 28+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 1 4 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 3 4 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 3 4 9+ , srcInfoPoints = []+ }+ "family")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 10 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 10 4 16+ , srcInfoPoints = []+ }+ "forall")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 17 4 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FamilyVarid.hs" 4 17 4 18 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 19 4 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 19 4 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FamilyVarid.hs" 4 19 4 28+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/Fixity2.hs view
@@ -0,0 +1,3 @@+foo = pure 1 <^> pure 2 <^> pure (+) where+ (<^>) = flip (<*>)+ infixr 4 <^>
+ tests/examples/Fixity2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Fixity2.hs.parser.golden view
@@ -0,0 +1,297 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity2.hs" 1 1 1 1+ , SrcSpan "tests/examples/Fixity2.hs" 1 1 1 1+ , SrcSpan "tests/examples/Fixity2.hs" 1 1 1 1+ , SrcSpan "tests/examples/Fixity2.hs" 4 1 4 1+ , SrcSpan "tests/examples/Fixity2.hs" 4 1 4 1+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 1 3 15+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity2.hs" 1 38 1 43 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 1 1 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 1 1 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 5 1 37+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity2.hs" 1 5 1 6 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 7 1 37+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 7 1 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 7 1 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 7 1 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 7 1 11+ , srcInfoPoints = []+ }+ "pure")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 12 1 13+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 12 1 13+ , srcInfoPoints = []+ }+ 1+ "1")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 14 1 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 14 1 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 14 1 17+ , srcInfoPoints = []+ }+ "<^>")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 18 1 37+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 18 1 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 18 1 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 18 1 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 18 1 22+ , srcInfoPoints = []+ }+ "pure")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 23 1 24+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 23 1 24+ , srcInfoPoints = []+ }+ 2+ "2")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 25 1 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 25 1 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 25 1 28+ , srcInfoPoints = []+ }+ "<^>")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 29 1 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 29 1 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 29 1 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 29 1 33+ , srcInfoPoints = []+ }+ "pure")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 34 1 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity2.hs" 1 34 1 35+ , SrcSpan "tests/examples/Fixity2.hs" 1 35 1 36+ , SrcSpan "tests/examples/Fixity2.hs" 1 36 1 37+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 34 1 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity2.hs" 1 34 1 35+ , SrcSpan "tests/examples/Fixity2.hs" 1 35 1 36+ , SrcSpan "tests/examples/Fixity2.hs" 1 36 1 37+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 1 35 1 36+ , srcInfoPoints = []+ }+ "+")))))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 3 3 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity2.hs" 2 3 2 3+ , SrcSpan "tests/examples/Fixity2.hs" 3 3 3 3+ , SrcSpan "tests/examples/Fixity2.hs" 4 1 4 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 3 2 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 3 2 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity2.hs" 2 3 2 4+ , SrcSpan "tests/examples/Fixity2.hs" 2 4 2 7+ , SrcSpan "tests/examples/Fixity2.hs" 2 7 2 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 4 2 7+ , srcInfoPoints = []+ }+ "<^>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 9 2 21+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity2.hs" 2 9 2 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 11 2 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 11 2 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 11 2 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 11 2 15+ , srcInfoPoints = []+ }+ "flip")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 16 2 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity2.hs" 2 16 2 17+ , SrcSpan "tests/examples/Fixity2.hs" 2 17 2 20+ , SrcSpan "tests/examples/Fixity2.hs" 2 20 2 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 16 2 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity2.hs" 2 16 2 17+ , SrcSpan "tests/examples/Fixity2.hs" 2 17 2 20+ , SrcSpan "tests/examples/Fixity2.hs" 2 20 2 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 2 17 2 20+ , srcInfoPoints = []+ }+ "<*>")))))+ Nothing+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 3 3 3 15+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity2.hs" 3 10 3 11 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 3 3 3 9+ , srcInfoPoints = []+ })+ (Just 4)+ [ VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity2.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ "<^>")+ ]+ ]))+ ]+ , []+ )
+ tests/examples/Fixity2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Fixity2.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+foo = pure 1 <^> pure 2 <^> pure (+)+ where (<^>) = flip (<*>)+ + infixr 4 <^>
+ tests/examples/Fixity3.hs view
@@ -0,0 +1,5 @@+class Foo f where+ (<^>) :: Applicative f => f a -> f (a -> b) -> f b+ infixr 4 <^>++foo = pure 1 <^> pure 2 <^> pure (+)
+ tests/examples/Fixity3.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Fixity3.hs.parser.golden view
@@ -0,0 +1,466 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 1 1 1 1+ , SrcSpan "tests/examples/Fixity3.hs" 1 1 1 1+ , SrcSpan "tests/examples/Fixity3.hs" 1 1 1 1+ , SrcSpan "tests/examples/Fixity3.hs" 5 1 5 1+ , SrcSpan "tests/examples/Fixity3.hs" 6 1 6 1+ , SrcSpan "tests/examples/Fixity3.hs" 6 1 6 1+ ]+ }+ Nothing+ []+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 1 1 3 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 1 1 1 6+ , SrcSpan "tests/examples/Fixity3.hs" 1 13 1 18+ , SrcSpan "tests/examples/Fixity3.hs" 2 3 2 3+ , SrcSpan "tests/examples/Fixity3.hs" 3 3 3 3+ , SrcSpan "tests/examples/Fixity3.hs" 5 1 5 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 1 7 1 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 1 7 1 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 1 7 1 10+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 1 11 1 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 1 11 1 12+ , srcInfoPoints = []+ }+ "f")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 3 2 53+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 9 2 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 3 2 53+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 9 2 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 3 2 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 2 3 2 4+ , SrcSpan "tests/examples/Fixity3.hs" 2 4 2 7+ , SrcSpan "tests/examples/Fixity3.hs" 2 7 2 8+ ]+ }+ "<^>"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 53+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ "f"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 29 2 53+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 33 2 35 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 29 2 32+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 29 2 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 29 2 30+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 31 2 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 31 2 32+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 36 2 53+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 47 2 49 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 36 2 46+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 36 2 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 36 2 37+ , srcInfoPoints = []+ }+ "f"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 38 2 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 2 38 2 39+ , SrcSpan "tests/examples/Fixity3.hs" 2 45 2 46+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 39 2 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 2 41 2 43 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 39 2 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 39 2 40+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 44 2 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 44 2 45+ , srcInfoPoints = []+ }+ "b")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 50 2 53+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 50 2 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 50 2 51+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 52 2 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 52 2 53+ , srcInfoPoints = []+ }+ "b")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 3 3 3 15+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 3 10 3 11 ]+ }+ (InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 3 3 3 15+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 3 10 3 11 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 3 3 3 9+ , srcInfoPoints = []+ })+ (Just 4)+ [ VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ "<^>")+ ])+ ])+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 1 5 37+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 5 5 37+ , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 5 5 5 6 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 7 5 37+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 7 5 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 7 5 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 7 5 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 7 5 11+ , srcInfoPoints = []+ }+ "pure")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 12 5 13+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 12 5 13+ , srcInfoPoints = []+ }+ 1+ "1")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 14 5 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 14 5 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 14 5 17+ , srcInfoPoints = []+ }+ "<^>")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 18 5 37+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 18 5 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 18 5 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 18 5 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 18 5 22+ , srcInfoPoints = []+ }+ "pure")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 23 5 24+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 23 5 24+ , srcInfoPoints = []+ }+ 2+ "2")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 25 5 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 25 5 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 25 5 28+ , srcInfoPoints = []+ }+ "<^>")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 29 5 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 29 5 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 29 5 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 29 5 33+ , srcInfoPoints = []+ }+ "pure")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 34 5 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 5 34 5 35+ , SrcSpan "tests/examples/Fixity3.hs" 5 35 5 36+ , SrcSpan "tests/examples/Fixity3.hs" 5 36 5 37+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 34 5 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 5 34 5 35+ , SrcSpan "tests/examples/Fixity3.hs" 5 35 5 36+ , SrcSpan "tests/examples/Fixity3.hs" 5 36 5 37+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 5 35 5 36+ , srcInfoPoints = []+ }+ "+")))))))+ Nothing+ ]+ , []+ )
+ tests/examples/Fixity3.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Fixity3.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+class Foo f where+ (<^>) :: Applicative f => f a -> f (a -> b) -> f b+ + infixr 4 <^>+foo = pure 1 <^> pure 2 <^> pure (+)
tests/examples/FixityTests.hs.parser.golden view
@@ -1,1 +1,343 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) Nothing [] [] [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 6, srcSpanEndLine = 4, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 6, srcSpanEndLine = 1, srcSpanEndColumn = 7}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 13}, srcInfoPoints = []}) "forM_"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 24}, srcInfoPoints = []}) "cmdReports")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 25, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 25, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 25, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) "$"))) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 27, srcSpanEndLine = 4, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 27, srcSpanEndLine = 1, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 30, srcSpanEndLine = 1, srcSpanEndColumn = 32}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 29}, srcInfoPoints = []}) "x")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 33, srcSpanEndLine = 4, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 1, srcSpanStartColumn = 33, srcSpanEndLine = 1, srcSpanEndColumn = 35},SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 16, srcSpanEndLine = 2, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 16, srcSpanEndLine = 2, srcSpanEndColumn = 62}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 16, srcSpanEndLine = 2, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 16, srcSpanEndLine = 2, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 16, srcSpanEndLine = 2, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 16, srcSpanEndLine = 2, srcSpanEndColumn = 24}, srcInfoPoints = []}) "putStrLn"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 25, srcSpanEndLine = 2, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 25, srcSpanEndLine = 2, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 25, srcSpanEndLine = 2, srcSpanEndColumn = 26}, srcInfoPoints = []}) "$"))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 27, srcSpanEndLine = 2, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 27, srcSpanEndLine = 2, srcSpanEndColumn = 47}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 27, srcSpanEndLine = 2, srcSpanEndColumn = 47}, srcInfoPoints = []}) "Writing report to " "Writing report to ")) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 48, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 48, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 48, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = []}) "++"))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 51, srcSpanEndLine = 2, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 51, srcSpanEndLine = 2, srcSpanEndColumn = 52}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 51, srcSpanEndLine = 2, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 51, srcSpanEndLine = 2, srcSpanEndColumn = 52}, srcInfoPoints = []}) "x"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 53, srcSpanEndLine = 2, srcSpanEndColumn = 55}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 53, srcSpanEndLine = 2, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 53, srcSpanEndLine = 2, srcSpanEndColumn = 55}, srcInfoPoints = []}) "++"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 56, srcSpanEndLine = 2, srcSpanEndColumn = 62}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 2, srcSpanStartColumn = 56, srcSpanEndLine = 2, srcSpanEndColumn = 62}, srcInfoPoints = []}) " ..." " ..."))))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 35}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 35}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = []}) "writeReport"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = []}) "x")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 30, srcSpanEndLine = 3, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 30, srcSpanEndLine = 3, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/FixityTests.hs", srcSpanStartLine = 3, srcSpanStartColumn = 30, srcSpanEndLine = 3, srcSpanEndColumn = 35}, srcInfoPoints = []}) "ideas"))))])))) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FixityTests.hs" 1 1 1 1+ , SrcSpan "tests/examples/FixityTests.hs" 1 1 1 1+ , SrcSpan "tests/examples/FixityTests.hs" 1 1 1 1+ , SrcSpan "tests/examples/FixityTests.hs" 4 1 4 1+ , SrcSpan "tests/examples/FixityTests.hs" 4 1 4 1+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 1 3 35+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 1 1 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 1 1 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 6 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FixityTests.hs" 1 6 1 7 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 8 3 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 8 1 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 8 1 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 8 1 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 8 1 13+ , srcInfoPoints = []+ }+ "forM_")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ "cmdReports"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 25 1 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 25 1 26+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 25 1 26+ , srcInfoPoints = []+ }+ "$")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 27 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FixityTests.hs" 1 27 1 28+ , SrcSpan "tests/examples/FixityTests.hs" 1 30 1 32+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 28 1 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 28 1 29+ , srcInfoPoints = []+ }+ "x")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 1 33 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FixityTests.hs" 1 33 1 35+ , SrcSpan "tests/examples/FixityTests.hs" 2 16 2 16+ , SrcSpan "tests/examples/FixityTests.hs" 3 16 3 16+ , SrcSpan "tests/examples/FixityTests.hs" 4 1 4 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 2 16 2 62+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 2 16 2 62+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 2 16 2 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 16 2 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 16 2 24+ , srcInfoPoints = []+ }+ "putStrLn")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 2 25 2 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 25 2 26+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 25 2 26+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 2 27 2 62+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 27 2 47+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 27 2 47+ , srcInfoPoints = []+ }+ "Writing report to "+ "Writing report to "))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 48 2 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 48 2 50+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 48 2 50+ , srcInfoPoints = []+ }+ "++")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 51 2 62+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 51 2 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 51 2 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 51 2 52+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 53 2 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 53 2 55+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 53 2 55+ , srcInfoPoints = []+ }+ "++")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 56 2 62+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 2 56 2 62+ , srcInfoPoints = []+ }+ " ..."+ " ...")))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 3 16 3 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 3 16 3 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 3 16 3 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 3 16 3 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 3 16 3 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 3 16 3 27+ , srcInfoPoints = []+ }+ "writeReport")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 3 28 3 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 3 28 3 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 3 28 3 29+ , srcInfoPoints = []+ }+ "x"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/FixityTests.hs" 3 30 3 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 3 30 3 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FixityTests.hs" 3 30 3 35+ , srcInfoPoints = []+ }+ "ideas"))))+ ]))))+ Nothing+ ]+ , []+ )
tests/examples/FixityTests.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where main = forM_ cmdReports $ \ x ->
+ tests/examples/FlexibleContextsWithoutVars.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE FlexibleContexts #-}+f :: Log.Stack => a -> a+f = id
+ tests/examples/FlexibleContextsWithoutVars.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/FlexibleContextsWithoutVars.hs.parser.golden view
@@ -0,0 +1,187 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 4 1 4 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 13+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 3 2 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 25+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+ ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+ , srcInfoPoints = []+ }+ "Log")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+ , srcInfoPoints = []+ }+ "Stack"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 21 2 23+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 20+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ "a"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 7+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 3 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 3 3 4 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7+ , srcInfoPoints = []+ }+ "id"))))+ Nothing+ ]+ , []+ )
+ tests/examples/FlexibleContextsWithoutVars.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/FlexibleContextsWithoutVars.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE FlexibleContexts #-}++f :: Log.Stack => a -> a+f = id
tests/examples/ForallInInstance.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ForallInInstance.hs", srcLine = 5, srcColumn = 1}) "Illegal instance declaration"+Match
tests/examples/ForallInInstance.hs.parser.golden view
@@ -1,1 +1,195 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ForallInInstance.hs", srcLine = 5, srcColumn = 1}) "Illegal instance declaration"+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 1 1 1 1+ , SrcSpan "tests/examples/ForallInInstance.hs" 2 1 2 1+ , SrcSpan "tests/examples/ForallInInstance.hs" 2 1 2 1+ , SrcSpan "tests/examples/ForallInInstance.hs" 4 1 4 1+ , SrcSpan "tests/examples/ForallInInstance.hs" 5 1 5 1+ , SrcSpan "tests/examples/ForallInInstance.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 2 1 2 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 2 1 2 7+ , SrcSpan "tests/examples/ForallInInstance.hs" 2 25 2 30+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 2 8 2 24+ , srcInfoPoints = []+ }+ "ForallInInstance")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 1 1 1 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 1 1 1 13+ , SrcSpan "tests/examples/ForallInInstance.hs" 1 34 1 37+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 1 14 1 33+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ ]+ ]+ []+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 1 5 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 1 4 9+ , SrcSpan "tests/examples/ForallInInstance.hs" 4 45 4 50+ , SrcSpan "tests/examples/ForallInInstance.hs" 5 1 5 1+ , SrcSpan "tests/examples/ForallInInstance.hs" 5 1 5 1+ , SrcSpan "tests/examples/ForallInInstance.hs" 5 0 5 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 10 4 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 10 4 16+ , SrcSpan "tests/examples/ForallInInstance.hs" 4 18 4 19+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 17 4 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 17 4 18+ , srcInfoPoints = []+ }+ "a")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+ , srcInfoPoints = []+ }+ "MyClass")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 33 4 44+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 33 4 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 33 4 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 33 4 40+ , srcInfoPoints = []+ }+ "MyClass")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 41 4 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 41 4 42+ , SrcSpan "tests/examples/ForallInInstance.hs" 4 43 4 44+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 42 4 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 42 4 43+ , srcInfoPoints = []+ }+ "a")))))+ (Just [])+ ]+ , []+ )
tests/examples/ForallInInstance.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ForallInInstance.hs", srcLine = 5, srcColumn = 1}) "Illegal instance declaration"+Match
tests/examples/ForallInInstance.hs.prettyprinter.golden view
@@ -1,1 +1,4 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/ForallInInstance.hs", srcLine = 5, srcColumn = 1}) "Illegal instance declaration"+{-# LANGUAGE ScopedTypeVariables #-}+module ForallInInstance where++instance forall a . MyClass a => MyClass [a] where
tests/examples/ForeignImport.hs.parser.golden view
@@ -1,1 +1,212 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) Nothing [] [] [ForImp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 55}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 3, srcSpanStartColumn = 29, srcSpanEndLine = 3, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 14, srcSpanEndLine = 4, srcSpanEndColumn = 16}]}) (CCall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 21}, srcInfoPoints = []})) (Just (PlayRisky (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 3, srcSpanStartColumn = 22, srcSpanEndLine = 3, srcSpanEndColumn = 28}, srcInfoPoints = []}))) (Just "getProgArgv") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 2, srcSpanEndLine = 4, srcSpanEndColumn = 13}, srcInfoPoints = []}) "getProgArgv") (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 17, srcSpanEndLine = 4, srcSpanEndColumn = 55}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 26, srcSpanEndLine = 4, srcSpanEndColumn = 28}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 17, srcSpanEndLine = 4, srcSpanEndColumn = 25}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 17, srcSpanEndLine = 4, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 17, srcSpanEndLine = 4, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 17, srcSpanEndLine = 4, srcSpanEndColumn = 20}, srcInfoPoints = []}) "Ptr"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 25}, srcInfoPoints = []}) "CInt")))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 29, srcSpanEndLine = 4, srcSpanEndColumn = 55}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 47, srcSpanEndLine = 4, srcSpanEndColumn = 49}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 29, srcSpanEndLine = 4, srcSpanEndColumn = 46}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 29, srcSpanEndLine = 4, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 29, srcSpanEndLine = 4, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 29, srcSpanEndLine = 4, srcSpanEndColumn = 32}, srcInfoPoints = []}) "Ptr"))) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 33, srcSpanEndLine = 4, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 33, srcSpanEndLine = 4, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 45, srcSpanEndLine = 4, srcSpanEndColumn = 46}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 34, srcSpanEndLine = 4, srcSpanEndColumn = 45}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 34, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 34, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 34, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []}) "Ptr"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 45}, srcInfoPoints = []}) "CString")))))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 50, srcSpanEndLine = 4, srcSpanEndColumn = 55}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 50, srcSpanEndLine = 4, srcSpanEndColumn = 52}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 50, srcSpanEndLine = 4, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 50, srcSpanEndLine = 4, srcSpanEndColumn = 52}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 53, srcSpanEndLine = 4, srcSpanEndColumn = 55}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 53, srcSpanEndLine = 4, srcSpanEndColumn = 54},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 54, srcSpanEndLine = 4, srcSpanEndColumn = 55}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 53, srcSpanEndLine = 4, srcSpanEndColumn = 55}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 53, srcSpanEndLine = 4, srcSpanEndColumn = 54},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 54, srcSpanEndLine = 4, srcSpanEndColumn = 55}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 53, srcSpanEndLine = 4, srcSpanEndColumn = 55}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 53, srcSpanEndLine = 4, srcSpanEndColumn = 54},SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 4, srcSpanStartColumn = 54, srcSpanEndLine = 4, srcSpanEndColumn = 55}]})))))))],[Comment True (SrcSpan {srcSpanFilename = "tests/examples/ForeignImport.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 67}) " If compiled without ForeignFunctionInterface (part of Haskell2010),\n it complains not about FFI but about missing TemplateHaskell "])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 3 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImport.hs" 3 1 3 1+ , SrcSpan "tests/examples/ForeignImport.hs" 3 1 3 1+ , SrcSpan "tests/examples/ForeignImport.hs" 3 1 3 1+ , SrcSpan "tests/examples/ForeignImport.hs" 5 1 5 1+ , SrcSpan "tests/examples/ForeignImport.hs" 5 1 5 1+ ]+ }+ Nothing+ []+ []+ [ ForImp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 3 1 4 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImport.hs" 3 1 3 8+ , SrcSpan "tests/examples/ForeignImport.hs" 3 9 3 15+ , SrcSpan "tests/examples/ForeignImport.hs" 3 29 3 42+ , SrcSpan "tests/examples/ForeignImport.hs" 4 14 4 16+ ]+ }+ (CCall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 3 16 3 21+ , srcInfoPoints = []+ })+ (Just+ (PlayRisky+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 3 22 3 28+ , srcInfoPoints = []+ }))+ (Just "getProgArgv")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 2 4 13+ , srcInfoPoints = []+ }+ "getProgArgv")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 17 4 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImport.hs" 4 26 4 28 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 17 4 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 17 4 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 17 4 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 17 4 20+ , srcInfoPoints = []+ }+ "Ptr")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 21 4 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 21 4 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 21 4 25+ , srcInfoPoints = []+ }+ "CInt"))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 29 4 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImport.hs" 4 47 4 49 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 29 4 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 29 4 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 29 4 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 29 4 32+ , srcInfoPoints = []+ }+ "Ptr")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 33 4 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImport.hs" 4 33 4 34+ , SrcSpan "tests/examples/ForeignImport.hs" 4 45 4 46+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 34 4 45+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 34 4 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 34 4 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImport.hs" 4 34 4 37+ , srcInfoPoints = []+ }+ "Ptr")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 38 4 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 38 4 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImport.hs" 4 38 4 45+ , srcInfoPoints = []+ }+ "CString"))))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 50 4 55+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 50 4 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 50 4 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 50 4 52+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 53 4 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImport.hs" 4 53 4 54+ , SrcSpan "tests/examples/ForeignImport.hs" 4 54 4 55+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 53 4 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImport.hs" 4 53 4 54+ , SrcSpan "tests/examples/ForeignImport.hs" 4 54 4 55+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ForeignImport.hs" 4 53 4 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImport.hs" 4 53 4 54+ , SrcSpan "tests/examples/ForeignImport.hs" 4 54 4 55+ ]+ }))))))+ ]+ , [ Comment+ True+ (SrcSpan "tests/examples/ForeignImport.hs" 1 1 2 67)+ " If compiled without ForeignFunctionInterface (part of Haskell2010),\n it complains not about FFI but about missing TemplateHaskell "+ ]+ )
tests/examples/ForeignImport.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- foreign import ccall unsafe "getProgArgv" getProgArgv :: Ptr CInt -> Ptr (Ptr CString) -> IO ()
+ tests/examples/ForeignImportJavascript.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE JavascriptFFI #-}++foreign import javascript unsafe "somethingUseful_ = $1"+ js_set_somethingUseful :: JSFun a -> IO ()
+ tests/examples/ForeignImportJavascript.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ForeignImportJavascript.hs.parser.golden view
@@ -0,0 +1,166 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 1 1 1+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 1 3 1+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 1 3 1+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 1 3 1+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 5 1 5 1+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 1 1 13+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "JavascriptFFI"+ ]+ ]+ []+ [ ForImp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 1 4 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 1 3 8+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 9 3 15+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 34 3 57+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 28 4 30+ ]+ }+ (JavaScript+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 16 3 26+ , srcInfoPoints = []+ })+ (Just+ (PlayRisky+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 27 3 33+ , srcInfoPoints = []+ }))+ (Just "somethingUseful_ = $1")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 5 4 27+ , srcInfoPoints = []+ }+ "js_set_somethingUseful")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 31 4 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 39 4 41 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 31 4 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 31 4 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 31 4 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 31 4 36+ , srcInfoPoints = []+ }+ "JSFun")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 37 4 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 37 4 38+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 42 4 47+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 42 4 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 42 4 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 42 4 44+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 46+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 46 4 47+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 46+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 46 4 47+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 46+ , SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 46 4 47+ ]+ })))))+ ]+ , []+ )
+ tests/examples/ForeignImportJavascript.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ForeignImportJavascript.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE JavascriptFFI #-}++foreign import javascript unsafe "somethingUseful_ = $1"+ js_set_somethingUseful :: JSFun a -> IO ()
tests/examples/GADTRecord.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/GADTRecord.hs", srcLine = 4, srcColumn = 8}) "Parse error: {"+Match
tests/examples/GADTRecord.hs.parser.golden view
@@ -1,1 +1,128 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/GADTRecord.hs", srcLine = 4, srcColumn = 8}) "Parse error: {"+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord.hs" 1 1 1 1+ , SrcSpan "tests/examples/GADTRecord.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord.hs" 5 1 5 1+ , SrcSpan "tests/examples/GADTRecord.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord.hs" 1 1 1 13+ , SrcSpan "tests/examples/GADTRecord.hs" 1 20 1 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 1 14 1 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 3 1 5 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord.hs" 3 8 3 13+ , SrcSpan "tests/examples/GADTRecord.hs" 4 3 4 3+ , SrcSpan "tests/examples/GADTRecord.hs" 5 1 5 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "T"))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 4 3 4 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord.hs" 4 5 4 7+ , SrcSpan "tests/examples/GADTRecord.hs" 4 8 4 9+ , SrcSpan "tests/examples/GADTRecord.hs" 4 23 4 24+ , SrcSpan "tests/examples/GADTRecord.hs" 4 25 4 27+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ "T")+ Nothing+ Nothing+ (Just+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 4 10 4 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord.hs" 4 16 4 18 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 4 10 4 15+ , srcInfoPoints = []+ }+ "field"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ "Int")))+ ])+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ "T")))+ ]+ []+ ]+ , []+ )
tests/examples/GADTRecord.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/GADTRecord.hs", srcLine = 4, srcColumn = 8}) "Parse error: {"+Match
tests/examples/GADTRecord.hs.prettyprinter.golden view
@@ -1,1 +1,4 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/GADTRecord.hs", srcLine = 4, srcColumn = 8}) "Parse error: {"+{-# LANGUAGE GADTs #-}++data T where+ T :: {field :: Int} -> T
+ tests/examples/GADTRecord2.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++data T where+ T :: () => { field :: Int } -> T
+ tests/examples/GADTRecord2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GADTRecord2.hs.parser.golden view
@@ -0,0 +1,137 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 13+ , SrcSpan "tests/examples/GADTRecord2.hs" 1 20 1 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 14 1 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 1 5 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 3 8 3 13+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 3+ , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "T"))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 4 5 4 7+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 14 4 15+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 29 4 30+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 31 4 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ "T")+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 8 4 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 4 8 4 9+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 9 4 10+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 11 4 13+ ]+ }))+ (Just+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 16 4 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 4 22 4 24 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ "field"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+ , srcInfoPoints = []+ }+ "Int")))+ ])+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+ , srcInfoPoints = []+ }+ "T")))+ ]+ []+ ]+ , []+ )
+ tests/examples/GADTRecord2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GADTRecord2.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++data T where+ T :: () => {field :: Int} -> T
tests/examples/GadtDeriving.hs.parser.golden view
@@ -1,1 +1,199 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 20, srcSpanEndLine = 1, srcSpanEndColumn = 23}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 19}, srcInfoPoints = []}) "GADTs"]] [] [GDataDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 10, srcSpanEndLine = 3, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 5}]}) (DataType (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 5}, srcInfoPoints = []})) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) "Foo") []) Nothing [GadtDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 11}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 8}, srcInfoPoints = []}) "Foo") (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 18}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) "Int"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 19, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 19, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 19, srcSpanEndLine = 4, srcSpanEndColumn = 22}, srcInfoPoints = []}) "Foo"))))] (Just (Deriving (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 14, srcSpanEndLine = 5, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 17, srcSpanEndLine = 5, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 31}]}) [IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 15, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 15, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 15, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) "Eq")) [],IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Ord")) [],IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 22, srcSpanEndLine = 5, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 22, srcSpanEndLine = 5, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GadtDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 22, srcSpanEndLine = 5, srcSpanEndColumn = 30}, srcInfoPoints = []}) "Typeable")) []]))],[])+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+ Nothing+ 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")))+ ]+ ]+ ]+ , []+ )
tests/examples/GadtDeriving.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE GADTs #-}-module Main (main) where- + data Foo where Foo :: Int -> Foo deriving (Eq, Ord, Typeable)
+ tests/examples/GadtRecordFields.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE GADTs #-}++data Ty where+ TCon :: { field1 :: Int, field2 :: Bool } -> Ty+ TCon2 :: Ty
+ tests/examples/GadtRecordFields.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GadtRecordFields.hs.parser.golden view
@@ -0,0 +1,217 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtRecordFields.hs" 1 1 1 1+ , SrcSpan "tests/examples/GadtRecordFields.hs" 3 1 3 1+ , SrcSpan "tests/examples/GadtRecordFields.hs" 3 1 3 1+ , SrcSpan "tests/examples/GadtRecordFields.hs" 3 1 3 1+ , SrcSpan "tests/examples/GadtRecordFields.hs" 6 1 6 1+ , SrcSpan "tests/examples/GadtRecordFields.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtRecordFields.hs" 1 1 1 13+ , SrcSpan "tests/examples/GadtRecordFields.hs" 1 20 1 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 1 14 1 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ GDataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 3 1 6 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtRecordFields.hs" 3 9 3 14+ , SrcSpan "tests/examples/GadtRecordFields.hs" 4 3 4 3+ , SrcSpan "tests/examples/GadtRecordFields.hs" 5 3 5 3+ , SrcSpan "tests/examples/GadtRecordFields.hs" 6 1 6 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 3 6 3 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 3 6 3 8+ , srcInfoPoints = []+ }+ "Ty"))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 3 4 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtRecordFields.hs" 4 8 4 10+ , SrcSpan "tests/examples/GadtRecordFields.hs" 4 11 4 12+ , SrcSpan "tests/examples/GadtRecordFields.hs" 4 43 4 44+ , SrcSpan "tests/examples/GadtRecordFields.hs" 4 45 4 47+ , SrcSpan "tests/examples/GadtRecordFields.hs" 4 26 4 27+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 3 4 7+ , srcInfoPoints = []+ }+ "TCon")+ Nothing+ Nothing+ (Just+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 13 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtRecordFields.hs" 4 20 4 22 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 13 4 19+ , srcInfoPoints = []+ }+ "field1"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 23 4 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 23 4 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 23 4 26+ , srcInfoPoints = []+ }+ "Int")))+ , FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 28 4 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtRecordFields.hs" 4 35 4 37 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 28 4 34+ , srcInfoPoints = []+ }+ "field2"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 38 4 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 38 4 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 38 4 42+ , srcInfoPoints = []+ }+ "Bool")))+ ])+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 48 4 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 48 4 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 4 48 4 50+ , srcInfoPoints = []+ }+ "Ty")))+ , GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 5 3 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtRecordFields.hs" 5 9 5 11 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 5 3 5 8+ , srcInfoPoints = []+ }+ "TCon2")+ Nothing+ Nothing+ Nothing+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtRecordFields.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ "Ty")))+ ]+ []+ ]+ , []+ )
+ tests/examples/GadtRecordFields.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GadtRecordFields.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE GADTs #-}++data Ty where+ TCon :: {field1 :: Int, field2 :: Bool} -> Ty+ TCon2 :: Ty
+ tests/examples/GadtStrictness.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++data X where+ X :: !Int -> X
+ tests/examples/GadtStrictness.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GadtStrictness.hs.parser.golden view
@@ -0,0 +1,135 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtStrictness.hs" 1 1 1 1+ , SrcSpan "tests/examples/GadtStrictness.hs" 3 1 3 1+ , SrcSpan "tests/examples/GadtStrictness.hs" 3 1 3 1+ , SrcSpan "tests/examples/GadtStrictness.hs" 3 1 3 1+ , SrcSpan "tests/examples/GadtStrictness.hs" 5 1 5 1+ , SrcSpan "tests/examples/GadtStrictness.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtStrictness.hs" 1 1 1 13+ , SrcSpan "tests/examples/GadtStrictness.hs" 1 20 1 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtStrictness.hs" 1 14 1 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 3 1 5 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtStrictness.hs" 3 8 3 13+ , SrcSpan "tests/examples/GadtStrictness.hs" 4 3 4 3+ , SrcSpan "tests/examples/GadtStrictness.hs" 5 1 5 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "X"))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 3 4 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtStrictness.hs" 4 5 4 7 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ "X")+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtStrictness.hs" 4 13 4 15 ]+ }+ (TyBang+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ (BangedTy+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 9+ , srcInfoPoints = []+ })+ (NoUnpackPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtStrictness.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtStrictness.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GadtStrictness.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ "X"))))+ ]+ []+ ]+ , []+ )
+ tests/examples/GadtStrictness.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GadtStrictness.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++data X where+ X :: !Int -> X
tests/examples/GenericTree.hs.parser.golden view
@@ -1,1 +1,479 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 2, srcSpanStartColumn = 20, srcSpanEndLine = 2, srcSpanEndColumn = 25}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 19}, srcInfoPoints = []}) "GenericTree") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 1, srcSpanStartColumn = 25, srcSpanEndLine = 1, srcSpanEndColumn = 28}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 24}, srcInfoPoints = []}) "RankNTypes"]] [ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Data.Typeable", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 83}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 8, srcSpanEndLine = 6, srcSpanEndColumn = 10}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 7}, srcInfoPoints = []}) "dynRep"] (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 83}, srcInfoPoints = []}) Nothing (Just (CxParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 22, srcSpanEndLine = 6, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 24, srcSpanEndLine = 6, srcSpanEndColumn = 26}]}) (CxSingle (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) (ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 20}, srcInfoPoints = []}) "Typeable")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 21, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 21, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) "a")])))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 27, srcSpanEndLine = 6, srcSpanEndColumn = 83}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 29, srcSpanEndLine = 6, srcSpanEndColumn = 31}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 27, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 27, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = []}) "a")) (TyTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 32, srcSpanEndLine = 6, srcSpanEndColumn = 83}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 32, srcSpanEndLine = 6, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 40, srcSpanEndLine = 6, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 82, srcSpanEndLine = 6, srcSpanEndColumn = 83}]}) Boxed [TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 33, srcSpanEndLine = 6, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 33, srcSpanEndLine = 6, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 33, srcSpanEndLine = 6, srcSpanEndColumn = 40}, srcInfoPoints = []}) "TypeRep")),TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 42, srcSpanEndLine = 6, srcSpanEndColumn = 82}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 42, srcSpanEndLine = 6, srcSpanEndColumn = 48},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 50, srcSpanEndLine = 6, srcSpanEndColumn = 51}]}) (Just [UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 49, srcSpanEndLine = 6, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 49, srcSpanEndLine = 6, srcSpanEndColumn = 50}, srcInfoPoints = []}) "b")]) Nothing (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 52, srcSpanEndLine = 6, srcSpanEndColumn = 82}, srcInfoPoints = []}) Nothing (Just (CxParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 52, srcSpanEndLine = 6, srcSpanEndColumn = 67}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 52, srcSpanEndLine = 6, srcSpanEndColumn = 53},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 63, srcSpanEndLine = 6, srcSpanEndColumn = 64},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 65, srcSpanEndLine = 6, srcSpanEndColumn = 67}]}) (CxSingle (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 53, srcSpanEndLine = 6, srcSpanEndColumn = 63}, srcInfoPoints = []}) (ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 53, srcSpanEndLine = 6, srcSpanEndColumn = 63}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 53, srcSpanEndLine = 6, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 53, srcSpanEndLine = 6, srcSpanEndColumn = 61}, srcInfoPoints = []}) "Typeable")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 62, srcSpanEndLine = 6, srcSpanEndColumn = 63}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 62, srcSpanEndLine = 6, srcSpanEndColumn = 63}, srcInfoPoints = []}) "b")])))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 68, srcSpanEndLine = 6, srcSpanEndColumn = 82}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 70, srcSpanEndLine = 6, srcSpanEndColumn = 72}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 68, srcSpanEndLine = 6, srcSpanEndColumn = 69}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 68, srcSpanEndLine = 6, srcSpanEndColumn = 69}, srcInfoPoints = []}) "b")) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 73, srcSpanEndLine = 6, srcSpanEndColumn = 82}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 73, srcSpanEndLine = 6, srcSpanEndColumn = 74},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 81, srcSpanEndLine = 6, srcSpanEndColumn = 82}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 74, srcSpanEndLine = 6, srcSpanEndColumn = 81}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 74, srcSpanEndLine = 6, srcSpanEndColumn = 79}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 74, srcSpanEndLine = 6, srcSpanEndColumn = 79}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 74, srcSpanEndLine = 6, srcSpanEndColumn = 79}, srcInfoPoints = []}) "Maybe"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 80, srcSpanEndLine = 6, srcSpanEndColumn = 81}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 6, srcSpanStartColumn = 80, srcSpanEndLine = 6, srcSpanEndColumn = 81}, srcInfoPoints = []}) "b"))))))]))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 36}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 7}, srcInfoPoints = []}) "dynRep") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 8, srcSpanEndLine = 7, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 8, srcSpanEndLine = 7, srcSpanEndColumn = 9}, srcInfoPoints = []}) "a")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 10, srcSpanEndLine = 7, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 10, srcSpanEndLine = 7, srcSpanEndColumn = 11}]}) (Tuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 12, srcSpanEndLine = 7, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 12, srcSpanEndLine = 7, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 21, srcSpanEndLine = 7, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 35, srcSpanEndLine = 7, srcSpanEndColumn = 36}]}) Boxed [App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 13, srcSpanEndLine = 7, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 13, srcSpanEndLine = 7, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 13, srcSpanEndLine = 7, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 13, srcSpanEndLine = 7, srcSpanEndColumn = 19}, srcInfoPoints = []}) "typeOf"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 20, srcSpanEndLine = 7, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 20, srcSpanEndLine = 7, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 20, srcSpanEndLine = 7, srcSpanEndColumn = 21}, srcInfoPoints = []}) "a"))),Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 23, srcSpanEndLine = 7, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 23, srcSpanEndLine = 7, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 26, srcSpanEndLine = 7, srcSpanEndColumn = 28}]}) [PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 24, srcSpanEndLine = 7, srcSpanEndColumn = 25}, srcInfoPoints = []})] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 29, srcSpanEndLine = 7, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 29, srcSpanEndLine = 7, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 29, srcSpanEndLine = 7, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 29, srcSpanEndLine = 7, srcSpanEndColumn = 33}, srcInfoPoints = []}) "cast"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 34, srcSpanEndLine = 7, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 34, srcSpanEndLine = 7, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GenericTree.hs", srcSpanStartLine = 7, srcSpanStartColumn = 34, srcSpanEndLine = 7, srcSpanEndColumn = 35}, srcInfoPoints = []}) "a"))))])) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 1 1 1 1+ , SrcSpan "tests/examples/GenericTree.hs" 2 1 2 1+ , SrcSpan "tests/examples/GenericTree.hs" 2 1 2 1+ , SrcSpan "tests/examples/GenericTree.hs" 4 1 4 1+ , SrcSpan "tests/examples/GenericTree.hs" 6 1 6 1+ , SrcSpan "tests/examples/GenericTree.hs" 7 1 7 1+ , SrcSpan "tests/examples/GenericTree.hs" 8 1 8 1+ , SrcSpan "tests/examples/GenericTree.hs" 8 1 8 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 2 1 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 2 1 2 7+ , SrcSpan "tests/examples/GenericTree.hs" 2 20 2 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 2 8 2 19+ , srcInfoPoints = []+ }+ "GenericTree")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 1 1 1 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 1 1 1 13+ , SrcSpan "tests/examples/GenericTree.hs" 1 25 1 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 4 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 4 1 4 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 4 8 4 21+ , srcInfoPoints = []+ }+ "Data.Typeable"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 1 6 83+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 6 8 6 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 1 6 7+ , srcInfoPoints = []+ }+ "dynRep"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 11 6 83+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 11 6 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 6 11 6 12+ , SrcSpan "tests/examples/GenericTree.hs" 6 22 6 23+ , SrcSpan "tests/examples/GenericTree.hs" 6 24 6 26+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 11 6 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 6 11 6 12+ , SrcSpan "tests/examples/GenericTree.hs" 6 22 6 23+ , SrcSpan "tests/examples/GenericTree.hs" 6 24 6 26+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+ , srcInfoPoints = []+ }+ "Typeable")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ "a")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 27 6 83+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 6 29 6 31 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 27 6 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 27 6 28+ , srcInfoPoints = []+ }+ "a"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 32 6 83+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 6 32 6 33+ , SrcSpan "tests/examples/GenericTree.hs" 6 40 6 41+ , SrcSpan "tests/examples/GenericTree.hs" 6 82 6 83+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 33 6 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 33 6 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 33 6 40+ , srcInfoPoints = []+ }+ "TypeRep"))+ , TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 42 6 82+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 6 42 6 48+ , SrcSpan "tests/examples/GenericTree.hs" 6 50 6 51+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 49 6 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 49 6 50+ , srcInfoPoints = []+ }+ "b")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 52 6 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 6 52 6 53+ , SrcSpan "tests/examples/GenericTree.hs" 6 63 6 64+ , SrcSpan "tests/examples/GenericTree.hs" 6 65 6 67+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 52 6 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 6 52 6 53+ , SrcSpan "tests/examples/GenericTree.hs" 6 63 6 64+ , SrcSpan "tests/examples/GenericTree.hs" 6 65 6 67+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/GenericTree.hs" 6 53 6 61+ , srcInfoPoints = []+ }+ "Typeable")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63+ , srcInfoPoints = []+ }+ "b")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 68 6 82+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 6 70 6 72 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 68 6 69+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 68 6 69+ , srcInfoPoints = []+ }+ "b"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 73 6 82+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 6 73 6 74+ , SrcSpan "tests/examples/GenericTree.hs" 6 81 6 82+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 74 6 81+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 74 6 79+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 74 6 79+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 74 6 79+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 80 6 81+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 80 6 81+ , srcInfoPoints = []+ }+ "b")))))+ ])))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 1 7 36+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 1 7 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 1 7 7+ , srcInfoPoints = []+ }+ "dynRep")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 8 7 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 8 7 9+ , srcInfoPoints = []+ }+ "a")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 10 7 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 7 10 7 11 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 12 7 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 7 12 7 13+ , SrcSpan "tests/examples/GenericTree.hs" 7 21 7 22+ , SrcSpan "tests/examples/GenericTree.hs" 7 35 7 36+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 13 7 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 13 7 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 13 7 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 13 7 19+ , srcInfoPoints = []+ }+ "typeOf")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 20 7 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 20 7 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 20 7 21+ , srcInfoPoints = []+ }+ "a")))+ , Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 23 7 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GenericTree.hs" 7 23 7 24+ , SrcSpan "tests/examples/GenericTree.hs" 7 26 7 28+ ]+ }+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 24 7 25+ , srcInfoPoints = []+ }+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 29 7 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 29 7 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 29 7 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 7 29 7 33+ , srcInfoPoints = []+ }+ "cast")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 34 7 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 34 7 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 7 34 7 35+ , srcInfoPoints = []+ }+ "a"))))+ ]))+ Nothing+ ]+ ]+ , []+ )
tests/examples/GenericTree.hs.prettyprinter.golden view
@@ -1,7 +1,7 @@ {-# LANGUAGE RankNTypes #-} module GenericTree where import Data.Typeable- + dynRep :: (Typeable a) => a -> (TypeRep, forall b . (Typeable b) => b -> (Maybe b))
tests/examples/GhcDeriving.hs.parser.golden view
@@ -1,1 +1,271 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) Nothing [] [] [DataDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 25, srcSpanEndLine = 3, srcSpanEndColumn = 26}]}) (NewType (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 8}, srcInfoPoints = []})) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = []}) "CodeGenModule") [UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = []}) "a")]) [QualConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 27, srcSpanEndLine = 3, srcSpanEndColumn = 53}, srcInfoPoints = []}) Nothing Nothing (ConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 27, srcSpanEndLine = 3, srcSpanEndColumn = 53}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 27, srcSpanEndLine = 3, srcSpanEndColumn = 30}, srcInfoPoints = []}) "CGM") [UnBangedTy (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 31, srcSpanEndLine = 3, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 31, srcSpanEndLine = 3, srcSpanEndColumn = 32},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 52, srcSpanEndLine = 3, srcSpanEndColumn = 53}]}) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 31, srcSpanEndLine = 3, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 31, srcSpanEndLine = 3, srcSpanEndColumn = 32},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 52, srcSpanEndLine = 3, srcSpanEndColumn = 53}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 32, srcSpanEndLine = 3, srcSpanEndColumn = 52}, srcInfoPoints = []}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 32, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 32, srcSpanEndLine = 3, srcSpanEndColumn = 47}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 32, srcSpanEndLine = 3, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 32, srcSpanEndLine = 3, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 32, srcSpanEndLine = 3, srcSpanEndColumn = 38}, srcInfoPoints = []}) "StateT"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 39, srcSpanEndLine = 3, srcSpanEndColumn = 47}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 39, srcSpanEndLine = 3, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 39, srcSpanEndLine = 3, srcSpanEndColumn = 47}, srcInfoPoints = []}) "CGMState")))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 48, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 48, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 48, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) "IO")))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 51, srcSpanEndLine = 3, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 3, srcSpanStartColumn = 51, srcSpanEndLine = 3, srcSpanEndColumn = 52}, srcInfoPoints = []}) "a"))))])] (Just (Deriving (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 4, srcSpanEndLine = 4, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 4, srcSpanEndLine = 4, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 19, srcSpanEndLine = 4, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 35, srcSpanEndLine = 4, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 44, srcSpanEndLine = 4, srcSpanEndColumn = 45}]}) [IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 14, srcSpanEndLine = 4, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 14, srcSpanEndLine = 4, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 14, srcSpanEndLine = 4, srcSpanEndColumn = 19}, srcInfoPoints = []}) "Monad")) [],IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = []}) "MonadState")) [TyList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 32, srcSpanEndLine = 4, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 32, srcSpanEndLine = 4, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 34, srcSpanEndLine = 4, srcSpanEndColumn = 35}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 33, srcSpanEndLine = 4, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 33, srcSpanEndLine = 4, srcSpanEndColumn = 34}, srcInfoPoints = []}) "s"))],IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 37, srcSpanEndLine = 4, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 37, srcSpanEndLine = 4, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GhcDeriving.hs", srcSpanStartLine = 4, srcSpanStartColumn = 37, srcSpanEndLine = 4, srcSpanEndColumn = 44}, srcInfoPoints = []}) "MonadIO")) []]))],[])+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")))+ ]+ ]+ ]+ , []+ )
tests/examples/GhcDeriving.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- newtype CodeGenModule a = CGM (StateT CGMState IO a)- deriving (Monad, MonadState [s], MonadIO)+ deriving (Monad, MonadState [s], MonadIO)
tests/examples/GroupKeyword.hs.parser.golden view
@@ -1,1 +1,210 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 26}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 20}, srcInfoPoints = []}) "GroupKeyword") Nothing Nothing)) [] [] [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) "a")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 4}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 8}, srcInfoPoints = []}) "map"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 13}, srcInfoPoints = []}) "head")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 14, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 14, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 14, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) "$"))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = []}) "group"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 22, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 22, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 22, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 24, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 24, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 24, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 24, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) "sort"))) (EnumFromTo (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 29, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 29, srcSpanEndLine = 4, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 31, srcSpanEndLine = 4, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 36, srcSpanEndLine = 4, srcSpanEndColumn = 37}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 30, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 30, srcSpanEndLine = 4, srcSpanEndColumn = 31}, srcInfoPoints = []}) 1 "1")) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 33, srcSpanEndLine = 4, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 4, srcSpanStartColumn = 33, srcSpanEndLine = 4, srcSpanEndColumn = 36}, srcInfoPoints = []}) 100 "100"))))))) Nothing],[Comment False (SrcSpan {srcSpanFilename = "tests/examples/GroupKeyword.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 38}) " {-# LANGUAGE TransformListComp #-}"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 2 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GroupKeyword.hs" 2 1 2 1+ , SrcSpan "tests/examples/GroupKeyword.hs" 2 1 2 1+ , SrcSpan "tests/examples/GroupKeyword.hs" 4 1 4 1+ , SrcSpan "tests/examples/GroupKeyword.hs" 5 1 5 1+ , SrcSpan "tests/examples/GroupKeyword.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 2 1 2 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GroupKeyword.hs" 2 1 2 7+ , SrcSpan "tests/examples/GroupKeyword.hs" 2 21 2 26+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 2 8 2 20+ , srcInfoPoints = []+ }+ "GroupKeyword")+ Nothing+ Nothing))+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 1 4 37+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "a"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 3 4 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GroupKeyword.hs" 4 3 4 4 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 5 4 37+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 5 4 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 5 4 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 5 4 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 5 4 8+ , srcInfoPoints = []+ }+ "map")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 9 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 9 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 9 4 13+ , srcInfoPoints = []+ }+ "head"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 16 4 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ "group")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 24 4 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 24 4 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 24 4 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 24 4 28+ , srcInfoPoints = []+ }+ "sort")))+ (EnumFromTo+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 29 4 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GroupKeyword.hs" 4 29 4 30+ , SrcSpan "tests/examples/GroupKeyword.hs" 4 31 4 33+ , SrcSpan "tests/examples/GroupKeyword.hs" 4 36 4 37+ ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 30 4 31+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 30 4 31+ , srcInfoPoints = []+ }+ 1+ "1"))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 33 4 36+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GroupKeyword.hs" 4 33 4 36+ , srcInfoPoints = []+ }+ 100+ "100")))))))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/GroupKeyword.hs" 1 1 1 38)+ " {-# LANGUAGE TransformListComp #-}"+ ]+ )
+ tests/examples/HaddockComments.hs view
@@ -0,0 +1,56 @@+{-|+Module : W+Description : Short description+Copyright : (c) Some Guy, 2013+ Someone Else, 2014+License : GPL-3+Maintainer : sample@email.com+Stability : experimental+Portability : POSIX++Here is a longer description of this module, containing some+commentary with @some markup@.+-}+module HaddockComments where++-- | Function1 comment+fun1+ :: Int -- ^ The 'Int' argument+ -> Float -- ^ The 'Float' argument+ -> IO () -- ^ The return value+fun1 = undefined+++-- not a haddock comment+fun2 = undefined++fun3 :: Int -> Int+-- ^ Function3 comment+fun3 = undefined++{-|+ The 'square' function squares an integer.+ It takes one argument, of type 'Int'.+-}+square :: Int -> Int+square x = x * x -- beware!++class C a where+ -- | This is the documentation for the 'f' method+ f :: a -> Int+ -- | This is the documentation for the 'g' method+ g :: Int -> a++-- | Data type comment+-- With a second line+data MyData =+ -- | Constructor1 comment+ Cons1+ { cons1Field1 :: Int -- ^ Constructor 1 field 1 comment+ -- spanning two lines+ -- | Constructor 1 field 2 comment+ , cons1Field2 :: Int+ , cons1Field3 :: String -- Not a haddock comment+ }+ | Cons2 -- ^ Constructor 2 comment+ Int -- ^ Last
+ tests/examples/HaddockComments.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/HaddockComments.hs.parser.golden view
@@ -0,0 +1,983 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 14 1 57 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 14 1 14 1+ , SrcSpan "tests/examples/HaddockComments.hs" 14 1 14 1+ , SrcSpan "tests/examples/HaddockComments.hs" 17 1 17 1+ , SrcSpan "tests/examples/HaddockComments.hs" 21 1 21 1+ , SrcSpan "tests/examples/HaddockComments.hs" 25 1 25 1+ , SrcSpan "tests/examples/HaddockComments.hs" 27 1 27 1+ , SrcSpan "tests/examples/HaddockComments.hs" 29 1 29 1+ , SrcSpan "tests/examples/HaddockComments.hs" 35 1 35 1+ , SrcSpan "tests/examples/HaddockComments.hs" 36 1 36 1+ , SrcSpan "tests/examples/HaddockComments.hs" 38 1 38 1+ , SrcSpan "tests/examples/HaddockComments.hs" 46 1 46 1+ , SrcSpan "tests/examples/HaddockComments.hs" 57 1 57 1+ , SrcSpan "tests/examples/HaddockComments.hs" 57 1 57 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 14 1 14 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 14 1 14 7+ , SrcSpan "tests/examples/HaddockComments.hs" 14 24 14 29+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 14 8 14 23+ , srcInfoPoints = []+ }+ "HaddockComments")+ Nothing+ Nothing))+ []+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 17 1 20 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 18 4 18 6 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 17 1 17 5+ , srcInfoPoints = []+ }+ "fun1"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 18 7 20 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 19 4 19 6 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 18 7 18 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 18 7 18 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 18 7 18 10+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 19 7 20 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 20 4 20 6 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 19 7 19 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 19 7 19 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 19 7 19 12+ , srcInfoPoints = []+ }+ "Float")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 20 7 20 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 20 7 20 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 20 7 20 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 20 7 20 9+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 11+ , SrcSpan "tests/examples/HaddockComments.hs" 20 11 20 12+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 11+ , SrcSpan "tests/examples/HaddockComments.hs" 20 11 20 12+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 11+ , SrcSpan "tests/examples/HaddockComments.hs" 20 11 20 12+ ]+ }))))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 21 1 21 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 21 1 21 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 21 1 21 5+ , srcInfoPoints = []+ }+ "fun1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 21 6 21 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 21 6 21 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 21 8 21 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 21 8 21 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 21 8 21 17+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 25 1 25 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 25 1 25 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 25 1 25 5+ , srcInfoPoints = []+ }+ "fun2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 25 6 25 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 25 6 25 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 25 8 25 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 25 8 25 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 25 8 25 17+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 27 1 27 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 27 6 27 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 27 1 27 5+ , srcInfoPoints = []+ }+ "fun3"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 27 9 27 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 27 13 27 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 27 9 27 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 27 9 27 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 27 9 27 12+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 27 16 27 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 27 16 27 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 27 16 27 19+ , srcInfoPoints = []+ }+ "Int"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 29 1 29 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 29 1 29 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 29 1 29 5+ , srcInfoPoints = []+ }+ "fun3"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 29 6 29 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 29 6 29 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 29 8 29 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 29 8 29 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 29 8 29 17+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 35 1 35 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 35 8 35 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 35 1 35 7+ , srcInfoPoints = []+ }+ "square"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 35 11 35 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 35 15 35 17 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 35 11 35 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 35 11 35 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 35 11 35 14+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 35 18 35 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 35 18 35 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 35 18 35 21+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 1 36 17+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 1 36 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 1 36 7+ , srcInfoPoints = []+ }+ "square")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 8 36 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 8 36 9+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 10 36 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 36 10 36 11 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 12 36 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 12 36 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 12 36 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 12 36 13+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 14 36 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 14 36 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 14 36 15+ , srcInfoPoints = []+ }+ "*")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 16 36 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 16 36 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 36 16 36 17+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 38 1 42 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 38 1 38 6+ , SrcSpan "tests/examples/HaddockComments.hs" 38 11 38 16+ , SrcSpan "tests/examples/HaddockComments.hs" 40 4 40 4+ , SrcSpan "tests/examples/HaddockComments.hs" 42 4 42 4+ , SrcSpan "tests/examples/HaddockComments.hs" 46 1 46 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 38 7 38 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 38 7 38 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 38 7 38 8+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 38 9 38 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 38 9 38 10+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 40 4 40 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 40 6 40 8 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 40 4 40 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 40 6 40 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 40 4 40 5+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 40 9 40 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 40 11 40 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 40 9 40 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 40 9 40 10+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 40 14 40 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 40 14 40 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 40 14 40 17+ , srcInfoPoints = []+ }+ "Int")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 42 4 42 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 42 6 42 8 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 42 4 42 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 42 6 42 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 42 4 42 5+ , srcInfoPoints = []+ }+ "g"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 42 9 42 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 42 13 42 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 42 9 42 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 42 9 42 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 42 9 42 12+ , srcInfoPoints = []+ }+ "Int")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 42 16 42 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 42 16 42 17+ , srcInfoPoints = []+ }+ "a"))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 46 1 56 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 46 13 46 14+ , SrcSpan "tests/examples/HaddockComments.hs" 55 3 55 4+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 46 1 46 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 46 6 46 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 46 6 46 12+ , srcInfoPoints = []+ }+ "MyData"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 48 3 54 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 49 5 49 6+ , SrcSpan "tests/examples/HaddockComments.hs" 52 5 52 6+ , SrcSpan "tests/examples/HaddockComments.hs" 53 5 53 6+ , SrcSpan "tests/examples/HaddockComments.hs" 54 5 54 6+ ]+ }+ Nothing+ Nothing+ (RecDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 48 3 54 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 49 5 49 6+ , SrcSpan "tests/examples/HaddockComments.hs" 52 5 52 6+ , SrcSpan "tests/examples/HaddockComments.hs" 53 5 53 6+ , SrcSpan "tests/examples/HaddockComments.hs" 54 5 54 6+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 48 3 48 8+ , srcInfoPoints = []+ }+ "Cons1")+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 49 7 49 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 49 19 49 21 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 49 7 49 18+ , srcInfoPoints = []+ }+ "cons1Field1"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 49 22 49 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 49 22 49 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 49 22 49 25+ , srcInfoPoints = []+ }+ "Int")))+ , FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 52 7 52 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 52 19 52 21 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 52 7 52 18+ , srcInfoPoints = []+ }+ "cons1Field2"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 52 22 52 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 52 22 52 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 52 22 52 25+ , srcInfoPoints = []+ }+ "Int")))+ , FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 53 7 53 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaddockComments.hs" 53 19 53 21 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 53 7 53 18+ , srcInfoPoints = []+ }+ "cons1Field3"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 53 22 53 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 53 22 53 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 53 22 53 28+ , srcInfoPoints = []+ }+ "String")))+ ])+ , QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 55 5 56 10+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 55 5 56 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 55 5 55 10+ , srcInfoPoints = []+ }+ "Cons2")+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 56 7 56 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 56 7 56 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaddockComments.hs" 56 7 56 10+ , srcInfoPoints = []+ }+ "Int"))+ ])+ ]+ []+ ]+ , [ Comment+ True+ (SrcSpan "tests/examples/HaddockComments.hs" 1 1 13 3)+ "|\nModule : W\nDescription : Short description\nCopyright : (c) Some Guy, 2013\n Someone Else, 2014\nLicense : GPL-3\nMaintainer : sample@email.com\nStability : experimental\nPortability : POSIX\n\nHere is a longer description of this module, containing some\ncommentary with @some markup@.\n"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 16 1 16 23)+ " | Function1 comment"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 18 16 18 39)+ " ^ The 'Int' argument"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 19 16 19 41)+ " ^ The 'Float' argument"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 20 16 20 37)+ " ^ The return value"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 24 1 24 25)+ " not a haddock comment"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 28 1 28 23)+ " ^ Function3 comment"+ , Comment+ True+ (SrcSpan "tests/examples/HaddockComments.hs" 31 1 34 3)+ "|\n The 'square' function squares an integer.\n It takes one argument, of type 'Int'.\n"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 36 18 36 28)+ " beware!"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 39 4 39 53)+ " | This is the documentation for the 'f' method"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 41 4 41 53)+ " | This is the documentation for the 'g' method"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 44 1 44 23)+ " | Data type comment"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 45 1 45 22)+ " With a second line"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 47 3 47 28)+ " | Constructor1 comment"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 49 26 49 60)+ " ^ Constructor 1 field 1 comment"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 50 26 50 47)+ " spanning two lines"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 51 7 51 41)+ " | Constructor 1 field 2 comment"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 53 29 53 53)+ " Not a haddock comment"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 55 11 55 37)+ " ^ Constructor 2 comment"+ , Comment+ False+ (SrcSpan "tests/examples/HaddockComments.hs" 56 11 56 20)+ " ^ Last"+ ]+ )
+ tests/examples/HaddockComments.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/HaddockComments.hs.prettyprinter.golden view
@@ -0,0 +1,20 @@+module HaddockComments where++fun1 :: Int -> Float -> IO ()+fun1 = undefined+fun2 = undefined++fun3 :: Int -> Int+fun3 = undefined++square :: Int -> Int+square x = x * x++class C a where+ f :: a -> Int+ + g :: Int -> a++data MyData = Cons1{cons1Field1 :: Int, cons1Field2 :: Int,+ cons1Field3 :: String}+ | Cons2 Int
tests/examples/HappyDoAction.hs.parser.golden view
@@ -1,1 +1,2443 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 31, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 31, srcSpanStartColumn = 1, srcSpanEndLine = 31, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 31, srcSpanStartColumn = 1, srcSpanEndLine = 31, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 2, srcSpanStartColumn = 22, srcSpanEndLine = 2, srcSpanEndColumn = 27}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 21}, srcInfoPoints = []}) "HappyDoAction") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 1, srcSpanStartColumn = 24, srcSpanEndLine = 1, srcSpanEndColumn = 27}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = []}) "MagicHash"]] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 12}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 7}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 4}, srcInfoPoints = []}) "foo"] (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 12}, srcInfoPoints = []}) "Int#"))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 31, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 4, srcSpanEndLine = 24, srcSpanEndColumn = 9}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 31, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 4, srcSpanEndLine = 24, srcSpanEndColumn = 9}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = []}) "happyDoAction") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 6, srcSpanStartColumn = 15, srcSpanEndLine = 6, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 6, srcSpanStartColumn = 15, srcSpanEndLine = 6, srcSpanEndColumn = 16}, srcInfoPoints = []}) "i"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 6, srcSpanStartColumn = 17, srcSpanEndLine = 6, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 6, srcSpanStartColumn = 17, srcSpanEndLine = 6, srcSpanEndColumn = 19}, srcInfoPoints = []}) "tk"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 6, srcSpanStartColumn = 20, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 6, srcSpanStartColumn = 20, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) "st")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 7, srcSpanStartColumn = 5, srcSpanEndLine = 24, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 7, srcSpanStartColumn = 5, srcSpanEndLine = 7, srcSpanEndColumn = 6}]}) (Case (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 10, srcSpanStartColumn = 7, srcSpanEndLine = 24, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 10, srcSpanStartColumn = 7, srcSpanEndLine = 10, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 10, srcSpanStartColumn = 19, srcSpanEndLine = 10, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 9, srcSpanEndLine = 15, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 19, srcSpanStartColumn = 9, srcSpanEndLine = 19, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 4, srcSpanEndLine = 24, srcSpanEndColumn = 0}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 18}, srcInfoPoints = []}) "action"))) [Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 12, srcSpanEndColumn = 39}, srcInfoPoints = []}) (PLit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) (PrimInt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) 0 "0")) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 11, srcSpanStartColumn = 19, srcSpanEndLine = 12, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 11, srcSpanStartColumn = 19, srcSpanEndLine = 11, srcSpanEndColumn = 21}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 22, srcSpanEndLine = 12, srcSpanEndColumn = 39}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 22, srcSpanEndLine = 12, srcSpanEndColumn = 36}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 22, srcSpanEndLine = 12, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 22, srcSpanEndLine = 12, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 22, srcSpanEndLine = 12, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 22, srcSpanEndLine = 12, srcSpanEndColumn = 31}, srcInfoPoints = []}) "happyFail"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 32, srcSpanEndLine = 12, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 32, srcSpanEndLine = 12, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 32, srcSpanEndLine = 12, srcSpanEndColumn = 33}, srcInfoPoints = []}) "i")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 34, srcSpanEndLine = 12, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 34, srcSpanEndLine = 12, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 34, srcSpanEndLine = 12, srcSpanEndColumn = 36}, srcInfoPoints = []}) "tk")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 37, srcSpanEndLine = 12, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 37, srcSpanEndLine = 12, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 12, srcSpanStartColumn = 37, srcSpanEndLine = 12, srcSpanEndColumn = 39}, srcInfoPoints = []}) "st"))))) Nothing,Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 14, srcSpanEndColumn = 41}, srcInfoPoints = []}) (PNeg (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 12}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 10}]}) (PLit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 13, srcSpanStartColumn = 10, srcSpanEndLine = 13, srcSpanEndColumn = 12}, srcInfoPoints = []}) (PrimInt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 13, srcSpanStartColumn = 10, srcSpanEndLine = 13, srcSpanEndColumn = 12}, srcInfoPoints = []}) 1 "1"))) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 13, srcSpanStartColumn = 19, srcSpanEndLine = 14, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 13, srcSpanStartColumn = 19, srcSpanEndLine = 13, srcSpanEndColumn = 21}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 22, srcSpanEndLine = 14, srcSpanEndColumn = 41}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 22, srcSpanEndLine = 14, srcSpanEndColumn = 38}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 22, srcSpanEndLine = 14, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 22, srcSpanEndLine = 14, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 22, srcSpanEndLine = 14, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 22, srcSpanEndLine = 14, srcSpanEndColumn = 33}, srcInfoPoints = []}) "happyAccept"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 34, srcSpanEndLine = 14, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 34, srcSpanEndLine = 14, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 34, srcSpanEndLine = 14, srcSpanEndColumn = 35}, srcInfoPoints = []}) "i")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 36, srcSpanEndLine = 14, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 36, srcSpanEndLine = 14, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 36, srcSpanEndLine = 14, srcSpanEndColumn = 38}, srcInfoPoints = []}) "tk")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 39, srcSpanEndLine = 14, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 39, srcSpanEndLine = 14, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 14, srcSpanStartColumn = 39, srcSpanEndLine = 14, srcSpanEndColumn = 41}, srcInfoPoints = []}) "st"))))) Nothing,Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 9, srcSpanEndLine = 19, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 22, srcSpanEndLine = 18, srcSpanEndColumn = 27}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 9, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 9, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = []}) "n")) (GuardedAlts (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 11, srcSpanEndLine = 17, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 11, srcSpanEndLine = 15, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 33, srcSpanEndLine = 15, srcSpanEndColumn = 35}]}) [GuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 11, srcSpanEndLine = 17, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 11, srcSpanEndLine = 15, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 33, srcSpanEndLine = 15, srcSpanEndColumn = 35}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 13, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 13, srcSpanEndLine = 15, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 31, srcSpanEndLine = 15, srcSpanEndColumn = 32}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 13, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 13, srcSpanEndLine = 15, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 31, srcSpanEndLine = 15, srcSpanEndColumn = 32}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 15}, srcInfoPoints = []}) "n"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 16, srcSpanEndLine = 15, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 16, srcSpanEndLine = 15, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 16, srcSpanEndLine = 15, srcSpanEndColumn = 18}, srcInfoPoints = []}) "<#"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 19, srcSpanEndLine = 15, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 19, srcSpanEndLine = 15, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 30, srcSpanEndLine = 15, srcSpanEndColumn = 31}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 20, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 23, srcSpanEndLine = 15, srcSpanEndColumn = 25}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 20, srcSpanEndLine = 15, srcSpanEndColumn = 22}, srcInfoPoints = []}) (PrimInt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 20, srcSpanEndLine = 15, srcSpanEndColumn = 22}, srcInfoPoints = []}) 0 "0")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 26, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 26, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 26, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) "Int#")))))))] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 22, srcSpanEndLine = 17, srcSpanEndColumn = 53}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 22, srcSpanEndLine = 17, srcSpanEndColumn = 50}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 22, srcSpanEndLine = 17, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 22, srcSpanEndLine = 17, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 22, srcSpanEndLine = 17, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 44, srcSpanEndLine = 17, srcSpanEndColumn = 45}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 23, srcSpanEndLine = 17, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 23, srcSpanEndLine = 17, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 23, srcSpanEndLine = 17, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 23, srcSpanEndLine = 17, srcSpanEndColumn = 37}, srcInfoPoints = []}) "happyReduceArr"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 38, srcSpanEndLine = 17, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 38, srcSpanEndLine = 17, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 38, srcSpanEndLine = 17, srcSpanEndColumn = 39}, srcInfoPoints = []}) "!"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 40, srcSpanEndLine = 17, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 40, srcSpanEndLine = 17, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 40, srcSpanEndLine = 17, srcSpanEndColumn = 44}, srcInfoPoints = []}) "rule"))))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 46, srcSpanEndLine = 17, srcSpanEndColumn = 47}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 46, srcSpanEndLine = 17, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 46, srcSpanEndLine = 17, srcSpanEndColumn = 47}, srcInfoPoints = []}) "i")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 48, srcSpanEndLine = 17, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 48, srcSpanEndLine = 17, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 48, srcSpanEndLine = 17, srcSpanEndColumn = 50}, srcInfoPoints = []}) "tk")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 51, srcSpanEndLine = 17, srcSpanEndColumn = 53}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 51, srcSpanEndLine = 17, srcSpanEndColumn = 53}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 17, srcSpanStartColumn = 51, srcSpanEndLine = 17, srcSpanEndColumn = 53}, srcInfoPoints = []}) "st"))))]) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 28, srcSpanEndLine = 19, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 28, srcSpanEndLine = 18, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 19, srcSpanStartColumn = 9, srcSpanEndLine = 19, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 28, srcSpanEndLine = 18, srcSpanEndColumn = 76}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 28, srcSpanEndLine = 18, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 28, srcSpanEndLine = 18, srcSpanEndColumn = 32}, srcInfoPoints = []}) "rule")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 33, srcSpanEndLine = 18, srcSpanEndColumn = 76}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 33, srcSpanEndLine = 18, srcSpanEndColumn = 34}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 35, srcSpanEndLine = 18, srcSpanEndColumn = 76}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 35, srcSpanEndLine = 18, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 75, srcSpanEndLine = 18, srcSpanEndColumn = 76}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 36, srcSpanEndLine = 18, srcSpanEndColumn = 75}, srcInfoPoints = []}) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 36, srcSpanEndLine = 18, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 36, srcSpanEndLine = 18, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 36, srcSpanEndLine = 18, srcSpanEndColumn = 38}, srcInfoPoints = []}) "I#"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 39, srcSpanEndLine = 18, srcSpanEndColumn = 75}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 39, srcSpanEndLine = 18, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 74, srcSpanEndLine = 18, srcSpanEndColumn = 75}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 40, srcSpanEndLine = 18, srcSpanEndColumn = 74}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 40, srcSpanEndLine = 18, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 73, srcSpanEndLine = 18, srcSpanEndColumn = 74}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 41, srcSpanEndLine = 18, srcSpanEndColumn = 73}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 41, srcSpanEndLine = 18, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 41, srcSpanEndLine = 18, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 41, srcSpanEndLine = 18, srcSpanEndColumn = 51}, srcInfoPoints = []}) "negateInt#"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 52, srcSpanEndLine = 18, srcSpanEndColumn = 73}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 52, srcSpanEndLine = 18, srcSpanEndColumn = 53},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 72, srcSpanEndLine = 18, srcSpanEndColumn = 73}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 53, srcSpanEndLine = 18, srcSpanEndColumn = 72}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 53, srcSpanEndLine = 18, srcSpanEndColumn = 54},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 71, srcSpanEndLine = 18, srcSpanEndColumn = 72}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 54, srcSpanEndLine = 18, srcSpanEndColumn = 71}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 54, srcSpanEndLine = 18, srcSpanEndColumn = 55}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 54, srcSpanEndLine = 18, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 54, srcSpanEndLine = 18, srcSpanEndColumn = 55}, srcInfoPoints = []}) "n"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 56, srcSpanEndLine = 18, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 56, srcSpanEndLine = 18, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 56, srcSpanEndLine = 18, srcSpanEndColumn = 58}, srcInfoPoints = []}) "+#"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 59, srcSpanEndLine = 18, srcSpanEndColumn = 71}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 59, srcSpanEndLine = 18, srcSpanEndColumn = 60},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 70, srcSpanEndLine = 18, srcSpanEndColumn = 71}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 60, srcSpanEndLine = 18, srcSpanEndColumn = 70}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 63, srcSpanEndLine = 18, srcSpanEndColumn = 65}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 60, srcSpanEndLine = 18, srcSpanEndColumn = 62}, srcInfoPoints = []}) (PrimInt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 60, srcSpanEndLine = 18, srcSpanEndColumn = 62}, srcInfoPoints = []}) 1 "1")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 66, srcSpanEndLine = 18, srcSpanEndColumn = 70}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 66, srcSpanEndLine = 18, srcSpanEndColumn = 70}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 18, srcSpanStartColumn = 66, srcSpanEndLine = 18, srcSpanEndColumn = 70}, srcInfoPoints = []}) "Int#")))))))))))))) Nothing])),Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 19, srcSpanStartColumn = 9, srcSpanEndLine = 24, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 22, srcSpanEndLine = 23, srcSpanEndColumn = 27}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 19, srcSpanStartColumn = 9, srcSpanEndLine = 19, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 19, srcSpanStartColumn = 9, srcSpanEndLine = 19, srcSpanEndColumn = 10}, srcInfoPoints = []}) "n")) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 19, srcSpanStartColumn = 19, srcSpanEndLine = 22, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 19, srcSpanStartColumn = 19, srcSpanEndLine = 19, srcSpanEndColumn = 21}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 22, srcSpanEndLine = 22, srcSpanEndColumn = 50}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 22, srcSpanEndLine = 22, srcSpanEndColumn = 47}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 22, srcSpanEndLine = 22, srcSpanEndColumn = 44}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 22, srcSpanEndLine = 22, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 22, srcSpanEndLine = 22, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 22, srcSpanEndLine = 22, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 22, srcSpanEndLine = 22, srcSpanEndColumn = 32}, srcInfoPoints = []}) "happyShift"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 33, srcSpanEndLine = 22, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 33, srcSpanEndLine = 22, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 33, srcSpanEndLine = 22, srcSpanEndColumn = 42}, srcInfoPoints = []}) "new_state")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 43, srcSpanEndLine = 22, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 43, srcSpanEndLine = 22, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 43, srcSpanEndLine = 22, srcSpanEndColumn = 44}, srcInfoPoints = []}) "i")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 45, srcSpanEndLine = 22, srcSpanEndColumn = 47}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 45, srcSpanEndLine = 22, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 45, srcSpanEndLine = 22, srcSpanEndColumn = 47}, srcInfoPoints = []}) "tk")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 48, srcSpanEndLine = 22, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 48, srcSpanEndLine = 22, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 22, srcSpanStartColumn = 48, srcSpanEndLine = 22, srcSpanEndColumn = 50}, srcInfoPoints = []}) "st"))))) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 28, srcSpanEndLine = 24, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 28, srcSpanEndLine = 23, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 4, srcSpanEndLine = 24, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 28, srcSpanEndLine = 23, srcSpanEndColumn = 59}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 28, srcSpanEndLine = 23, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 28, srcSpanEndLine = 23, srcSpanEndColumn = 37}, srcInfoPoints = []}) "new_state")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 38, srcSpanEndLine = 23, srcSpanEndColumn = 59}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 38, srcSpanEndLine = 23, srcSpanEndColumn = 39}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 40, srcSpanEndLine = 23, srcSpanEndColumn = 59}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 40, srcSpanEndLine = 23, srcSpanEndColumn = 41},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 58, srcSpanEndLine = 23, srcSpanEndColumn = 59}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 41, srcSpanEndLine = 23, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 41, srcSpanEndLine = 23, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 41, srcSpanEndLine = 23, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 41, srcSpanEndLine = 23, srcSpanEndColumn = 42}, srcInfoPoints = []}) "n"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 43, srcSpanEndLine = 23, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 43, srcSpanEndLine = 23, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 43, srcSpanEndLine = 23, srcSpanEndColumn = 45}, srcInfoPoints = []}) "-#"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 46, srcSpanEndLine = 23, srcSpanEndColumn = 58}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 46, srcSpanEndLine = 23, srcSpanEndColumn = 47},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 57, srcSpanEndLine = 23, srcSpanEndColumn = 58}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 47, srcSpanEndLine = 23, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 50, srcSpanEndLine = 23, srcSpanEndColumn = 52}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 47, srcSpanEndLine = 23, srcSpanEndColumn = 49}, srcInfoPoints = []}) (PrimInt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 47, srcSpanEndLine = 23, srcSpanEndColumn = 49}, srcInfoPoints = []}) 1 "1")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 53, srcSpanEndLine = 23, srcSpanEndColumn = 57}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 53, srcSpanEndLine = 23, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 23, srcSpanStartColumn = 53, srcSpanEndLine = 23, srcSpanEndColumn = 57}, srcInfoPoints = []}) "Int#")))))))) Nothing]))])) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 10, srcSpanEndLine = 31, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 10, srcSpanEndLine = 24, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 10, srcSpanEndLine = 25, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 10, srcSpanEndLine = 26, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 10, srcSpanEndLine = 29, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 31, srcSpanStartColumn = 1, srcSpanEndLine = 31, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 10, srcSpanEndLine = 24, srcSpanEndColumn = 55}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 10, srcSpanEndLine = 24, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 10, srcSpanEndLine = 24, srcSpanEndColumn = 13}, srcInfoPoints = []}) "off")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 17, srcSpanEndLine = 24, srcSpanEndColumn = 55}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 17, srcSpanEndLine = 24, srcSpanEndColumn = 18}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 19, srcSpanEndLine = 24, srcSpanEndColumn = 55}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 19, srcSpanEndLine = 24, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 19, srcSpanEndLine = 24, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 19, srcSpanEndLine = 24, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 19, srcSpanEndLine = 24, srcSpanEndColumn = 36}, srcInfoPoints = []}) "indexShortOffAddr"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 37, srcSpanEndLine = 24, srcSpanEndColumn = 52}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 37, srcSpanEndLine = 24, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 37, srcSpanEndLine = 24, srcSpanEndColumn = 52}, srcInfoPoints = []}) "happyActOffsets")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 53, srcSpanEndLine = 24, srcSpanEndColumn = 55}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 53, srcSpanEndLine = 24, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 24, srcSpanStartColumn = 53, srcSpanEndLine = 24, srcSpanEndColumn = 55}, srcInfoPoints = []}) "st"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 10, srcSpanEndLine = 25, srcSpanEndColumn = 29}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 10, srcSpanEndLine = 25, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 10, srcSpanEndLine = 25, srcSpanEndColumn = 15}, srcInfoPoints = []}) "off_i")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 17, srcSpanEndLine = 25, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 17, srcSpanEndLine = 25, srcSpanEndColumn = 18}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 19, srcSpanEndLine = 25, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 19, srcSpanEndLine = 25, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 28, srcSpanEndLine = 25, srcSpanEndColumn = 29}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 20, srcSpanEndLine = 25, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 20, srcSpanEndLine = 25, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 20, srcSpanEndLine = 25, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 20, srcSpanEndLine = 25, srcSpanEndColumn = 23}, srcInfoPoints = []}) "off"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 24, srcSpanEndLine = 25, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 24, srcSpanEndLine = 25, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 24, srcSpanEndLine = 25, srcSpanEndColumn = 26}, srcInfoPoints = []}) "+#"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 27, srcSpanEndLine = 25, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 27, srcSpanEndLine = 25, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 25, srcSpanStartColumn = 27, srcSpanEndLine = 25, srcSpanEndColumn = 28}, srcInfoPoints = []}) "i")))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 10, srcSpanEndLine = 28, srcSpanEndColumn = 30}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 10, srcSpanEndLine = 26, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 10, srcSpanEndLine = 26, srcSpanEndColumn = 15}, srcInfoPoints = []}) "check")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 17, srcSpanEndLine = 28, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 17, srcSpanEndLine = 26, srcSpanEndColumn = 18}]}) (If (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 19, srcSpanEndLine = 28, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 19, srcSpanEndLine = 26, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 20, srcSpanEndLine = 27, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 28, srcSpanStartColumn = 20, srcSpanEndLine = 28, srcSpanEndColumn = 24}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 22, srcSpanEndLine = 26, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 22, srcSpanEndLine = 26, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 45, srcSpanEndLine = 26, srcSpanEndColumn = 46}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 23, srcSpanEndLine = 26, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 23, srcSpanEndLine = 26, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 23, srcSpanEndLine = 26, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 23, srcSpanEndLine = 26, srcSpanEndColumn = 28}, srcInfoPoints = []}) "off_i"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 29, srcSpanEndLine = 26, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 29, srcSpanEndLine = 26, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 29, srcSpanEndLine = 26, srcSpanEndColumn = 32}, srcInfoPoints = []}) ">=#"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 33, srcSpanEndLine = 26, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 33, srcSpanEndLine = 26, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 44, srcSpanEndLine = 26, srcSpanEndColumn = 45}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 34, srcSpanEndLine = 26, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 37, srcSpanEndLine = 26, srcSpanEndColumn = 39}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 34, srcSpanEndLine = 26, srcSpanEndColumn = 36}, srcInfoPoints = []}) (PrimInt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 34, srcSpanEndLine = 26, srcSpanEndColumn = 36}, srcInfoPoints = []}) 0 "0")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 40, srcSpanEndLine = 26, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 40, srcSpanEndLine = 26, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 26, srcSpanStartColumn = 40, srcSpanEndLine = 26, srcSpanEndColumn = 44}, srcInfoPoints = []}) "Int#"))))))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 25, srcSpanEndLine = 27, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 25, srcSpanEndLine = 27, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 67, srcSpanEndLine = 27, srcSpanEndColumn = 68}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 26, srcSpanEndLine = 27, srcSpanEndColumn = 67}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 26, srcSpanEndLine = 27, srcSpanEndColumn = 60}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 26, srcSpanEndLine = 27, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 26, srcSpanEndLine = 27, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 26, srcSpanEndLine = 27, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 26, srcSpanEndLine = 27, srcSpanEndColumn = 43}, srcInfoPoints = []}) "indexShortOffAddr"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 44, srcSpanEndLine = 27, srcSpanEndColumn = 54}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 44, srcSpanEndLine = 27, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 44, srcSpanEndLine = 27, srcSpanEndColumn = 54}, srcInfoPoints = []}) "happyCheck")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 55, srcSpanEndLine = 27, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 55, srcSpanEndLine = 27, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 55, srcSpanEndLine = 27, srcSpanEndColumn = 60}, srcInfoPoints = []}) "off_i")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 61, srcSpanEndLine = 27, srcSpanEndColumn = 64}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 61, srcSpanEndLine = 27, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 61, srcSpanEndLine = 27, srcSpanEndColumn = 64}, srcInfoPoints = []}) "==#"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 66, srcSpanEndLine = 27, srcSpanEndColumn = 67}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 66, srcSpanEndLine = 27, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 27, srcSpanStartColumn = 66, srcSpanEndLine = 27, srcSpanEndColumn = 67}, srcInfoPoints = []}) "i"))))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 28, srcSpanStartColumn = 25, srcSpanEndLine = 28, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 28, srcSpanStartColumn = 25, srcSpanEndLine = 28, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 28, srcSpanStartColumn = 25, srcSpanEndLine = 28, srcSpanEndColumn = 30}, srcInfoPoints = []}) "False"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 10, srcSpanEndLine = 30, srcSpanEndColumn = 67}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 10, srcSpanEndLine = 29, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 10, srcSpanEndLine = 29, srcSpanEndColumn = 16}, srcInfoPoints = []}) "action")) Nothing (GuardedRhss (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 17, srcSpanEndLine = 30, srcSpanEndColumn = 67}, srcInfoPoints = []}) [GuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 17, srcSpanEndLine = 29, srcSpanEndColumn = 65}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 17, srcSpanEndLine = 29, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 29, srcSpanEndLine = 29, srcSpanEndColumn = 30}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 19, srcSpanEndLine = 29, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 19, srcSpanEndLine = 29, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 19, srcSpanEndLine = 29, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 19, srcSpanEndLine = 29, srcSpanEndColumn = 24}, srcInfoPoints = []}) "check")))] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 31, srcSpanEndLine = 29, srcSpanEndColumn = 65}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 31, srcSpanEndLine = 29, srcSpanEndColumn = 59}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 31, srcSpanEndLine = 29, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 31, srcSpanEndLine = 29, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 31, srcSpanEndLine = 29, srcSpanEndColumn = 48}, srcInfoPoints = []}) "indexShortOffAddr"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 49, srcSpanEndLine = 29, srcSpanEndColumn = 59}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 49, srcSpanEndLine = 29, srcSpanEndColumn = 59}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 49, srcSpanEndLine = 29, srcSpanEndColumn = 59}, srcInfoPoints = []}) "happyTable")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 60, srcSpanEndLine = 29, srcSpanEndColumn = 65}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 60, srcSpanEndLine = 29, srcSpanEndColumn = 65}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 29, srcSpanStartColumn = 60, srcSpanEndLine = 29, srcSpanEndColumn = 65}, srcInfoPoints = []}) "off_i")))),GuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 17, srcSpanEndLine = 30, srcSpanEndColumn = 67}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 17, srcSpanEndLine = 30, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 29, srcSpanEndLine = 30, srcSpanEndColumn = 30}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 19, srcSpanEndLine = 30, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 19, srcSpanEndLine = 30, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 19, srcSpanEndLine = 30, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 19, srcSpanEndLine = 30, srcSpanEndColumn = 28}, srcInfoPoints = []}) "otherwise")))] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 31, srcSpanEndLine = 30, srcSpanEndColumn = 67}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 31, srcSpanEndLine = 30, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 31, srcSpanEndLine = 30, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 31, srcSpanEndLine = 30, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 31, srcSpanEndLine = 30, srcSpanEndColumn = 48}, srcInfoPoints = []}) "indexShortOffAddr"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 49, srcSpanEndLine = 30, srcSpanEndColumn = 64}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 49, srcSpanEndLine = 30, srcSpanEndColumn = 64}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 49, srcSpanEndLine = 30, srcSpanEndColumn = 64}, srcInfoPoints = []}) "happyDefActions")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 65, srcSpanEndLine = 30, srcSpanEndColumn = 67}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 65, srcSpanEndLine = 30, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 30, srcSpanStartColumn = 65, srcSpanEndLine = 30, srcSpanEndColumn = 67}, srcInfoPoints = []}) "st"))))]) Nothing]))]],[Comment True (SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 7, srcSpanEndColumn = 20}) " nothing ",Comment True (SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 11, srcSpanStartColumn = 22, srcSpanEndLine = 11, srcSpanEndColumn = 35}) " nothing ",Comment True (SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 13, srcSpanStartColumn = 22, srcSpanEndLine = 13, srcSpanEndColumn = 35}) " nothing ",Comment True (SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 15, srcSpanStartColumn = 36, srcSpanEndLine = 15, srcSpanEndColumn = 49}) " nothing ",Comment True (SrcSpan {srcSpanFilename = "tests/examples/HappyDoAction.hs", srcSpanStartLine = 19, srcSpanStartColumn = 22, srcSpanEndLine = 19, srcSpanEndColumn = 35}) " nothing "])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 1 1 31 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 1 1 1 1+ , SrcSpan "tests/examples/HappyDoAction.hs" 2 1 2 1+ , SrcSpan "tests/examples/HappyDoAction.hs" 2 1 2 1+ , SrcSpan "tests/examples/HappyDoAction.hs" 4 1 4 1+ , SrcSpan "tests/examples/HappyDoAction.hs" 6 1 6 1+ , SrcSpan "tests/examples/HappyDoAction.hs" 31 1 31 1+ , SrcSpan "tests/examples/HappyDoAction.hs" 31 1 31 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 2 1 2 7+ , SrcSpan "tests/examples/HappyDoAction.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "HappyDoAction")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 1 1 1 13+ , SrcSpan "tests/examples/HappyDoAction.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "MagicHash"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 4 1 4 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 4 5 4 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ "Int#")))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 6 1 30 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 24 4 24 9 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 6 1 30 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 24 4 24 9 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 6 1 6 14+ , srcInfoPoints = []+ }+ "happyDoAction")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 6 15 6 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 6 15 6 16+ , srcInfoPoints = []+ }+ "i")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 6 17 6 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 6 17 6 19+ , srcInfoPoints = []+ }+ "tk")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 6 20 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 6 20 6 22+ , srcInfoPoints = []+ }+ "st")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HappyDoAction.hs" 7 5 23 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 7 5 7 6 ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 10 7 23 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 10 7 10 11+ , SrcSpan "tests/examples/HappyDoAction.hs" 10 19 10 21+ , SrcSpan "tests/examples/HappyDoAction.hs" 11 9 11 9+ , SrcSpan "tests/examples/HappyDoAction.hs" 13 9 13 9+ , SrcSpan "tests/examples/HappyDoAction.hs" 15 9 15 9+ , SrcSpan "tests/examples/HappyDoAction.hs" 19 9 19 9+ , SrcSpan "tests/examples/HappyDoAction.hs" 24 4 24 0+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 10 12 10 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 10 12 10 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 10 12 10 18+ , srcInfoPoints = []+ }+ "action")))+ [ Alt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 11 9 12 39+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 11 9 11 11+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 11 9 11 11+ , srcInfoPoints = []+ })+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 11 9 11 11+ , srcInfoPoints = []+ }+ 0+ "0"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 11 19 12 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 11 19 11 21 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 12 22 12 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 12 22 12 36+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 12 22 12 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 12 22 12 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 12 22 12 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 12 22 12 31+ , srcInfoPoints = []+ }+ "happyFail")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 12 32 12 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 12 32 12 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 12 32 12 33+ , srcInfoPoints = []+ }+ "i"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 12 34 12 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 12 34 12 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 12 34 12 36+ , srcInfoPoints = []+ }+ "tk"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 12 37 12 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 12 37 12 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 12 37 12 39+ , srcInfoPoints = []+ }+ "st")))))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 13 9 14 41+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 13 9 13 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 13 9 13 10 ]+ }+ (Negative+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 13 9 13 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 13 9 13 10 ]+ })+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 13 10 13 12+ , srcInfoPoints = []+ }+ 1+ "1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 13 19 14 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 13 19 13 21 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 14 22 14 41+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 14 22 14 38+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 14 22 14 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 14 22 14 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 14 22 14 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 14 22 14 33+ , srcInfoPoints = []+ }+ "happyAccept")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 14 34 14 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 14 34 14 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 14 34 14 35+ , srcInfoPoints = []+ }+ "i"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 14 36 14 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 14 36 14 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 14 36 14 38+ , srcInfoPoints = []+ }+ "tk"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 14 39 14 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 14 39 14 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 14 39 14 41+ , srcInfoPoints = []+ }+ "st")))))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 15 9 18 76+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 18 22 18 27 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ "n"))+ (GuardedRhss+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 15 11 17 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 15 11 15 12+ , SrcSpan "tests/examples/HappyDoAction.hs" 15 33 15 35+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 15 11 17 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 15 11 15 12+ , SrcSpan "tests/examples/HappyDoAction.hs" 15 33 15 35+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 15 13 15 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 15 13 15 14+ , SrcSpan "tests/examples/HappyDoAction.hs" 15 31 15 32+ ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 15 13 15 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 15 13 15 14+ , SrcSpan "tests/examples/HappyDoAction.hs" 15 31 15 32+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 15 14 15 31+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 15 14 15 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 15 14 15 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 15+ 14+ 15+ 15+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 15 16 15 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 15 16 15 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 15+ 16+ 15+ 18+ , srcInfoPoints = []+ }+ "<#")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 15 19 15 31+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs" 15 19 15 20+ , SrcSpan+ "tests/examples/HappyDoAction.hs" 15 30 15 31+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 15 20 15 30+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 15+ 23+ 15+ 25+ ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 15+ 20+ 15+ 22+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 15+ 20+ 15+ 22+ , srcInfoPoints = []+ }+ 0+ "0"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 15+ 26+ 15+ 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 15+ 26+ 15+ 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 15+ 26+ 15+ 30+ , srcInfoPoints = []+ }+ "Int#")))))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 17 22 17 53+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 17 22 17 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 17 22 17 47+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 17 22 17 45+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs" 17 22 17 23+ , SrcSpan+ "tests/examples/HappyDoAction.hs" 17 44 17 45+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 17 23 17 44+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 17+ 23+ 17+ 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 17+ 23+ 17+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 17+ 23+ 17+ 37+ , srcInfoPoints = []+ }+ "happyReduceArr")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 17+ 38+ 17+ 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 17+ 38+ 17+ 39+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 17+ 38+ 17+ 39+ , srcInfoPoints = []+ }+ "!")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 17+ 40+ 17+ 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 17+ 40+ 17+ 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 17+ 40+ 17+ 44+ , srcInfoPoints = []+ }+ "rule")))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 17 46 17 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 17 46 17 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 17+ 46+ 17+ 47+ , srcInfoPoints = []+ }+ "i"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 17 48 17 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 17 48 17 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 17 48 17 50+ , srcInfoPoints = []+ }+ "tk"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 17 51 17 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 17 51 17 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 17 51 17 53+ , srcInfoPoints = []+ }+ "st"))))+ ])+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 18 28 18 76+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 18 28 18 28+ , SrcSpan "tests/examples/HappyDoAction.hs" 19 9 19 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 18 28 18 76+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 18 28 18 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 18 28 18 32+ , srcInfoPoints = []+ }+ "rule"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 18 33 18 76+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 18 33 18 34 ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 18 35 18 76+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs" 18 35 18 36+ , SrcSpan+ "tests/examples/HappyDoAction.hs" 18 75 18 76+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 18 36 18 75+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 18 36 18 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 36+ 18+ 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 36+ 18+ 38+ , srcInfoPoints = []+ }+ "I#")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 18 39 18 75+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 39+ 18+ 40+ , SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 74+ 18+ 75+ ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 40+ 18+ 74+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 40+ 18+ 41+ , SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 73+ 18+ 74+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 41+ 18+ 73+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 41+ 18+ 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 41+ 18+ 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 41+ 18+ 51+ , srcInfoPoints = []+ }+ "negateInt#")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 52+ 18+ 73+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 52+ 18+ 53+ , SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 72+ 18+ 73+ ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 53+ 18+ 72+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 53+ 18+ 54+ , SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 71+ 18+ 72+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 54+ 18+ 71+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 54+ 18+ 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 54+ 18+ 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 54+ 18+ 55+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 56+ 18+ 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 56+ 18+ 58+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 56+ 18+ 58+ , srcInfoPoints = []+ }+ "+#")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 59+ 18+ 71+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 59+ 18+ 60+ , SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 70+ 18+ 71+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 60+ 18+ 70+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 63+ 18+ 65+ ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 60+ 18+ 62+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 60+ 18+ 62+ , srcInfoPoints = []+ }+ 1+ "1"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 66+ 18+ 70+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 66+ 18+ 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 18+ 66+ 18+ 70+ , srcInfoPoints = []+ }+ "Int#"))))))))))))))+ Nothing+ ]))+ , Alt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 19 9 23 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 23 22 23 27 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 19 9 19 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 19 9 19 10+ , srcInfoPoints = []+ }+ "n"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 19 19 22 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 19 19 19 21 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 22 22 22 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 22 22 22 47+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 22 22 22 44+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 22 22 22 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 22 22 22 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 22 22 22 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 22+ 22+ 22+ 32+ , srcInfoPoints = []+ }+ "happyShift")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 22 33 22 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 22 33 22 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 22+ 33+ 22+ 42+ , srcInfoPoints = []+ }+ "new_state"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 22 43 22 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 22 43 22 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 22 43 22 44+ , srcInfoPoints = []+ }+ "i"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 22 45 22 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 22 45 22 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 22 45 22 47+ , srcInfoPoints = []+ }+ "tk"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 22 48 22 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 22 48 22 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 22 48 22 50+ , srcInfoPoints = []+ }+ "st")))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 23 28 23 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 23 28 23 28+ , SrcSpan "tests/examples/HappyDoAction.hs" 24 4 24 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 23 28 23 59+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 23 28 23 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 23 28 23 37+ , srcInfoPoints = []+ }+ "new_state"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 23 38 23 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 23 38 23 39 ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 23 40 23 59+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs" 23 40 23 41+ , SrcSpan+ "tests/examples/HappyDoAction.hs" 23 58 23 59+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 23 41 23 58+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 23 41 23 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 41+ 23+ 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 41+ 23+ 42+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 23 43 23 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 43+ 23+ 45+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 43+ 23+ 45+ , srcInfoPoints = []+ }+ "-#")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 23 46 23 58+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 46+ 23+ 47+ , SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 57+ 23+ 58+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 47+ 23+ 57+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 50+ 23+ 52+ ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 47+ 23+ 49+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 47+ 23+ 49+ , srcInfoPoints = []+ }+ 1+ "1"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 53+ 23+ 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 53+ 23+ 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 23+ 53+ 23+ 57+ , srcInfoPoints = []+ }+ "Int#"))))))))+ Nothing+ ]))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 10 30 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 24 10 24 10+ , SrcSpan "tests/examples/HappyDoAction.hs" 25 10 25 10+ , SrcSpan "tests/examples/HappyDoAction.hs" 26 10 26 10+ , SrcSpan "tests/examples/HappyDoAction.hs" 29 10 29 10+ , SrcSpan "tests/examples/HappyDoAction.hs" 31 1 31 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 10 24 55+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 10 24 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 10 24 13+ , srcInfoPoints = []+ }+ "off"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 17 24 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 24 17 24 18 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 19 24 55+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 19 24 52+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 19 24 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 19 24 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 24 19 24 36+ , srcInfoPoints = []+ }+ "indexShortOffAddr")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 37 24 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 37 24 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 24 37 24 52+ , srcInfoPoints = []+ }+ "happyActOffsets"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 53 24 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 53 24 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 24 53 24 55+ , srcInfoPoints = []+ }+ "st")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 10 25 29+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 10 25 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 10 25 15+ , srcInfoPoints = []+ }+ "off_i"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 17 25 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 25 17 25 18 ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 19 25 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 25 19 25 20+ , SrcSpan "tests/examples/HappyDoAction.hs" 25 28 25 29+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 20 25 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 20 25 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 20 25 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 25 20 25 23+ , srcInfoPoints = []+ }+ "off")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 24 25 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 24 25 26+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 25 24 25 26+ , srcInfoPoints = []+ }+ "+#")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 27 25 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 25 27 25 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 25 27 25 28+ , srcInfoPoints = []+ }+ "i"))))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 26 10 28 30+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 26 10 26 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 26 10 26 15+ , srcInfoPoints = []+ }+ "check"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 26 17 28 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 26 17 26 18 ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 26 19 28 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 26 19 26 21+ , SrcSpan "tests/examples/HappyDoAction.hs" 27 20 27 24+ , SrcSpan "tests/examples/HappyDoAction.hs" 28 20 28 24+ ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 26 22 26 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 26 22 26 23+ , SrcSpan "tests/examples/HappyDoAction.hs" 26 45 26 46+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 26 23 26 45+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 26 23 26 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 26 23 26 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 26 23 26 28+ , srcInfoPoints = []+ }+ "off_i")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 26 29 26 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 26 29 26 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 26 29 26 32+ , srcInfoPoints = []+ }+ ">=#")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 26 33 26 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 26 33 26 34+ , SrcSpan "tests/examples/HappyDoAction.hs" 26 44 26 45+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 26 34 26 44+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HappyDoAction.hs" 26 37 26 39+ ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 26 34 26 36+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 26+ 34+ 26+ 36+ , srcInfoPoints = []+ }+ 0+ "0"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 26 40 26 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 26+ 40+ 26+ 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 26+ 40+ 26+ 44+ , srcInfoPoints = []+ }+ "Int#")))))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 27 25 27 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 27 25 27 26+ , SrcSpan "tests/examples/HappyDoAction.hs" 27 67 27 68+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 27 26 27 67+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 27 26 27 60+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 27 26 27 54+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 27 26 27 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 27+ 26+ 27+ 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 27+ 26+ 27+ 43+ , srcInfoPoints = []+ }+ "indexShortOffAddr")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 27 44 27 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 27+ 44+ 27+ 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 27+ 44+ 27+ 54+ , srcInfoPoints = []+ }+ "happyCheck"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 27 55 27 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 27 55 27 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs"+ 27+ 55+ 27+ 60+ , srcInfoPoints = []+ }+ "off_i"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 27 61 27 64+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 27 61 27 64+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 27 61 27 64+ , srcInfoPoints = []+ }+ "==#")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 27 66 27 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 27 66 27 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 27 66 27 67+ , srcInfoPoints = []+ }+ "i")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 28 25 28 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 28 25 28 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 28 25 28 30+ , srcInfoPoints = []+ }+ "False")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 10 30 67+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 10 29 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 10 29 16+ , srcInfoPoints = []+ }+ "action"))+ (GuardedRhss+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 17 30 67+ , srcInfoPoints = []+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 17 29 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 29 17 29 18+ , SrcSpan "tests/examples/HappyDoAction.hs" 29 29 29 30+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 19 29 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 19 29 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 19 29 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 29 19 29 24+ , srcInfoPoints = []+ }+ "check")))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 31 29 65+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 31 29 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 31 29 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 29 31 29 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 29 31 29 48+ , srcInfoPoints = []+ }+ "indexShortOffAddr")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 49 29 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 29 49 29 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 29 49 29 59+ , srcInfoPoints = []+ }+ "happyTable"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 60 29 65+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 29 60 29 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 29 60 29 65+ , srcInfoPoints = []+ }+ "off_i"))))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 30 17 30 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HappyDoAction.hs" 30 17 30 18+ , SrcSpan "tests/examples/HappyDoAction.hs" 30 29 30 30+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 30 19 30 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 30 19 30 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 30 19 30 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 30 19 30 28+ , srcInfoPoints = []+ }+ "otherwise")))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 30 31 30 67+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 30 31 30 64+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 30 31 30 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 30 31 30 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 30 31 30 48+ , srcInfoPoints = []+ }+ "indexShortOffAddr")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 30 49 30 64+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 30 49 30 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 30 49 30 64+ , srcInfoPoints = []+ }+ "happyDefActions"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 30 65 30 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HappyDoAction.hs" 30 65 30 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HappyDoAction.hs" 30 65 30 67+ , srcInfoPoints = []+ }+ "st"))))+ ])+ Nothing+ ]))+ ]+ ]+ , [ Comment+ True+ (SrcSpan "tests/examples/HappyDoAction.hs" 7 7 7 20)+ " nothing "+ , Comment+ True+ (SrcSpan "tests/examples/HappyDoAction.hs" 11 22 11 35)+ " nothing "+ , Comment+ True+ (SrcSpan "tests/examples/HappyDoAction.hs" 13 22 13 35)+ " nothing "+ , Comment+ True+ (SrcSpan "tests/examples/HappyDoAction.hs" 15 36 15 49)+ " nothing "+ , Comment+ True+ (SrcSpan "tests/examples/HappyDoAction.hs" 19 22 19 35)+ " nothing "+ ]+ )
tests/examples/HappyDoAction.hs.prettyprinter.golden view
@@ -1,11 +1,11 @@ {-# LANGUAGE MagicHash #-} module HappyDoAction where- + foo :: Int# happyDoAction i tk st = case action of 0# -> happyFail i tk st- - 1# -> happyAccept i tk st+ -1# -> happyAccept i tk st n | (n <# (0# :: Int#)) -> (happyReduceArr ! rule) i tk st where rule = (I# ((negateInt# ((n +# (1# :: Int#)))))) n -> happyShift new_state i tk st
+ tests/examples/HashOperator.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE OverloadedLabels #-}++(#.) :: Int -> Int -> Int+x #. y = x + y++infixr 9 #.
+ tests/examples/HashOperator.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/HashOperator.hs.parser.golden view
@@ -0,0 +1,237 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 1 1 1 1+ , SrcSpan "tests/examples/HashOperator.hs" 3 1 3 1+ , SrcSpan "tests/examples/HashOperator.hs" 3 1 3 1+ , SrcSpan "tests/examples/HashOperator.hs" 3 1 3 1+ , SrcSpan "tests/examples/HashOperator.hs" 4 1 4 1+ , SrcSpan "tests/examples/HashOperator.hs" 6 1 6 1+ , SrcSpan "tests/examples/HashOperator.hs" 7 1 7 1+ , SrcSpan "tests/examples/HashOperator.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 1 1 1 13+ , SrcSpan "tests/examples/HashOperator.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "OverloadedLabels"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 1 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 3 6 3 8 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 1 3 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 3 1 3 2+ , SrcSpan "tests/examples/HashOperator.hs" 3 2 3 4+ , SrcSpan "tests/examples/HashOperator.hs" 3 4 3 5+ ]+ }+ "#."+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 3 13 3 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 3 20 3 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 19+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 23 3 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 23 3 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 23 3 26+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 15+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "x"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 3 4 5+ , srcInfoPoints = []+ }+ "#.")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 8 4 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 4 8 4 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 1 6 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 6 8 6 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 1 6 7+ , srcInfoPoints = []+ })+ (Just 9)+ [ VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 10 6 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 10 6 12+ , srcInfoPoints = []+ }+ "#.")+ ]+ ]+ , []+ )
+ tests/examples/HashOperator.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/HashOperator.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE OverloadedLabels #-}++( #. ) :: Int -> Int -> Int+x #. y = x + y++infixr 9 #.
tests/examples/HaskellParser.hs.parser.golden view
@@ -1,1 +1,809 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 1}]}) Nothing [] [ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 59}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 50, srcSpanEndLine = 1, srcSpanEndColumn = 52}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 18, srcSpanEndLine = 1, srcSpanEndColumn = 49}, srcInfoPoints = []}) "Language.Haskell.Exts.Annotated", importQualified = True, importSrc = False, importPkg = Nothing, importAs = Just (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 53, srcSpanEndLine = 1, srcSpanEndColumn = 59}, srcInfoPoints = []}) "Parser"), importSpecs = Nothing},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 63}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 2, srcSpanStartColumn = 57, srcSpanEndLine = 2, srcSpanEndColumn = 59}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 2, srcSpanStartColumn = 18, srcSpanEndLine = 2, srcSpanEndColumn = 56}, srcInfoPoints = []}) "Language.Haskell.Exts.Annotated.Syntax", importQualified = True, importSrc = False, importPkg = Nothing, importAs = Just (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 2, srcSpanStartColumn = 60, srcSpanEndLine = 2, srcSpanEndColumn = 63}, srcInfoPoints = []}) "Syn"), importSpecs = Nothing},ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 50, srcSpanEndLine = 3, srcSpanEndColumn = 52}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 49}, srcInfoPoints = []}) "Language.Haskell.Exts.Extension", importQualified = True, importSrc = False, importPkg = Nothing, importAs = Just (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 53, srcSpanEndLine = 3, srcSpanEndColumn = 56}, srcInfoPoints = []}) "Ext"), importSpecs = Nothing}] [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 10}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 10}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 6}, srcInfoPoints = []}) "parse") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 7, srcSpanEndLine = 5, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 7, srcSpanEndLine = 5, srcSpanEndColumn = 23}, srcInfoPoints = []}) "originalFileName"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 24, srcSpanEndLine = 5, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 24, srcSpanEndLine = 5, srcSpanEndColumn = 29}, srcInfoPoints = []}) "input")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 74}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 31}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 32, srcSpanEndLine = 5, srcSpanEndColumn = 74}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 32, srcSpanEndLine = 5, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 32, srcSpanEndLine = 5, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 32, srcSpanEndLine = 5, srcSpanEndColumn = 58}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 32, srcSpanEndLine = 5, srcSpanEndColumn = 58}, srcInfoPoints = []}) "Parser") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 32, srcSpanEndLine = 5, srcSpanEndColumn = 58}, srcInfoPoints = []}) "parseModuleWithMode"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 59, srcSpanEndLine = 5, srcSpanEndColumn = 68}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 59, srcSpanEndLine = 5, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 59, srcSpanEndLine = 5, srcSpanEndColumn = 68}, srcInfoPoints = []}) "parseMode")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 69, srcSpanEndLine = 5, srcSpanEndColumn = 74}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 69, srcSpanEndLine = 5, srcSpanEndColumn = 74}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 69, srcSpanEndLine = 5, srcSpanEndColumn = 74}, srcInfoPoints = []}) "input"))))) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 7, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 0}]}) [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 7, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 17, srcSpanEndLine = 7, srcSpanEndColumn = 19}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 7, srcSpanEndLine = 7, srcSpanEndColumn = 16}, srcInfoPoints = []}) "parseMode"] (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 20, srcSpanEndLine = 7, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 20, srcSpanEndLine = 7, srcSpanEndColumn = 36}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 20, srcSpanEndLine = 7, srcSpanEndColumn = 36}, srcInfoPoints = []}) "Parser") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 20, srcSpanEndLine = 7, srcSpanEndColumn = 36}, srcInfoPoints = []}) "ParseMode"))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 7, srcSpanEndLine = 12, srcSpanEndColumn = 44}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 16}, srcInfoPoints = []}) "parseMode")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 17, srcSpanEndLine = 12, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 17, srcSpanEndLine = 8, srcSpanEndColumn = 18}]}) (RecUpdate (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 19, srcSpanEndLine = 12, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 43, srcSpanEndLine = 8, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 9, srcSpanStartColumn = 43, srcSpanEndLine = 9, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 12, srcSpanStartColumn = 43, srcSpanEndLine = 12, srcSpanEndColumn = 44}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 19, srcSpanEndLine = 8, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 19, srcSpanEndLine = 8, srcSpanEndColumn = 42}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 19, srcSpanEndLine = 8, srcSpanEndColumn = 42}, srcInfoPoints = []}) "Parser") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 19, srcSpanEndLine = 8, srcSpanEndColumn = 42}, srcInfoPoints = []}) "defaultParseMode"))) [FieldUpdate (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 45, srcSpanEndLine = 8, srcSpanEndColumn = 84}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 66, srcSpanEndLine = 8, srcSpanEndColumn = 67}]}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 45, srcSpanEndLine = 8, srcSpanEndColumn = 65}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 45, srcSpanEndLine = 8, srcSpanEndColumn = 65}, srcInfoPoints = []}) "Parser") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 45, srcSpanEndLine = 8, srcSpanEndColumn = 65}, srcInfoPoints = []}) "parseFilename")) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 68, srcSpanEndLine = 8, srcSpanEndColumn = 84}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 68, srcSpanEndLine = 8, srcSpanEndColumn = 84}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 8, srcSpanStartColumn = 68, srcSpanEndLine = 8, srcSpanEndColumn = 84}, srcInfoPoints = []}) "originalFileName"))),FieldUpdate (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 9, srcSpanStartColumn = 45, srcSpanEndLine = 11, srcSpanEndColumn = 67}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 9, srcSpanStartColumn = 63, srcSpanEndLine = 9, srcSpanEndColumn = 64}]}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 9, srcSpanStartColumn = 45, srcSpanEndLine = 9, srcSpanEndColumn = 62}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 9, srcSpanStartColumn = 45, srcSpanEndLine = 9, srcSpanEndColumn = 62}, srcInfoPoints = []}) "Parser") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 9, srcSpanStartColumn = 45, srcSpanEndLine = 9, srcSpanEndColumn = 62}, srcInfoPoints = []}) "extensions")) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 10, srcSpanStartColumn = 47, srcSpanEndLine = 11, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 10, srcSpanStartColumn = 47, srcSpanEndLine = 10, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 10, srcSpanStartColumn = 47, srcSpanEndLine = 10, srcSpanEndColumn = 62}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 10, srcSpanStartColumn = 47, srcSpanEndLine = 10, srcSpanEndColumn = 62}, srcInfoPoints = []}) "Ext") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 10, srcSpanStartColumn = 47, srcSpanEndLine = 10, srcSpanEndColumn = 62}, srcInfoPoints = []}) "glasgowExts"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 10, srcSpanStartColumn = 63, srcSpanEndLine = 10, srcSpanEndColumn = 65}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 10, srcSpanStartColumn = 63, srcSpanEndLine = 10, srcSpanEndColumn = 65}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 10, srcSpanStartColumn = 63, srcSpanEndLine = 10, srcSpanEndColumn = 65}, srcInfoPoints = []}) "++"))) (List (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 11, srcSpanStartColumn = 47, srcSpanEndLine = 11, srcSpanEndColumn = 67}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 11, srcSpanStartColumn = 47, srcSpanEndLine = 11, srcSpanEndColumn = 48},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 11, srcSpanStartColumn = 66, srcSpanEndLine = 11, srcSpanEndColumn = 67}]}) [Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 11, srcSpanStartColumn = 48, srcSpanEndLine = 11, srcSpanEndColumn = 66}, srcInfoPoints = []}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 11, srcSpanStartColumn = 48, srcSpanEndLine = 11, srcSpanEndColumn = 66}, srcInfoPoints = []}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 11, srcSpanStartColumn = 48, srcSpanEndLine = 11, srcSpanEndColumn = 66}, srcInfoPoints = []}) "Ext") (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 11, srcSpanStartColumn = 48, srcSpanEndLine = 11, srcSpanEndColumn = 66}, srcInfoPoints = []}) "ExplicitForall"))]))])) Nothing]))],PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 13, srcSpanStartColumn = 6, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 13, srcSpanStartColumn = 6, srcSpanEndLine = 13, srcSpanEndColumn = 7}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 5, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 5, srcSpanEndLine = 14, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 8, srcSpanEndLine = 14, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 8, srcSpanEndLine = 15, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 8, srcSpanEndLine = 16, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 8, srcSpanEndLine = 14, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 10, srcSpanEndLine = 14, srcSpanEndColumn = 12}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 8, srcSpanEndLine = 14, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 8, srcSpanEndLine = 14, srcSpanEndColumn = 9}, srcInfoPoints = []}) "s")) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 13, srcSpanEndLine = 14, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 13, srcSpanEndLine = 14, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 13, srcSpanEndLine = 14, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 13, srcSpanEndLine = 14, srcSpanEndColumn = 21}, srcInfoPoints = []}) "readFile"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 22, srcSpanEndLine = 14, srcSpanEndColumn = 30}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 14, srcSpanStartColumn = 22, srcSpanEndLine = 14, srcSpanEndColumn = 30}, srcInfoPoints = []}) "Bug.hs" "Bug.hs"))),LetStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 8, srcSpanEndLine = 16, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 8, srcSpanEndLine = 15, srcSpanEndColumn = 11}]}) (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 12, srcSpanEndLine = 16, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 12, srcSpanEndLine = 15, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 8, srcSpanEndLine = 16, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 12, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 12, srcSpanEndLine = 15, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 12, srcSpanEndLine = 15, srcSpanEndColumn = 13}, srcInfoPoints = []}) "x")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 14, srcSpanEndLine = 15, srcSpanEndColumn = 15}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 16, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 16, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 16, srcSpanEndLine = 15, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 16, srcSpanEndLine = 15, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 16, srcSpanEndLine = 15, srcSpanEndColumn = 21}, srcInfoPoints = []}) "parse"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 22, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 22, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) "Bug.hs" "Bug.hs"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 31, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 31, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 15, srcSpanStartColumn = 31, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = []}) "s"))))) Nothing]),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 8, srcSpanEndLine = 16, srcSpanEndColumn = 25}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 8, srcSpanEndLine = 16, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 8, srcSpanEndLine = 16, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 8, srcSpanEndLine = 16, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 8, srcSpanEndLine = 16, srcSpanEndColumn = 16}, srcInfoPoints = []}) "putStrLn"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 17, srcSpanEndLine = 16, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 17, srcSpanEndLine = 16, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 24, srcSpanEndLine = 16, srcSpanEndColumn = 25}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 18, srcSpanEndLine = 16, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 18, srcSpanEndLine = 16, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 18, srcSpanEndLine = 16, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 18, srcSpanEndLine = 16, srcSpanEndColumn = 22}, srcInfoPoints = []}) "show"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 23, srcSpanEndLine = 16, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 23, srcSpanEndLine = 16, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HaskellParser.hs", srcSpanStartLine = 16, srcSpanStartColumn = 23, srcSpanEndLine = 16, srcSpanEndColumn = 24}, srcInfoPoints = []}) "x"))))))])) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 1 1 17 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 1 1 1 1+ , SrcSpan "tests/examples/HaskellParser.hs" 1 1 1 1+ , SrcSpan "tests/examples/HaskellParser.hs" 1 1 1 1+ , SrcSpan "tests/examples/HaskellParser.hs" 2 1 2 1+ , SrcSpan "tests/examples/HaskellParser.hs" 3 1 3 1+ , SrcSpan "tests/examples/HaskellParser.hs" 5 1 5 1+ , SrcSpan "tests/examples/HaskellParser.hs" 13 1 13 1+ , SrcSpan "tests/examples/HaskellParser.hs" 17 1 17 1+ , SrcSpan "tests/examples/HaskellParser.hs" 17 1 17 1+ ]+ }+ Nothing+ []+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 1 1 1 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 1 1 1 7+ , SrcSpan "tests/examples/HaskellParser.hs" 1 8 1 17+ , SrcSpan "tests/examples/HaskellParser.hs" 1 50 1 52+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 1 18 1 49+ , srcInfoPoints = []+ }+ "Language.Haskell.Exts.Annotated"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 1 53 1 59+ , srcInfoPoints = []+ }+ "Parser")+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 2 1 2 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 2 1 2 7+ , SrcSpan "tests/examples/HaskellParser.hs" 2 8 2 17+ , SrcSpan "tests/examples/HaskellParser.hs" 2 57 2 59+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 2 18 2 56+ , srcInfoPoints = []+ }+ "Language.Haskell.Exts.Annotated.Syntax"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 2 60 2 63+ , srcInfoPoints = []+ }+ "Syn")+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 3 1 3 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 3 1 3 7+ , SrcSpan "tests/examples/HaskellParser.hs" 3 8 3 17+ , SrcSpan "tests/examples/HaskellParser.hs" 3 50 3 52+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 3 18 3 49+ , srcInfoPoints = []+ }+ "Language.Haskell.Exts.Extension"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 3 53 3 56+ , srcInfoPoints = []+ }+ "Ext")+ , importSpecs = Nothing+ }+ ]+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 1 12 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 6 5 6 10 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 1 12 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 6 5 6 10 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 1 5 6+ , srcInfoPoints = []+ }+ "parse")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 7 5 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 7 5 23+ , srcInfoPoints = []+ }+ "originalFileName")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 24 5 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 24 5 29+ , srcInfoPoints = []+ }+ "input")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 30 5 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 5 30 5 31 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 32 5 74+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 32 5 68+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 32 5 58+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 32 5 58+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 5 32 5 58+ , srcInfoPoints = []+ }+ "Parser")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 5 32 5 58+ , srcInfoPoints = []+ }+ "parseModuleWithMode")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 59 5 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 59 5 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 5 59 5 68+ , srcInfoPoints = []+ }+ "parseMode"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 69 5 74+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 69 5 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 5 69 5 74+ , srcInfoPoints = []+ }+ "input")))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 7 7 12 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 7 7 7 7+ , SrcSpan "tests/examples/HaskellParser.hs" 8 7 8 7+ , SrcSpan "tests/examples/HaskellParser.hs" 13 1 13 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 7 7 7 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 7 17 7 19 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 7 7 7 16+ , srcInfoPoints = []+ }+ "parseMode"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 7 20 7 36+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 7 20 7 36+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 7 20 7 36+ , srcInfoPoints = []+ }+ "Parser")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 7 20 7 36+ , srcInfoPoints = []+ }+ "ParseMode")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 8 7 12 44+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 8 7 8 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 8 7 8 16+ , srcInfoPoints = []+ }+ "parseMode"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 17 12 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 8 17 8 18 ]+ }+ (RecUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 19 12 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 8 43 8 44+ , SrcSpan "tests/examples/HaskellParser.hs" 9 43 9 44+ , SrcSpan "tests/examples/HaskellParser.hs" 12 43 12 44+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 19 8 42+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 19 8 42+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 19 8 42+ , srcInfoPoints = []+ }+ "Parser")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 19 8 42+ , srcInfoPoints = []+ }+ "defaultParseMode")))+ [ FieldUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 45 8 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 8 66 8 67 ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 45 8 65+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 45 8 65+ , srcInfoPoints = []+ }+ "Parser")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 45 8 65+ , srcInfoPoints = []+ }+ "parseFilename"))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 68 8 84+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 68 8 84+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 8 68 8 84+ , srcInfoPoints = []+ }+ "originalFileName")))+ , FieldUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 9 45 11 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 9 63 9 64 ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 9 45 9 62+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 9 45 9 62+ , srcInfoPoints = []+ }+ "Parser")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 9 45 9 62+ , srcInfoPoints = []+ }+ "extensions"))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 10 47 11 67+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 10 47 10 62+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 10 47 10 62+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 10 47 10 62+ , srcInfoPoints = []+ }+ "Ext")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 10 47 10 62+ , srcInfoPoints = []+ }+ "glasgowExts")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 10 63 10 65+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 10 63 10 65+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 10 63 10 65+ , srcInfoPoints = []+ }+ "++")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 11 47 11 67+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/HaskellParser.hs" 11 47 11 48+ , SrcSpan+ "tests/examples/HaskellParser.hs" 11 66 11 67+ ]+ }+ [ Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 11 48 11 66+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 11 48 11 66+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs"+ 11+ 48+ 11+ 66+ , srcInfoPoints = []+ }+ "Ext")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs"+ 11+ 48+ 11+ 66+ , srcInfoPoints = []+ }+ "ExplicitForall"))+ ]))+ ]))+ Nothing+ ]))+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 13 1 16 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 13 1 13 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 13 1 13 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 13 6 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 13 6 13 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 14 5 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 14 5 14 7+ , SrcSpan "tests/examples/HaskellParser.hs" 14 8 14 8+ , SrcSpan "tests/examples/HaskellParser.hs" 15 8 15 8+ , SrcSpan "tests/examples/HaskellParser.hs" 16 8 16 8+ , SrcSpan "tests/examples/HaskellParser.hs" 17 1 17 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 14 8 14 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 14 10 14 12 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 14 8 14 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HaskellParser.hs" 14 8 14 9+ , srcInfoPoints = []+ }+ "s"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 14 13 14 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 14 13 14 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 14 13 14 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 14 13 14 21+ , srcInfoPoints = []+ }+ "readFile")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 14 22 14 30+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 14 22 14 30+ , srcInfoPoints = []+ }+ "Bug.hs"+ "Bug.hs")))+ , LetStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 8 15 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 15 8 15 11 ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 12 15 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 15 12 15 12+ , SrcSpan "tests/examples/HaskellParser.hs" 16 8 16 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 12 15 32+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 12 15 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 12 15 13+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 14 15 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 15 14 15 15 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 16 15 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 16 15 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 16 15 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 15 16 15 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 15 16 15 21+ , srcInfoPoints = []+ }+ "parse")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 22 15 30+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 15 22 15 30+ , srcInfoPoints = []+ }+ "Bug.hs"+ "Bug.hs")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 31 15 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 15 31 15 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/HaskellParser.hs" 15 31 15 32+ , srcInfoPoints = []+ }+ "s")))))+ Nothing+ ])+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 8 16 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 8 16 25+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 8 16 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 8 16 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 8 16 16+ , srcInfoPoints = []+ }+ "putStrLn")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 17 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HaskellParser.hs" 16 17 16 18+ , SrcSpan "tests/examples/HaskellParser.hs" 16 24 16 25+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 18 16 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 18 16 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 18 16 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 18 16 22+ , srcInfoPoints = []+ }+ "show")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 23 16 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 23 16 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/HaskellParser.hs" 16 23 16 24+ , srcInfoPoints = []+ }+ "x"))))))+ ]))+ Nothing+ ]+ , []+ )
tests/examples/HaskellParser.hs.prettyprinter.golden view
@@ -1,11 +1,9 @@-module Main (main) where import qualified Language.Haskell.Exts.Annotated as Parser import qualified Language.Haskell.Exts.Annotated.Syntax as Syn import qualified Language.Haskell.Exts.Extension as Ext parse originalFileName input = Parser.parseModuleWithMode parseMode input- where - parseMode :: Parser.ParseMode+ where parseMode :: Parser.ParseMode parseMode = Parser.defaultParseMode{Parser.parseFilename = originalFileName, Parser.extensions = Ext.glasgowExts ++ [Ext.ExplicitForall]}
tests/examples/HexPrec.hs.parser.golden view
@@ -1,1 +1,191 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 1, srcSpanStartColumn = 16, srcSpanEndLine = 1, srcSpanEndColumn = 21}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 15}, srcInfoPoints = []}) "HexPrec") Nothing Nothing)) [] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 8}]}) [Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 2, srcSpanEndLine = 3, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 4, srcSpanEndLine = 3, srcSpanEndColumn = 5}]}) "%%"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 15}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) "Int"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 22}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 19}, srcInfoPoints = []}) "Int"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 26}, srcInfoPoints = []}) "Int"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 11}, srcInfoPoints = []}) [InfixMatch (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 11}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) "a")) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 5}, srcInfoPoints = []}) "%%") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 6, srcSpanEndLine = 4, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 6, srcSpanEndLine = 4, srcSpanEndColumn = 7}, srcInfoPoints = []}) "b")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 9}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 11}, srcInfoPoints = []}) 0 "0"))) Nothing],InfixDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 6, srcSpanStartColumn = 8, srcSpanEndLine = 6, srcSpanEndColumn = 12}]}) (AssocLeft (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 7}, srcInfoPoints = []})) (Just 2) [VarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/HexPrec.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 15}, srcInfoPoints = []}) "%%")]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HexPrec.hs" 1 1 1 1+ , SrcSpan "tests/examples/HexPrec.hs" 1 1 1 1+ , SrcSpan "tests/examples/HexPrec.hs" 3 1 3 1+ , SrcSpan "tests/examples/HexPrec.hs" 4 1 4 1+ , SrcSpan "tests/examples/HexPrec.hs" 6 1 6 1+ , SrcSpan "tests/examples/HexPrec.hs" 7 1 7 1+ , SrcSpan "tests/examples/HexPrec.hs" 7 1 7 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 1 1 1 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HexPrec.hs" 1 1 1 7+ , SrcSpan "tests/examples/HexPrec.hs" 1 16 1 21+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 1 8 1 15+ , srcInfoPoints = []+ }+ "HexPrec")+ Nothing+ Nothing))+ []+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 1 3 26+ , srcInfoPoints = [ SrcSpan "tests/examples/HexPrec.hs" 3 6 3 8 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 1 3 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HexPrec.hs" 3 1 3 2+ , SrcSpan "tests/examples/HexPrec.hs" 3 2 3 4+ , SrcSpan "tests/examples/HexPrec.hs" 3 4 3 5+ ]+ }+ "%%"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 9 3 26+ , srcInfoPoints = [ SrcSpan "tests/examples/HexPrec.hs" 3 13 3 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 16 3 26+ , srcInfoPoints = [ SrcSpan "tests/examples/HexPrec.hs" 3 20 3 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 16 3 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 16 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 16 3 19+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 23 3 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 23 3 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 23 3 26+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 1 4 11+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 1 4 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "a"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 3 4 5+ , srcInfoPoints = []+ }+ "%%")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 8 4 11+ , srcInfoPoints = [ SrcSpan "tests/examples/HexPrec.hs" 4 8 4 9 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ 0+ "0")))+ Nothing+ ]+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 6 1 6 15+ , srcInfoPoints = [ SrcSpan "tests/examples/HexPrec.hs" 6 8 6 12 ]+ }+ (AssocLeft+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 6 1 6 7+ , srcInfoPoints = []+ })+ (Just 2)+ [ VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 6 13 6 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 6 13 6 15+ , srcInfoPoints = []+ }+ "%%")+ ]+ ]+ , []+ )
tests/examples/HexPrec.hs.prettyprinter.golden view
@@ -1,6 +1,6 @@ module HexPrec where- + (%%) :: Int -> Int -> Int a %% b = 0- + infixl 2 %%
tests/examples/IfThenElseLayout.hs.parser.golden view
@@ -1,1 +1,866 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 25, srcSpanEndLine = 2, srcSpanEndColumn = 30}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 24}, srcInfoPoints = []}) "IfThenElseLayout") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 30, srcSpanEndLine = 1, srcSpanEndColumn = 33}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 29}, srcInfoPoints = []}) "DoAndIfThenElse"]] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 23}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 20}, srcInfoPoints = []}) "askCardsForExchange"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 24, srcSpanEndLine = 4, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 29, srcSpanEndLine = 4, srcSpanEndColumn = 31}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 24, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 24, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 24, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) "Hand"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 32, srcSpanEndLine = 4, srcSpanEndColumn = 41}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 32, srcSpanEndLine = 4, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 32, srcSpanEndLine = 4, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 32, srcSpanEndLine = 4, srcSpanEndColumn = 34}, srcInfoPoints = []}) "IO"))) (TyList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 35, srcSpanEndLine = 4, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 35, srcSpanEndLine = 4, srcSpanEndColumn = 36},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 40, srcSpanEndLine = 4, srcSpanEndColumn = 41}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 36, srcSpanEndLine = 4, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 36, srcSpanEndLine = 4, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 4, srcSpanStartColumn = 36, srcSpanEndLine = 4, srcSpanEndColumn = 40}, srcInfoPoints = []}) "Card")))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = []}) "askCardsForExchange") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) "h")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 5, srcSpanEndColumn = 24}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 25, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 5, srcSpanStartColumn = 25, srcSpanEndLine = 5, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 26, srcSpanEndLine = 6, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 26, srcSpanEndLine = 7, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 26, srcSpanEndLine = 8, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 26, srcSpanEndLine = 6, srcSpanEndColumn = 80}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 26, srcSpanEndLine = 6, srcSpanEndColumn = 80}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 26, srcSpanEndLine = 6, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 26, srcSpanEndLine = 6, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 26, srcSpanEndLine = 6, srcSpanEndColumn = 34}, srcInfoPoints = []}) "putStrLn"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 35, srcSpanEndLine = 6, srcSpanEndColumn = 80}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 6, srcSpanStartColumn = 35, srcSpanEndLine = 6, srcSpanEndColumn = 80}, srcInfoPoints = []}) "Wich card do you want to exchange? (Max. 3)" "Wich card do you want to exchange? (Max. 3)"))),Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 26, srcSpanEndLine = 7, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 35, srcSpanEndLine = 7, srcSpanEndColumn = 37}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 26, srcSpanEndLine = 7, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 26, srcSpanEndLine = 7, srcSpanEndColumn = 34}, srcInfoPoints = []}) "response")) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 38, srcSpanEndLine = 7, srcSpanEndColumn = 45}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 38, srcSpanEndLine = 7, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 7, srcSpanStartColumn = 38, srcSpanEndLine = 7, srcSpanEndColumn = 45}, srcInfoPoints = []}) "getLine"))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 26, srcSpanEndLine = 11, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 26, srcSpanEndLine = 8, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 90, srcSpanEndLine = 8, srcSpanEndColumn = 94},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 10, srcSpanStartColumn = 26, srcSpanEndLine = 10, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 10, srcSpanStartColumn = 26, srcSpanEndLine = 10, srcSpanEndColumn = 30}]}) (If (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 26, srcSpanEndLine = 11, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 26, srcSpanEndLine = 8, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 90, srcSpanEndLine = 8, srcSpanEndColumn = 94},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 10, srcSpanStartColumn = 26, srcSpanEndLine = 10, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 10, srcSpanStartColumn = 26, srcSpanEndLine = 10, srcSpanEndColumn = 30}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 29, srcSpanEndLine = 8, srcSpanEndColumn = 89}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 29, srcSpanEndLine = 8, srcSpanEndColumn = 60}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 29, srcSpanEndLine = 8, srcSpanEndColumn = 56}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 29, srcSpanEndLine = 8, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 29, srcSpanEndLine = 8, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 29, srcSpanEndLine = 8, srcSpanEndColumn = 35}, srcInfoPoints = []}) "length"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 36, srcSpanEndLine = 8, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 36, srcSpanEndLine = 8, srcSpanEndColumn = 37},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 55, srcSpanEndLine = 8, srcSpanEndColumn = 56}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 37, srcSpanEndLine = 8, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 37, srcSpanEndLine = 8, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 37, srcSpanEndLine = 8, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 37, srcSpanEndLine = 8, srcSpanEndColumn = 46}, srcInfoPoints = []}) "readCards"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 47, srcSpanEndLine = 8, srcSpanEndColumn = 55}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 47, srcSpanEndLine = 8, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 47, srcSpanEndLine = 8, srcSpanEndColumn = 55}, srcInfoPoints = []}) "response")))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 57, srcSpanEndLine = 8, srcSpanEndColumn = 58}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 57, srcSpanEndLine = 8, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 57, srcSpanEndLine = 8, srcSpanEndColumn = 58}, srcInfoPoints = []}) ">"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 59, srcSpanEndLine = 8, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 59, srcSpanEndLine = 8, srcSpanEndColumn = 60}, srcInfoPoints = []}) 3 "3"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 61, srcSpanEndLine = 8, srcSpanEndColumn = 63}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 61, srcSpanEndLine = 8, srcSpanEndColumn = 63}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 61, srcSpanEndLine = 8, srcSpanEndColumn = 63}, srcInfoPoints = []}) "||"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 64, srcSpanEndLine = 8, srcSpanEndColumn = 89}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 64, srcSpanEndLine = 8, srcSpanEndColumn = 67}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 64, srcSpanEndLine = 8, srcSpanEndColumn = 67}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 64, srcSpanEndLine = 8, srcSpanEndColumn = 67}, srcInfoPoints = []}) "not"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 68, srcSpanEndLine = 8, srcSpanEndColumn = 89}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 68, srcSpanEndLine = 8, srcSpanEndColumn = 69},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 88, srcSpanEndLine = 8, srcSpanEndColumn = 89}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 69, srcSpanEndLine = 8, srcSpanEndColumn = 88}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 69, srcSpanEndLine = 8, srcSpanEndColumn = 86}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 69, srcSpanEndLine = 8, srcSpanEndColumn = 72}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 69, srcSpanEndLine = 8, srcSpanEndColumn = 72}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 69, srcSpanEndLine = 8, srcSpanEndColumn = 72}, srcInfoPoints = []}) "all"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 73, srcSpanEndLine = 8, srcSpanEndColumn = 86}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 73, srcSpanEndLine = 8, srcSpanEndColumn = 74},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 85, srcSpanEndLine = 8, srcSpanEndColumn = 86}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 74, srcSpanEndLine = 8, srcSpanEndColumn = 85}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 74, srcSpanEndLine = 8, srcSpanEndColumn = 83}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 74, srcSpanEndLine = 8, srcSpanEndColumn = 78}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 74, srcSpanEndLine = 8, srcSpanEndColumn = 78}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 74, srcSpanEndLine = 8, srcSpanEndColumn = 78}, srcInfoPoints = []}) "flip"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 79, srcSpanEndLine = 8, srcSpanEndColumn = 83}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 79, srcSpanEndLine = 8, srcSpanEndColumn = 83}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 79, srcSpanEndLine = 8, srcSpanEndColumn = 83}, srcInfoPoints = []}) "elem")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 84, srcSpanEndLine = 8, srcSpanEndColumn = 85}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 84, srcSpanEndLine = 8, srcSpanEndColumn = 85}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 84, srcSpanEndLine = 8, srcSpanEndColumn = 85}, srcInfoPoints = []}) "h")))))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 87, srcSpanEndLine = 8, srcSpanEndColumn = 88}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 87, srcSpanEndLine = 8, srcSpanEndColumn = 88}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 8, srcSpanStartColumn = 87, srcSpanEndLine = 8, srcSpanEndColumn = 88}, srcInfoPoints = []}) "h"))))))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 9, srcSpanStartColumn = 34, srcSpanEndLine = 9, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 9, srcSpanStartColumn = 34, srcSpanEndLine = 9, srcSpanEndColumn = 53}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 9, srcSpanStartColumn = 34, srcSpanEndLine = 9, srcSpanEndColumn = 53}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 9, srcSpanStartColumn = 34, srcSpanEndLine = 9, srcSpanEndColumn = 53}, srcInfoPoints = []}) "askCardsForExchange"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 9, srcSpanStartColumn = 54, srcSpanEndLine = 9, srcSpanEndColumn = 55}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 9, srcSpanStartColumn = 54, srcSpanEndLine = 9, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 9, srcSpanStartColumn = 54, srcSpanEndLine = 9, srcSpanEndColumn = 55}, srcInfoPoints = []}) "h")))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 34, srcSpanEndLine = 11, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 34, srcSpanEndLine = 11, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 34, srcSpanEndLine = 11, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 34, srcSpanEndLine = 11, srcSpanEndColumn = 40}, srcInfoPoints = []}) "return"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 41, srcSpanEndLine = 11, srcSpanEndColumn = 61}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 41, srcSpanEndLine = 11, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 60, srcSpanEndLine = 11, srcSpanEndColumn = 61}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 42, srcSpanEndLine = 11, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 42, srcSpanEndLine = 11, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 42, srcSpanEndLine = 11, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 42, srcSpanEndLine = 11, srcSpanEndColumn = 51}, srcInfoPoints = []}) "readCards"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 52, srcSpanEndLine = 11, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 52, srcSpanEndLine = 11, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IfThenElseLayout.hs", srcSpanStartLine = 11, srcSpanStartColumn = 52, srcSpanEndLine = 11, srcSpanEndColumn = 60}, srcInfoPoints = []}) "response")))))))])) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 1 1 13 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 1 1 1 1+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 2 1 2 1+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 2 1 2 1+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 4 1 4 1+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 5 1 5 1+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 13 1 13 1+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 13 1 13 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 2 1 2 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 2 1 2 7+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 2 25 2 30+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 2 8 2 24+ , srcInfoPoints = []+ }+ "IfThenElseLayout")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 1 1 1 13+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "DoAndIfThenElse"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 1 4 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 21 4 23 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 1 4 20+ , srcInfoPoints = []+ }+ "askCardsForExchange"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 24 4 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 29 4 31 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 24 4 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 24 4 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 24 4 28+ , srcInfoPoints = []+ }+ "Hand")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 32 4 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 32 4 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 32 4 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 32 4 34+ , srcInfoPoints = []+ }+ "IO")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 35 4 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 35 4 36+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 4 40 4 41+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 36 4 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 36 4 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 4 36 4 40+ , srcInfoPoints = []+ }+ "Card"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 5 1 11 61+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 5 1 11 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 5 1 5 20+ , srcInfoPoints = []+ }+ "askCardsForExchange")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ "h")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 5 23 11 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 5 23 5 24 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 5 25 11 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 5 25 5 27+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 6 26 6 26+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 7 26 7 26+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 8 26 8 26+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 13 1 13 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 6 26 6 80+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 6 26 6 80+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 6 26 6 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 6 26 6 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 6 26 6 34+ , srcInfoPoints = []+ }+ "putStrLn")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 6 35 6 80+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 6 35 6 80+ , srcInfoPoints = []+ }+ "Wich card do you want to exchange? (Max. 3)"+ "Wich card do you want to exchange? (Max. 3)")))+ , Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 7 26 7 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 7 35 7 37 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 7 26 7 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 7 26 7 34+ , srcInfoPoints = []+ }+ "response"))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 7 38 7 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 7 38 7 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 7 38 7 45+ , srcInfoPoints = []+ }+ "getLine")))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 26 11 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 26 8 28+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 8 90 8 94+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 10 26 10 26+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 10 26 10 30+ ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 26 11 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 26 8 28+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 8 90 8 94+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 10 26 10 26+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 10 26 10 30+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 29 8 89+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 29 8 60+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 29 8 56+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 29 8 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 29 8 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 29 8 35+ , srcInfoPoints = []+ }+ "length")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 36 8 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 36 8 37+ , SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 55 8 56+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 37 8 55+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 37 8 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 37+ 8+ 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 37+ 8+ 46+ , srcInfoPoints = []+ }+ "readCards")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 47 8 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 47+ 8+ 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 47+ 8+ 55+ , srcInfoPoints = []+ }+ "response"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 57 8 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 57 8 58+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 57 8 58+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 59 8 60+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 59 8 60+ , srcInfoPoints = []+ }+ 3+ "3")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 61 8 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 61 8 63+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 61 8 63+ , srcInfoPoints = []+ }+ "||")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 64 8 89+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 64 8 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 64 8 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 64 8 67+ , srcInfoPoints = []+ }+ "not")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 68 8 89+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 68 8 69+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 8 88 8 89+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 8 69 8 88+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 69 8 86+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 69 8 72+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 69+ 8+ 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 69+ 8+ 72+ , srcInfoPoints = []+ }+ "all")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 73 8 86+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 73+ 8+ 74+ , SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 85+ 8+ 86+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 74+ 8+ 85+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 74+ 8+ 83+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 74+ 8+ 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 74+ 8+ 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 74+ 8+ 78+ , srcInfoPoints = []+ }+ "flip")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 79+ 8+ 83+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 79+ 8+ 83+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 79+ 8+ 83+ , srcInfoPoints = []+ }+ "elem"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 84+ 8+ 85+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 84+ 8+ 85+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 84+ 8+ 85+ , srcInfoPoints = []+ }+ "h"))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 87 8 88+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 8 87 8 88+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 8+ 87+ 8+ 88+ , srcInfoPoints = []+ }+ "h")))))))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 9 34 9 55+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 9 34 9 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 9 34 9 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 9 34 9 53+ , srcInfoPoints = []+ }+ "askCardsForExchange")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 9 54 9 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 9 54 9 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 9 54 9 55+ , srcInfoPoints = []+ }+ "h"))))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 11 34 11 61+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 11 34 11 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 11 34 11 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 11 34 11 40+ , srcInfoPoints = []+ }+ "return")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 11 41 11 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IfThenElseLayout.hs" 11 41 11 42+ , SrcSpan "tests/examples/IfThenElseLayout.hs" 11 60 11 61+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IfThenElseLayout.hs" 11 42 11 60+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 11 42 11 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 11 42 11 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 11+ 42+ 11+ 51+ , srcInfoPoints = []+ }+ "readCards")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 11 52 11 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs" 11 52 11 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/IfThenElseLayout.hs"+ 11+ 52+ 11+ 60+ , srcInfoPoints = []+ }+ "response")))))))+ ]))+ Nothing+ ]+ ]+ , []+ )
tests/examples/IfThenElseLayout.hs.prettyprinter.golden view
@@ -1,6 +1,6 @@ {-# LANGUAGE DoAndIfThenElse #-} module IfThenElseLayout where- + askCardsForExchange :: Hand -> IO [Card] askCardsForExchange h = do putStrLn "Wich card do you want to exchange? (Max. 3)"
tests/examples/IllDataTypeDecl.hs view
@@ -1,4 +1,4 @@ {-# LANGUAGE TypeOperators #-} module IllDataTypeDecl where- + data (f :+: g) p = L
tests/examples/IllDataTypeDecl.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IllDataTypeDecl.hs", srcLine = 5, srcColumn = 1}) "Illegal data/newtype declaration"+Match
tests/examples/IllDataTypeDecl.hs.parser.golden view
@@ -1,1 +1,162 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IllDataTypeDecl.hs", srcLine = 5, srcColumn = 1}) "Illegal data/newtype declaration"+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IllDataTypeDecl.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IllDataTypeDecl.hs" 1 1 1 1+ , SrcSpan "tests/examples/IllDataTypeDecl.hs" 2 1 2 1+ , SrcSpan "tests/examples/IllDataTypeDecl.hs" 2 1 2 1+ , SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 1 4 1+ , SrcSpan "tests/examples/IllDataTypeDecl.hs" 5 1 5 1+ , SrcSpan "tests/examples/IllDataTypeDecl.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 2 1 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IllDataTypeDecl.hs" 2 1 2 7+ , SrcSpan "tests/examples/IllDataTypeDecl.hs" 2 24 2 29+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 2 8 2 23+ , srcInfoPoints = []+ }+ "IllDataTypeDecl")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IllDataTypeDecl.hs" 1 1 1 13+ , SrcSpan "tests/examples/IllDataTypeDecl.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 18 4 19 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 1 4 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 6 4 17+ , srcInfoPoints = []+ }+ (DHParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 6 4 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 6 4 7+ , SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 14 4 15+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 7 4 14+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 7 4 14+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 7 4 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 7 4 8+ , srcInfoPoints = []+ }+ "f"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ ":+:"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "g"))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ "p")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 20 4 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 20 4 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IllDataTypeDecl.hs" 4 20 4 21+ , srcInfoPoints = []+ }+ "L")+ [])+ ]+ []+ ]+ , []+ )
tests/examples/IllDataTypeDecl.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IllDataTypeDecl.hs", srcLine = 5, srcColumn = 1}) "Illegal data/newtype declaration"+Match
tests/examples/IllDataTypeDecl.hs.prettyprinter.golden view
@@ -1,1 +1,4 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IllDataTypeDecl.hs", srcLine = 5, srcColumn = 1}) "Illegal data/newtype declaration"+{-# LANGUAGE TypeOperators #-}+module IllDataTypeDecl where++data (f :+: g) p = L
+ tests/examples/ImplicitWhereBlocks.hs view
@@ -0,0 +1,6 @@+foo = x where x = 1+ z = 19+++y = 2+
+ tests/examples/ImplicitWhereBlocks.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ImplicitWhereBlocks.hs.parser.golden view
@@ -0,0 +1,201 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 1 1 1+ , SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 1 1 1+ , SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 1 1 1+ , SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 5 1 5 1+ , SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 7 1 7 1+ , SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 7 1 7 1+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 1 2 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 9 1 14 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 1 1 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 1 1 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 5 1 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 5 1 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 7 1 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 7 1 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 7 1 8+ , srcInfoPoints = []+ }+ "x"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 15 2 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 15 1 15+ , SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 2 15 2 15+ , SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 5 1 5 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 15 1 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 15 1 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 15 1 16+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 17 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 17 1 18 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 19 1 20+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 1 19 1 20+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 2 15 2 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ "z"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 2 17 2 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 2 17 2 18 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 2 19 2 21+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 2 19 2 21+ , srcInfoPoints = []+ }+ 19+ "19")))+ Nothing+ ]))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 5 1 5 6+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ "y"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 5 3 5 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 5 3 5 4 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImplicitWhereBlocks.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ 2+ "2")))+ Nothing+ ]+ , []+ )
+ tests/examples/ImplicitWhereBlocks.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ImplicitWhereBlocks.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+foo = x+ where x = 1+ z = 19+y = 2
+ tests/examples/ImportQualifiedPost.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ImportQualifiedPost #-}+module ImportQualifiedPost where++import Data.List qualified as L
+ tests/examples/ImportQualifiedPost.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ImportQualifiedPost.hs.parser.golden view
@@ -0,0 +1,89 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 5 1 5 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 7+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 28 2 33+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 8 2 27+ , srcInfoPoints = []+ }+ "ImportQualifiedPost")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 13+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 34 1 37+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 14 1 33+ , srcInfoPoints = []+ }+ "ImportQualifiedPost"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 7+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 18 4 27+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 28 4 30+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 8 4 17+ , srcInfoPoints = []+ }+ "Data.List"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 31 4 32+ , srcInfoPoints = []+ }+ "L")+ , importSpecs = Nothing+ }+ ]+ []+ , []+ )
+ tests/examples/ImportQualifiedPost.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ImportQualifiedPost.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE ImportQualifiedPost #-}+module ImportQualifiedPost where+import qualified Data.List as L
+ tests/examples/IndentedModule1.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE NamedFieldPuns #-}+ module Main where+main = putStr "foo"
+ tests/examples/IndentedModule1.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/IndentedModule1.hs.parser.golden view
@@ -0,0 +1,117 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedModule1.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedModule1.hs" 1 1 1 1+ , SrcSpan "tests/examples/IndentedModule1.hs" 2 2 2 2+ , SrcSpan "tests/examples/IndentedModule1.hs" 3 1 3 1+ , SrcSpan "tests/examples/IndentedModule1.hs" 4 1 4 1+ , SrcSpan "tests/examples/IndentedModule1.hs" 4 1 4 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 2 2 2 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedModule1.hs" 2 2 2 8+ , SrcSpan "tests/examples/IndentedModule1.hs" 2 14 2 19+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 2 9 2 13+ , srcInfoPoints = []+ }+ "Main")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedModule1.hs" 1 1 1 13+ , SrcSpan "tests/examples/IndentedModule1.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "NamedFieldPuns"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 3 1 3 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedModule1.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedModule1.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 3 6 3 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedModule1.hs" 3 6 3 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 3 8 3 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ "putStr")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 3 15 3 20+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule1.hs" 3 15 3 20+ , srcInfoPoints = []+ }+ "foo"+ "foo"))))+ Nothing+ ]+ , []+ )
+ tests/examples/IndentedModule1.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/IndentedModule1.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE NamedFieldPuns #-}+module Main where+main = putStr "foo"
+ tests/examples/IndentedModule2.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE NamedFieldPuns #-}+{- -} module Main where+main = putStr "foo"
+ tests/examples/IndentedModule2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/IndentedModule2.hs.parser.golden view
@@ -0,0 +1,119 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedModule2.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedModule2.hs" 1 1 1 1+ , SrcSpan "tests/examples/IndentedModule2.hs" 2 7 2 7+ , SrcSpan "tests/examples/IndentedModule2.hs" 3 1 3 1+ , SrcSpan "tests/examples/IndentedModule2.hs" 4 1 4 1+ , SrcSpan "tests/examples/IndentedModule2.hs" 4 1 4 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 2 7 2 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedModule2.hs" 2 7 2 13+ , SrcSpan "tests/examples/IndentedModule2.hs" 2 19 2 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 2 14 2 18+ , srcInfoPoints = []+ }+ "Main")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedModule2.hs" 1 1 1 13+ , SrcSpan "tests/examples/IndentedModule2.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "NamedFieldPuns"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 3 1 3 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedModule2.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedModule2.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 3 6 3 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedModule2.hs" 3 6 3 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 3 8 3 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ "putStr")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 3 15 3 20+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedModule2.hs" 3 15 3 20+ , srcInfoPoints = []+ }+ "foo"+ "foo"))))+ Nothing+ ]+ , [ Comment+ True (SrcSpan "tests/examples/IndentedModule2.hs" 2 1 2 6) " "+ ]+ )
+ tests/examples/IndentedModule2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/IndentedModule2.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE NamedFieldPuns #-}+module Main where+main = putStr "foo"
tests/examples/IndentedTopLevelWhere.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IndentedTopLevelWhere.hs", srcLine = 8, srcColumn = 1}) "Parse error: virtual }"+ParseFailed (SrcLoc "tests/examples/IndentedTopLevelWhere.hs" 8 1) "Parse error: virtual }"
tests/examples/IndentedTopLevelWhere.hs.parser.golden view
@@ -1,1 +1,3 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IndentedTopLevelWhere.hs", srcLine = 8, srcColumn = 1}) "Parse error: virtual }"+ParseFailed+ (SrcLoc "tests/examples/IndentedTopLevelWhere.hs" 8 1)+ "Parse error: virtual }"
tests/examples/IndentedTopLevelWhere.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IndentedTopLevelWhere.hs", srcLine = 8, srcColumn = 1}) "Parse error: virtual }"+ParseFailed (SrcLoc "tests/examples/IndentedTopLevelWhere.hs" 8 1) "Parse error: virtual }"
tests/examples/IndentedTopLevelWhere.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IndentedTopLevelWhere.hs", srcLine = 8, srcColumn = 1}) "Parse error: virtual }"+ParseFailed (SrcLoc "tests/examples/IndentedTopLevelWhere.hs" 8 1) "Parse error: virtual }"
tests/examples/IndentedWhere.hs.parser.golden view
@@ -1,1 +1,148 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) Nothing [] [] [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 8}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 2}, srcInfoPoints = []}) "f") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 3, srcSpanEndLine = 2, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 3, srcSpanEndLine = 2, srcSpanEndColumn = 4}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 5, srcSpanEndLine = 2, srcSpanEndColumn = 8}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 5, srcSpanEndLine = 2, srcSpanEndColumn = 6}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 7, srcSpanEndLine = 2, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 7, srcSpanEndLine = 2, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 2, srcSpanStartColumn = 7, srcSpanEndLine = 2, srcSpanEndColumn = 8}, srcInfoPoints = []}) "g")))) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 5, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 0}]}) [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 13}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 10}, srcInfoPoints = []}) "g"] (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 17}, srcInfoPoints = []}) "Int"))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) "g")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 4, srcSpanStartColumn = 11, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 4, srcSpanStartColumn = 11, srcSpanEndLine = 4, srcSpanEndColumn = 12}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/IndentedWhere.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = []}) 0 "0"))) Nothing]))]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 2 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedWhere.hs" 2 1 2 1+ , SrcSpan "tests/examples/IndentedWhere.hs" 2 1 2 1+ , SrcSpan "tests/examples/IndentedWhere.hs" 2 1 2 1+ , SrcSpan "tests/examples/IndentedWhere.hs" 5 1 5 1+ , SrcSpan "tests/examples/IndentedWhere.hs" 5 1 5 1+ ]+ }+ Nothing+ []+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 2 1 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedWhere.hs" 3 3 3 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 2 1 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedWhere.hs" 3 3 3 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 2 3 2 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 2 3 2 4+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 2 5 2 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedWhere.hs" 2 5 2 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 2 7 2 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 2 7 2 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 2 7 2 8+ , srcInfoPoints = []+ }+ "g"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 3 9 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedWhere.hs" 3 9 3 9+ , SrcSpan "tests/examples/IndentedWhere.hs" 4 9 4 9+ , SrcSpan "tests/examples/IndentedWhere.hs" 5 1 5 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 3 9 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedWhere.hs" 3 11 3 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ "g"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedWhere.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ "Int")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ "g"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 4 11 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/IndentedWhere.hs" 4 11 4 12 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/IndentedWhere.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/IndentedWhere.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ 0+ "0")))+ Nothing+ ]))+ ]+ ]+ , []+ )
tests/examples/IndentedWhere.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where f x = g- where - g :: Int+ where g :: Int g = 0
tests/examples/IndentedWhereBlock.hs view
@@ -3,5 +3,5 @@ countryLookUp :: String -> Graph -> Maybe Int countryLookUp country graph = indexOf country graph where - indexOf :: String -> Graph -> Maybe Int + indexOf :: String -> Graph -> Maybe Int indexOf _ Empty = Nothing
tests/examples/IndentedWhereBlock.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IndentedWhereBlock.hs", srcLine = 8, srcColumn = 1}) "Parse error: virtual }"+ParseFailed (SrcLoc "tests/examples/IndentedWhereBlock.hs" 8 1) "Parse error: virtual }"
tests/examples/IndentedWhereBlock.hs.parser.golden view
@@ -1,1 +1,3 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IndentedWhereBlock.hs", srcLine = 8, srcColumn = 1}) "Parse error: virtual }"+ParseFailed+ (SrcLoc "tests/examples/IndentedWhereBlock.hs" 8 1)+ "Parse error: virtual }"
tests/examples/IndentedWhereBlock.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IndentedWhereBlock.hs", srcLine = 8, srcColumn = 1}) "Parse error: virtual }"+ParseFailed (SrcLoc "tests/examples/IndentedWhereBlock.hs" 8 1) "Parse error: virtual }"
tests/examples/IndentedWhereBlock.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/IndentedWhereBlock.hs", srcLine = 8, srcColumn = 1}) "Parse error: virtual }"+ParseFailed (SrcLoc "tests/examples/IndentedWhereBlock.hs" 8 1) "Parse error: virtual }"
+ tests/examples/InfixApp.hs view
@@ -0,0 +1,2 @@+f = -w/2+
+ tests/examples/InfixApp.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixApp.hs.parser.golden view
@@ -0,0 +1,94 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixApp.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixApp.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixApp.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixApp.hs" 3 1 3 1+ , SrcSpan "tests/examples/InfixApp.hs" 3 1 3 1+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 1 1 9+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 1 1 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 1 1 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 3 1 9+ , srcInfoPoints = [ SrcSpan "tests/examples/InfixApp.hs" 1 3 1 4 ]+ }+ (NegApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 5 1 9+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 6 1 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 6 1 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 6 1 7+ , srcInfoPoints = []+ }+ "w")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 7 1 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 7 1 8+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 7 1 8+ , srcInfoPoints = []+ }+ "/")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixApp.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ 2+ "2")))))+ Nothing+ ]+ , []+ )
+ tests/examples/InfixApp.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixApp.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+f = -w / 2
+ tests/examples/InfixBang.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE BangPatterns #-}++(!) arr i = arr i
+ tests/examples/InfixBang.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixBang.hs.parser.golden view
@@ -0,0 +1,122 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixBang.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1+ , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1+ , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1+ , SrcSpan "tests/examples/InfixBang.hs" 4 1 4 1+ , SrcSpan "tests/examples/InfixBang.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixBang.hs" 1 1 1 13+ , SrcSpan "tests/examples/InfixBang.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "BangPatterns"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 1 3 18+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 1 3 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixBang.hs" 3 1 3 2+ , SrcSpan "tests/examples/InfixBang.hs" 3 2 3 3+ , SrcSpan "tests/examples/InfixBang.hs" 3 3 3 4+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 2 3 3+ , srcInfoPoints = []+ }+ "!")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 5 3 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 5 3 8+ , srcInfoPoints = []+ }+ "arr")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ "i")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 11 3 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixBang.hs" 3 11 3 12 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16+ , srcInfoPoints = []+ }+ "arr")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/InfixBang.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixBang.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE BangPatterns #-}+(!) arr i = arr i
+ tests/examples/InfixFunBind.hs view
@@ -0,0 +1,1 @@+left `first` _ = left
+ tests/examples/InfixFunBind.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixFunBind.hs.parser.golden view
@@ -0,0 +1,79 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 1 2 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixFunBind.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixFunBind.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixFunBind.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixFunBind.hs" 2 1 2 1+ , SrcSpan "tests/examples/InfixFunBind.hs" 2 1 2 1+ ]+ }+ Nothing+ []+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 1 1 22+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 1 1 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 1 1 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 1 1 5+ , srcInfoPoints = []+ }+ "left"))+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 7 1 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixFunBind.hs" 1 6 1 7+ , SrcSpan "tests/examples/InfixFunBind.hs" 1 7 1 12+ , SrcSpan "tests/examples/InfixFunBind.hs" 1 12 1 13+ ]+ }+ "first")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 14 1 15+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 16 1 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixFunBind.hs" 1 16 1 17 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 18 1 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 18 1 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixFunBind.hs" 1 18 1 22+ , srcInfoPoints = []+ }+ "left"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/InfixFunBind.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixFunBind.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+left `first` _ = left
tests/examples/InfixParser.hs.parser.golden view
@@ -1,1 +1,490 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 20, srcSpanEndLine = 1, srcSpanEndColumn = 25}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 19}, srcInfoPoints = []}) "InfixParser") Nothing Nothing)) [] [] [TypeDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 17}]}) (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) "Parse") [UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) "a"),UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 15}, srcInfoPoints = []}) "b")]) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 22, srcSpanEndLine = 3, srcSpanEndColumn = 24}]}) (TyList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 21}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 21}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 19, srcSpanEndLine = 3, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 19, srcSpanEndLine = 3, srcSpanEndColumn = 20}, srcInfoPoints = []}) "a"))) (TyList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 25, srcSpanEndLine = 3, srcSpanEndColumn = 35}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 25, srcSpanEndLine = 3, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 34, srcSpanEndLine = 3, srcSpanEndColumn = 35}]}) (TyTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 29},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 33, srcSpanEndLine = 3, srcSpanEndColumn = 34}]}) Boxed [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 27, srcSpanEndLine = 3, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 27, srcSpanEndLine = 3, srcSpanEndColumn = 28}, srcInfoPoints = []}) "b"),TyList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 30, srcSpanEndLine = 3, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 30, srcSpanEndLine = 3, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 32, srcSpanEndLine = 3, srcSpanEndColumn = 33}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 31, srcSpanEndLine = 3, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 3, srcSpanStartColumn = 31, srcSpanEndLine = 3, srcSpanEndColumn = 32}, srcInfoPoints = []}) "a"))]))),TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 7, srcSpanEndLine = 5, srcSpanEndColumn = 9}]}) [Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 2, srcSpanEndLine = 5, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 6}]}) "<|>"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 20, srcSpanEndLine = 5, srcSpanEndColumn = 22}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 19}, srcInfoPoints = []}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 15}, srcInfoPoints = []}) "Parse"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) "a"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 19}, srcInfoPoints = []}) "b"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 5, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 33, srcSpanEndLine = 5, srcSpanEndColumn = 35}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 5, srcSpanEndColumn = 32}, srcInfoPoints = []}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 5, srcSpanEndColumn = 30}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 5, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 5, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 5, srcSpanEndColumn = 28}, srcInfoPoints = []}) "Parse"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 29, srcSpanEndLine = 5, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 29, srcSpanEndLine = 5, srcSpanEndColumn = 30}, srcInfoPoints = []}) "a"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 31, srcSpanEndLine = 5, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 31, srcSpanEndLine = 5, srcSpanEndColumn = 32}, srcInfoPoints = []}) "b"))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 36, srcSpanEndLine = 5, srcSpanEndColumn = 45}, srcInfoPoints = []}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 36, srcSpanEndLine = 5, srcSpanEndColumn = 43}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 36, srcSpanEndLine = 5, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 36, srcSpanEndLine = 5, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 36, srcSpanEndLine = 5, srcSpanEndColumn = 41}, srcInfoPoints = []}) "Parse"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 42, srcSpanEndLine = 5, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 42, srcSpanEndLine = 5, srcSpanEndColumn = 43}, srcInfoPoints = []}) "a"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 44, srcSpanEndLine = 5, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 5, srcSpanStartColumn = 44, srcSpanEndLine = 5, srcSpanEndColumn = 45}, srcInfoPoints = []}) "b"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 29}, srcInfoPoints = []}) [InfixMatch (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 12}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 2, srcSpanEndLine = 6, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 2, srcSpanEndLine = 6, srcSpanEndColumn = 4}, srcInfoPoints = []}) "p1")) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 8}, srcInfoPoints = []}) "<|>") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) "p2"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = []}) "i")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 15, srcSpanEndLine = 6, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 15, srcSpanEndLine = 6, srcSpanEndColumn = 16}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 17, srcSpanEndLine = 6, srcSpanEndColumn = 29}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 17, srcSpanEndLine = 6, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 17, srcSpanEndLine = 6, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 17, srcSpanEndLine = 6, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 17, srcSpanEndLine = 6, srcSpanEndColumn = 19}, srcInfoPoints = []}) "p1"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 20, srcSpanEndLine = 6, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 20, srcSpanEndLine = 6, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 20, srcSpanEndLine = 6, srcSpanEndColumn = 21}, srcInfoPoints = []}) "i")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 22, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 22, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 22, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = []}) "++"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 25, srcSpanEndLine = 6, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 25, srcSpanEndLine = 6, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 25, srcSpanEndLine = 6, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 25, srcSpanEndLine = 6, srcSpanEndColumn = 27}, srcInfoPoints = []}) "p2"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 28, srcSpanEndLine = 6, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 28, srcSpanEndLine = 6, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/InfixParser.hs", srcSpanStartLine = 6, srcSpanStartColumn = 28, srcSpanEndLine = 6, srcSpanEndColumn = 29}, srcInfoPoints = []}) "i")))))) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixParser.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixParser.hs" 3 1 3 1+ , SrcSpan "tests/examples/InfixParser.hs" 5 1 5 1+ , SrcSpan "tests/examples/InfixParser.hs" 6 1 6 1+ , SrcSpan "tests/examples/InfixParser.hs" 7 1 7 1+ , SrcSpan "tests/examples/InfixParser.hs" 7 1 7 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 1 1 1 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 1 1 1 7+ , SrcSpan "tests/examples/InfixParser.hs" 1 20 1 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 1 8 1 19+ , srcInfoPoints = []+ }+ "InfixParser")+ Nothing+ Nothing))+ []+ []+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 1 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 3 1 3 5+ , SrcSpan "tests/examples/InfixParser.hs" 3 16 3 17+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 6 3 15+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 6 3 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 6 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 6 3 11+ , srcInfoPoints = []+ }+ "Parse"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ "b")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 18 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 3 22 3 24 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 18 3 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 3 18 3 19+ , SrcSpan "tests/examples/InfixParser.hs" 3 20 3 21+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ "a")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 25 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 3 25 3 26+ , SrcSpan "tests/examples/InfixParser.hs" 3 34 3 35+ ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 26 3 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 3 26 3 27+ , SrcSpan "tests/examples/InfixParser.hs" 3 28 3 29+ , SrcSpan "tests/examples/InfixParser.hs" 3 33 3 34+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 27 3 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 27 3 28+ , srcInfoPoints = []+ }+ "b")+ , TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 30 3 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 3 30 3 31+ , SrcSpan "tests/examples/InfixParser.hs" 3 32 3 33+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 31 3 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 3 31 3 32+ , srcInfoPoints = []+ }+ "a"))+ ])))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 1 5 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 5 7 5 9 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 1 5 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 5 1 5 2+ , SrcSpan "tests/examples/InfixParser.hs" 5 2 5 5+ , SrcSpan "tests/examples/InfixParser.hs" 5 5 5 6+ ]+ }+ "<|>"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 10 5 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 5 20 5 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 10 5 19+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 10 5 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 10 5 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 10 5 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 10 5 15+ , srcInfoPoints = []+ }+ "Parse")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ "b")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 23 5 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 5 33 5 35 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 23 5 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 23 5 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 23 5 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 23 5 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 23 5 28+ , srcInfoPoints = []+ }+ "Parse")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 29 5 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 29 5 30+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 31 5 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 31 5 32+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 36 5 45+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 36 5 43+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 36 5 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 36 5 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 36 5 41+ , srcInfoPoints = []+ }+ "Parse")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 42 5 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 42 5 43+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 44 5 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 5 44 5 45+ , srcInfoPoints = []+ }+ "b")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 1 6 29+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 1 6 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 6 1 6 2+ , SrcSpan "tests/examples/InfixParser.hs" 6 11 6 12+ ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 2 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 2 6 4+ , srcInfoPoints = []+ }+ "p1"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 5 6 8+ , srcInfoPoints = []+ }+ "<|>")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ "p2")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ "i")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 15 6 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixParser.hs" 6 15 6 16 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 17 6 29+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 17 6 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 17 6 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 17 6 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 17 6 19+ , srcInfoPoints = []+ }+ "p1")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 20 6 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 20 6 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 20 6 21+ , srcInfoPoints = []+ }+ "i"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 22 6 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 22 6 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 22 6 24+ , srcInfoPoints = []+ }+ "++")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 25 6 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 25 6 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 25 6 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 25 6 27+ , srcInfoPoints = []+ }+ "p2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 28 6 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 28 6 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixParser.hs" 6 28 6 29+ , srcInfoPoints = []+ }+ "i"))))))+ Nothing+ ]+ ]+ , []+ )
tests/examples/InfixParser.hs.prettyprinter.golden view
@@ -1,6 +1,6 @@ module InfixParser where- + type Parse a b = [a] -> [(b, [a])]- + (<|>) :: Parse a b -> Parse a b -> Parse a b (p1 <|> p2) i = p1 i ++ p2 i
+ tests/examples/InfixTypeMinus.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE DataKinds, KindSignatures, TypeOperators, GADTs #-}+module Foo where++-- Test cases+data Vec (n :: Nat) where { VCons :: (m ~ (n-1)) => Double -> Vec m -> Vec n }+data Vec (n :: Nat) where { VCons :: ((n-1) ~ m) => Double -> Vec m -> Vec n }+data Vec (n :: Nat) where { VCons :: ((m+1) ~ n) => Double -> Vec m -> Vec n }+data Vec (n :: Nat) where { VCons :: (n ~ (m+1)) => Double -> Vec m -> Vec n }
+ tests/examples/InfixTypeMinus.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixTypeMinus.hs.parser.golden view
@@ -0,0 +1,1346 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 2 1 2 1+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 2 1 2 1+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 1 5 1+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 1 6 1+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 1 7 1+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 1 8 1+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 9 1 9 1+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 2 1 2 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 2 1 2 7+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 2 12 2 17+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 2 8 2 11+ , srcInfoPoints = []+ }+ "Foo")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 1 1 1 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 1 1 1 13+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 1 23 1 24+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 1 39 1 40+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 1 54 1 55+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 1 62 1 65+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "DataKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 1 25 1 39+ , srcInfoPoints = []+ }+ "KindSignatures"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 1 41 1 54+ , srcInfoPoints = []+ }+ "TypeOperators"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 1 56 1 61+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 1 5 79+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 21 5 26+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 27 5 28+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 78 5 79+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 1 5 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 6 5 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ "Vec"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 10 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 10 5 11+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 13 5 15+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 19 5 20+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ "n")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ "Nat")))))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 29 5 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 35 5 37 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 29 5 34+ , srcInfoPoints = []+ }+ "VCons")+ Nothing+ Nothing+ Nothing+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 38 5 77+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 38 5 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 38 5 39+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 48 5 49+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 50 5 52+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 38 5 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 38 5 39+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 48 5 49+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 50 5 52+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 41 5 42 ]+ }+ (TyEquals+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 41 5 42 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40+ , srcInfoPoints = []+ }+ "m"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 44+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 47 5 48+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 47+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 44 5 45+ , srcInfoPoints = []+ }+ "n"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 45 5 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 45 5 46+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 45 5 46+ , srcInfoPoints = []+ }+ "-")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 46 5 47+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 46 5 47+ , srcInfoPoints = []+ }+ 1+ "1")))))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 53 5 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 60 5 62 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 53 5 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 53 5 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 53 5 59+ , srcInfoPoints = []+ }+ "Double")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 63 5 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 69 5 71 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 63 5 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 63 5 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 63 5 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 63 5 66+ , srcInfoPoints = []+ }+ "Vec")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 67 5 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 67 5 68+ , srcInfoPoints = []+ }+ "m")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 72 5 77+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 72 5 75+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 72 5 75+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 72 5 75+ , srcInfoPoints = []+ }+ "Vec")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 76 5 77+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 76 5 77+ , srcInfoPoints = []+ }+ "n"))))))+ ]+ []+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 1 6 79+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 21 6 26+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 27 6 28+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 78 6 79+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 1 6 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 6 6 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 6 6 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 6 6 9+ , srcInfoPoints = []+ }+ "Vec"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 10 6 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 10 6 11+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 13 6 15+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 19 6 20+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "n")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ "Nat")))))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 29 6 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 35 6 37 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 29 6 34+ , srcInfoPoints = []+ }+ "VCons")+ Nothing+ Nothing+ Nothing+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 38 6 77+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 38 6 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 38 6 39+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 48 6 49+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 50 6 52+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 38 6 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 38 6 39+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 48 6 49+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 50 6 52+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 45 6 46 ]+ }+ (TyEquals+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 45 6 46 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 40+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 43 6 44+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 40 6 41+ , srcInfoPoints = []+ }+ "n"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 41 6 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 41 6 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 41 6 42+ , srcInfoPoints = []+ }+ "-")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 42 6 43+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 42 6 43+ , srcInfoPoints = []+ }+ 1+ "1"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48+ , srcInfoPoints = []+ }+ "m")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 53 6 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 60 6 62 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 53 6 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 53 6 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 53 6 59+ , srcInfoPoints = []+ }+ "Double")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 63 6 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 69 6 71 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 63 6 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 63 6 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 63 6 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 63 6 66+ , srcInfoPoints = []+ }+ "Vec")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 67 6 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 67 6 68+ , srcInfoPoints = []+ }+ "m")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 72 6 77+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 72 6 75+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 72 6 75+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 72 6 75+ , srcInfoPoints = []+ }+ "Vec")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 76 6 77+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 76 6 77+ , srcInfoPoints = []+ }+ "n"))))))+ ]+ []+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 1 7 79+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 21 7 26+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 27 7 28+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 78 7 79+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 1 7 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 6 7 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 6 7 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 6 7 9+ , srcInfoPoints = []+ }+ "Vec"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 10 7 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 10 7 11+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 13 7 15+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 19 7 20+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 11 7 12+ , srcInfoPoints = []+ }+ "n")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 16 7 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 16 7 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 16 7 19+ , srcInfoPoints = []+ }+ "Nat")))))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 29 7 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 35 7 37 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 29 7 34+ , srcInfoPoints = []+ }+ "VCons")+ Nothing+ Nothing+ Nothing+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 38 7 77+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 38 7 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 38 7 39+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 48 7 49+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 50 7 52+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 38 7 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 38 7 39+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 48 7 49+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 50 7 52+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 45 7 46 ]+ }+ (TyEquals+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 45 7 46 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 40+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 43 7 44+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 40 7 41+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 41 7 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 41 7 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 41 7 42+ , srcInfoPoints = []+ }+ "+")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 42 7 43+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 42 7 43+ , srcInfoPoints = []+ }+ 1+ "1"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48+ , srcInfoPoints = []+ }+ "n")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 53 7 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 60 7 62 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 53 7 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 53 7 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 53 7 59+ , srcInfoPoints = []+ }+ "Double")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 63 7 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 69 7 71 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 63 7 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 63 7 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 63 7 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 63 7 66+ , srcInfoPoints = []+ }+ "Vec")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 67 7 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 67 7 68+ , srcInfoPoints = []+ }+ "m")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 72 7 77+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 72 7 75+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 72 7 75+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 72 7 75+ , srcInfoPoints = []+ }+ "Vec")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 76 7 77+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 76 7 77+ , srcInfoPoints = []+ }+ "n"))))))+ ]+ []+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 1 8 79+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 21 8 26+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 27 8 28+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 78 8 79+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 1 8 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 6 8 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ "Vec"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 10 8 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 10 8 11+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 13 8 15+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 19 8 20+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 11 8 12+ , srcInfoPoints = []+ }+ "n")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 16 8 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 16 8 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 16 8 19+ , srcInfoPoints = []+ }+ "Nat")))))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 29 8 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 35 8 37 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 29 8 34+ , srcInfoPoints = []+ }+ "VCons")+ Nothing+ Nothing+ Nothing+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 38 8 77+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 38 8 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 38 8 39+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 48 8 49+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 50 8 52+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 38 8 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 38 8 39+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 48 8 49+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 50 8 52+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 41 8 42 ]+ }+ (TyEquals+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 41 8 42 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40+ , srcInfoPoints = []+ }+ "n"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 44+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 47 8 48+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 47+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 44 8 45+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 45 8 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 45 8 46+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 45 8 46+ , srcInfoPoints = []+ }+ "+")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 46 8 47+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 46 8 47+ , srcInfoPoints = []+ }+ 1+ "1")))))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 53 8 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 60 8 62 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 53 8 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 53 8 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 53 8 59+ , srcInfoPoints = []+ }+ "Double")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 63 8 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 69 8 71 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 63 8 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 63 8 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 63 8 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 63 8 66+ , srcInfoPoints = []+ }+ "Vec")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 67 8 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 67 8 68+ , srcInfoPoints = []+ }+ "m")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 72 8 77+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 72 8 75+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 72 8 75+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 72 8 75+ , srcInfoPoints = []+ }+ "Vec")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 76 8 77+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 76 8 77+ , srcInfoPoints = []+ }+ "n"))))))+ ]+ []+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/InfixTypeMinus.hs" 4 1 4 14)+ " Test cases"+ ]+ )
+ tests/examples/InfixTypeMinus.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixTypeMinus.hs.prettyprinter.golden view
@@ -0,0 +1,14 @@+{-# LANGUAGE DataKinds, KindSignatures, TypeOperators, GADTs #-}+module Foo where++data Vec (n :: Nat) where+ VCons :: (m ~ (n - 1)) => Double -> Vec m -> Vec n++data Vec (n :: Nat) where+ VCons :: ((n - 1) ~ m) => Double -> Vec m -> Vec n++data Vec (n :: Nat) where+ VCons :: ((m + 1) ~ n) => Double -> Vec m -> Vec n++data Vec (n :: Nat) where+ VCons :: (n ~ (m + 1)) => Double -> Vec m -> Vec n
+ tests/examples/InjectiveTypeFamilies.hs view
@@ -0,0 +1,255 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE NoMonomorphismRestriction #-}++module T6018 where++import T6018a -- defines G, identical to F++type family F a b c = (result :: k) | result -> a b c+type instance F Int Char Bool = Bool+type instance F Char Bool Int = Int+type instance F Bool Int Char = Char+++type instance G Bool Int Char = Char++type family I (a :: k) b (c :: k) = r | r -> a b+type instance I Int Char Bool = Bool+type instance I Int Char Int = Bool+type instance I Bool Int Int = Int++-- this is injective - a type variable introduced in the LHS is not mentioned on+-- RHS but we don't claim injectivity in that argument.+type family J a (b :: k) = r | r -> a+type instance J Int b = Char++type MaybeSyn a = Maybe a+newtype MaybeNew a = MaybeNew (Maybe a)++-- make sure we look through type synonyms...+type family K a = r | r -> a+type instance K a = MaybeSyn a++-- .. but not newtypes+type family M a = r | r -> a+type instance M (Maybe a) = MaybeSyn a+type instance M (MaybeNew a) = MaybeNew a++-- Closed type families++-- these are simple conversions from open type families. They should behave the+-- same+type family FClosed a b c = result | result -> a b c where+ FClosed Int Char Bool = Bool+ FClosed Char Bool Int = Int+ FClosed Bool Int Char = Char++type family IClosed (a :: *) (b :: *) (c :: *) = r | r -> a b where+ IClosed Int Char Bool = Bool+ IClosed Int Char Int = Bool+ IClosed Bool Int Int = Int++type family JClosed a (b :: k) = r | r -> a where+ JClosed Int b = Char++type family KClosed a = r | r -> a where+ KClosed a = MaybeSyn a++-- Here the last equation might return both Int and Char but we have to+-- recognize that it is not possible due to equation overlap+type family Bak a = r | r -> a where+ Bak Int = Char+ Bak Char = Int+ Bak a = a++-- This is similar, except that the last equation contains concrete type. Since+-- it is overlapped it should be dropped with a warning+type family Foo a = r | r -> a where+ Foo Int = Bool+ Foo Bool = Int+ Foo Bool = Bool++-- this one was tricky in the early implementation of injectivity. Now it is+-- identical to the above but we still keep it as a regression test.+type family Bar a = r | r -> a where+ Bar Int = Bool+ Bar Bool = Int+ Bar Bool = Char++-- Now let's use declared type families. All the below definitions should work++-- No ambiguity for any of the arguments - all are injective+f :: F a b c -> F a b c+f x = x++-- From 1st instance of F: a ~ Int, b ~ Char, c ~ Bool+fapp :: Bool+fapp = f True++-- now the closed variant of F+fc :: FClosed a b c -> FClosed a b c+fc x = x++fcapp :: Bool+fcapp = fc True++-- The last argument is not injective so it must be instantiated+i :: I a b Int -> I a b Int+i x = x++-- From 1st instance of I: a ~ Int, b ~ Char+iapp :: Bool+iapp = i True++-- again, closed variant of I+ic :: IClosed a b Int -> IClosed a b Int+ic x = x++icapp :: Bool+icapp = ic True++-- Now we have to test weird closed type families:+bak :: Bak a -> Bak a+bak x = x++bakapp1 :: Char+bakapp1 = bak 'c'++bakapp2 :: Double+bakapp2 = bak 1.0++bakapp3 :: ()+bakapp3 = bak ()++foo :: Foo a -> Foo a+foo x = x++fooapp1 :: Bool+fooapp1 = foo True++bar :: Bar a -> Bar a+bar x = x++barapp1 :: Bool+barapp1 = bar True++barapp2 :: Int+barapp2 = bar 1++-- Declarations below test more liberal RHSs of injectivity annotations:+-- permiting variables to appear in different order than the one in which they+-- were declared.+type family H a b = r | r -> b a+type family Hc a b = r | r -> b a where+ Hc a b = a b+class Hcl a b where+ type Ht a b = r | r -> b a++-- repeated tyvars in the RHS of injectivity annotation: no warnings or errors+-- (consistent with behaviour for functional dependencies)+type family Jx a b = r | r -> a a+type family Jcx a b = r | r -> a a where+ Jcx a b = a b+class Jcl a b where+ type Jt a b = r | r -> a a++type family Kx a b = r | r -> a b b+type family Kcx a b = r | r -> a b b where+ Kcx a b = a b+class Kcl a b where+ type Kt a b = r | r -> a b b++-- Declaring kind injectivity. Here we only claim that knowing the RHS+-- determines the LHS kind but not the type.+type family L (a :: k1) = (r :: k2) | r -> k1 where+ L 'True = Int+ L 'False = Int+ L Maybe = 3+ L IO = 3++data KProxy (a :: *) = KProxy+type family KP (kproxy :: KProxy k) = r | r -> k+type instance KP ('KProxy :: KProxy Bool) = Int+type instance KP ('KProxy :: KProxy *) = Char++kproxy_id :: KP ('KProxy :: KProxy k) -> KP ('KProxy :: KProxy k)+kproxy_id x = x++kproxy_id_use = kproxy_id 'a'++-- Now test some awkward cases from The Injectivity Paper. All should be+-- accepted.+type family Gx a+type family Hx a+type family Gi a = r | r -> a+type instance Gi Int = Char+type family Hi a = r | r -> a++type family F2 a = r | r -> a+type instance F2 [a] = [Gi a]+type instance F2 (Maybe a) = Hi a -> Int++type family F4 a = r | r -> a+type instance F4 [a] = (Gx a, a, a, a)+type instance F4 (Maybe a) = (Hx a, a, Int, Bool)++type family G2 a b = r | r -> a b+type instance G2 a Bool = (a, a)+type instance G2 Bool b = (b, Bool)++type family G6 a = r | r -> a+type instance G6 [a] = [Gi a]+type instance G6 Bool = Int++g6_id :: G6 a -> G6 a+g6_id x = x++g6_use :: [Char]+g6_use = g6_id "foo"++-- A sole exception to "bare variables in the RHS" rule+type family Id (a :: k) = (result :: k) | result -> a+type instance Id a = a++-- This makes sure that over-saturated type family applications at the top-level+-- are accepted.+type family IdProxy (a :: k) b = r | r -> a+type instance IdProxy a b = (Id a) b++-- make sure we look through type synonyms properly+type IdSyn a = Id a+type family IdProxySyn (a :: k) b = r | r -> a+type instance IdProxySyn a b = (IdSyn a) b++-- this has bare variable in the RHS but all LHS varaiables are also bare so it+-- should be accepted+type family Fa (a :: k) (b :: k) = (r :: k2) | r -> k+type instance Fa a b = a++-- Taken from #9587. This exposed a bug in the solver.+type family Arr (repr :: * -> *) (a :: *) (b :: *) = (r :: *) | r -> repr a b++class ESymantics repr where+ int :: Int -> repr Int+ add :: repr Int -> repr Int -> repr Int++ lam :: (repr a -> repr b) -> repr (Arr repr a b)+ app :: repr (Arr repr a b) -> repr a -> repr b++te4 = let c3 = lam (\f -> lam (\x -> f `app` (f `app` (f `app` x))))+ in (c3 `app` (lam (\x -> x `add` int 14))) `app` (int 0)++-- This used to fail during development+class Manifold' a where+ type Base a = r | r -> a+ project :: a -> Base a+ unproject :: Base a -> a++id' :: forall a. ( Manifold' a ) => Base a -> Base a+id' = project . unproject
+ tests/examples/InjectiveTypeFamilies.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InjectiveTypeFamilies.hs.parser.golden view
@@ -0,0 +1,15848 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 256 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 151 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 159 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 165 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 238 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 249 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 256 1 256 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 256 1 256 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 7+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 14 10 19+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 8 10 13+ , srcInfoPoints = []+ }+ "T6018")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 40 1 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 40 2 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 14 2 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 40 3 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 14 3 23+ , srcInfoPoints = []+ }+ "PolyKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 41 4 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 14 4 36+ , srcInfoPoints = []+ }+ "TypeFamilyDependencies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 31 5 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 14 5 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 40 6 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 14 6 34+ , srcInfoPoints = []+ }+ "UndecidableInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 40 7 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 14 7 33+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 40 8 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 14 8 39+ , srcInfoPoints = []+ }+ "NoMonomorphismRestriction"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 8 12 14+ , srcInfoPoints = []+ }+ "T6018a"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 6 14 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 20+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 18+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 14+ , srcInfoPoints = []+ }+ "F"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 15 14 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 15 14 16+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 17 14 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 17 14 18+ , srcInfoPoints = []+ }+ "b")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 19 14 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 19 14 20+ , srcInfoPoints = []+ }+ "c")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 21 14 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 21 14 22 ]+ }+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 23 14 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 23 14 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 31 14 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 35 14 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 24 14 30+ , srcInfoPoints = []+ }+ "result")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35+ , srcInfoPoints = []+ }+ "k")))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 37 14 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 37 14 38+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 46 14 48+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 39 14 45+ , srcInfoPoints = []+ }+ "result")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 49 14 50+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 51 14 52+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 53 14 54+ , srcInfoPoints = []+ }+ "c"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 6 15 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 32 15 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ "F")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 6 16 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 32 16 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16+ , srcInfoPoints = []+ }+ "F")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37+ , srcInfoPoints = []+ }+ "Int")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 6 17 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 32 17 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 25+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16+ , srcInfoPoints = []+ }+ "F")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38+ , srcInfoPoints = []+ }+ "Char")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 6 20 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 32 20 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 25+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16+ , srcInfoPoints = []+ }+ "G")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38+ , srcInfoPoints = []+ }+ "Char")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 6 22 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 34+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 25+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 23+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 14+ , srcInfoPoints = []+ }+ "I"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 15 22 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 15 22 16+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 18 22 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 22 22 23+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 16 22 17+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22+ , srcInfoPoints = []+ }+ "k"))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 24 22 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 24 22 25+ , srcInfoPoints = []+ }+ "b")))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 26 22 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 26 22 27+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 29 22 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 33 22 34+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 27 22 28+ , srcInfoPoints = []+ }+ "c")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33+ , srcInfoPoints = []+ }+ "k"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 35 22 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 35 22 36 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 37 22 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 37 22 38+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 39 22 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 39 22 40+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 43 22 45+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 41 22 42+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 46 22 47+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 48 22 49+ , srcInfoPoints = []+ }+ "b"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 6 23 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 32 23 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16+ , srcInfoPoints = []+ }+ "I")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 6 24 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 32 24 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16+ , srcInfoPoints = []+ }+ "I")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 6 25 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 32 25 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 25+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16+ , srcInfoPoints = []+ }+ "I")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37+ , srcInfoPoints = []+ }+ "Int")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 6 29 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 25+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 14+ , srcInfoPoints = []+ }+ "J"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 15 29 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 15 29 16+ , srcInfoPoints = []+ }+ "a")))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 17 29 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 17 29 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 20 29 22+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 24 29 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 18 29 19+ , srcInfoPoints = []+ }+ "b")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24+ , srcInfoPoints = []+ }+ "k"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 26 29 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 26 29 27 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 28 29 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 28 29 29+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 30 29 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 30 29 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 34 29 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 32 29 33+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 37 29 38+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 6 30 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 23 30 24+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16+ , srcInfoPoints = []+ }+ "J")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20+ , srcInfoPoints = []+ }+ "Int"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 21 30 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 21 30 22+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29+ , srcInfoPoints = []+ }+ "Char")))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 17 32 18+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 14+ , srcInfoPoints = []+ }+ "MaybeSyn"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 15 32 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 15 32 16+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 25 32 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 25 32 26+ , srcInfoPoints = []+ }+ "a")))+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 20 33 21 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 19+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 17+ , srcInfoPoints = []+ }+ "MaybeNew"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 18 33 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 18 33 19+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 30+ , srcInfoPoints = []+ }+ "MaybeNew")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 31 33 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 31 33 32+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 39 33 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 38 33 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 38 33 39+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 6 36 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 14+ , srcInfoPoints = []+ }+ "K"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 15 36 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 15 36 16+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 17 36 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 17 36 18 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 19 36 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 19 36 20+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 21 36 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 21 36 22+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 25 36 27+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 23 36 24+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 28 36 29+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 6 37 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 19 37 20+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16+ , srcInfoPoints = []+ }+ "K")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 17 37 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 17 37 18+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29+ , srcInfoPoints = []+ }+ "MaybeSyn")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 30 37 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 30 37 31+ , srcInfoPoints = []+ }+ "a")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 6 40 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 14+ , srcInfoPoints = []+ }+ "M"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 15 40 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 15 40 16+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 17 40 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 17 40 18 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 19 40 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 19 40 20+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 21 40 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 21 40 22+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 25 40 27+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 23 40 24+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 28 40 29+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 6 41 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 30 41 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16+ , srcInfoPoints = []+ }+ "M")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 17 41 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 17 41 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 25 41 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 24 41 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 24 41 25+ , srcInfoPoints = []+ }+ "a")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40+ , srcInfoPoints = []+ }+ "MaybeSyn")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 41 41 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 41 41 42+ , srcInfoPoints = []+ }+ "a")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 6 42 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 30 42 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16+ , srcInfoPoints = []+ }+ "M")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 17 42 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 17 42 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 28 42 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26+ , srcInfoPoints = []+ }+ "MaybeNew")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 27 42 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 27 42 28+ , srcInfoPoints = []+ }+ "a")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40+ , srcInfoPoints = []+ }+ "MaybeNew")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 41 42 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 41 42 42+ , srcInfoPoints = []+ }+ "a")))+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 6 48 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 54 48 59+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 26+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 24+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 20+ , srcInfoPoints = []+ }+ "FClosed"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 21 48 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 21 48 22+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 23 48 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 23 48 24+ , srcInfoPoints = []+ }+ "b")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 25 48 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 25 48 26+ , srcInfoPoints = []+ }+ "c")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 27 48 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 27 48 28 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 29 48 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 29 48 35+ , srcInfoPoints = []+ }+ "result"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 36 48 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 36 48 37+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 45 48 47+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 38 48 44+ , srcInfoPoints = []+ }+ "result")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 48 48 49+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 50 48 51+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 52 48 53+ , srcInfoPoints = []+ }+ "c"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 28 49 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12+ , srcInfoPoints = []+ }+ "FClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 28 50 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12+ , srcInfoPoints = []+ }+ "FClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 28 51 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 21+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12+ , srcInfoPoints = []+ }+ "FClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34+ , srcInfoPoints = []+ }+ "Char")))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 6 53 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 63 53 68+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 47+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 38+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 29+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 20+ , srcInfoPoints = []+ }+ "IClosed"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 21 53 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 21 53 22+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 24 53 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 28 53 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 22 53 23+ , srcInfoPoints = []+ }+ "a")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 27 53 28+ , srcInfoPoints = []+ })))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 30 53 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 30 53 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 33 53 35+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 37 53 38+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 31 53 32+ , srcInfoPoints = []+ }+ "b")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 36 53 37+ , srcInfoPoints = []+ })))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 39 53 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 39 53 40+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 42 53 44+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 46 53 47+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 40 53 41+ , srcInfoPoints = []+ }+ "c")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 45 53 46+ , srcInfoPoints = []+ })))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 48 53 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 48 53 49 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 50 53 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 50 53 51+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 52 53 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 52 53 53+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 56 53 58+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 54 53 55+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 59 53 60+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 61 53 62+ , srcInfoPoints = []+ }+ "b"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 28 54 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12+ , srcInfoPoints = []+ }+ "IClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 28 55 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12+ , srcInfoPoints = []+ }+ "IClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 28 56 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 21+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12+ , srcInfoPoints = []+ }+ "IClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33+ , srcInfoPoints = []+ }+ "Int")))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 6 58 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 45 58 50+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 31+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 20+ , srcInfoPoints = []+ }+ "JClosed"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 21 58 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 21 58 22+ , srcInfoPoints = []+ }+ "a")))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 23 58 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 23 58 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 26 58 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 30 58 31+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 24 58 25+ , srcInfoPoints = []+ }+ "b")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30+ , srcInfoPoints = []+ }+ "k"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 32 58 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 32 58 33 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 34 58 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 34 58 35+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 36 58 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 36 58 37+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 40 58 42+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 38 58 39+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 43 58 44+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 19 59 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ "JClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16+ , srcInfoPoints = []+ }+ "Int"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 17 59 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 17 59 18+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25+ , srcInfoPoints = []+ }+ "Char")))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 6 61 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 36 61 41+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 20+ , srcInfoPoints = []+ }+ "KClosed"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 21 61 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 21 61 22+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 23 61 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 23 61 24 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 25 61 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 25 61 26+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 27 61 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 27 61 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 31 61 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 29 61 30+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 34 61 35+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 15 62 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12+ , srcInfoPoints = []+ }+ "KClosed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 13 62 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 13 62 14+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25+ , srcInfoPoints = []+ }+ "MaybeSyn")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 26 62 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 26 62 27+ , srcInfoPoints = []+ }+ "a")))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 6 66 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 32 66 37+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 16+ , srcInfoPoints = []+ }+ "Bak"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 17 66 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 17 66 18+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 19 66 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 19 66 20 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 21 66 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 21 66 22+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 23 66 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 23 66 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 27 66 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 25 66 26+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 30 66 31+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 15 67 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9+ , srcInfoPoints = []+ }+ "Bak")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21+ , srcInfoPoints = []+ }+ "Char")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 15 68 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9+ , srcInfoPoints = []+ }+ "Bak")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 15 69 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 11+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9+ , srcInfoPoints = []+ }+ "Bak")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 10 69 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 10 69 11+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 17 69 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 17 69 18+ , srcInfoPoints = []+ }+ "a"))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 6 73 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 32 73 37+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 16+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 17 73 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 17 73 18+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 19 73 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 19 73 20 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 21 73 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 21 73 22+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 23 73 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 23 73 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 27 73 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 25 73 26+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 30 73 31+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 14 74 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8+ , srcInfoPoints = []+ }+ "Foo")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 14 75 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8+ , srcInfoPoints = []+ }+ "Foo")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 14 76 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8+ , srcInfoPoints = []+ }+ "Foo")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20+ , srcInfoPoints = []+ }+ "Bool")))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 6 80 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 32 80 37+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 16+ , srcInfoPoints = []+ }+ "Bar"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 17 80 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 17 80 18+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 19 80 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 19 80 20 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 21 80 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 21 80 22+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 23 80 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 23 80 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 27 80 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 25 80 26+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 30 80 31+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 14 81 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8+ , srcInfoPoints = []+ }+ "Bar")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 14 82 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8+ , srcInfoPoints = []+ }+ "Bar")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 14 83 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8+ , srcInfoPoints = []+ }+ "Bar")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20+ , srcInfoPoints = []+ }+ "Char")))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 3 88 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 14 88 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 13+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 11+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 9+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7+ , srcInfoPoints = []+ }+ "F")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 8 88 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 8 88 9+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 10 88 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 10 88 11+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 12 88 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 12 88 13+ , srcInfoPoints = []+ }+ "c")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18+ , srcInfoPoints = []+ }+ "F")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 19 88 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 19 88 20+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 21 88 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 21 88 22+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 23 88 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 23 88 24+ , srcInfoPoints = []+ }+ "c"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 8+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 2+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 3 89 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 3 89 4+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 5 89 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 5 89 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 6 92 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 5+ , srcInfoPoints = []+ }+ "fapp"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 5+ , srcInfoPoints = []+ }+ "fapp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 6 93 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 6 93 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9+ , srcInfoPoints = []+ }+ "f")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 4 96 6 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 3+ , srcInfoPoints = []+ }+ "fc"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 21 96 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 20+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14+ , srcInfoPoints = []+ }+ "FClosed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 15 96 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 15 96 16+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 17 96 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 17 96 18+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 19 96 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 19 96 20+ , srcInfoPoints = []+ }+ "c")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 35+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31+ , srcInfoPoints = []+ }+ "FClosed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 32 96 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 32 96 33+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 34 96 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 34 96 35+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 36 96 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 36 96 37+ , srcInfoPoints = []+ }+ "c"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 9+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 3+ , srcInfoPoints = []+ }+ "fc")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 4 97 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 4 97 5+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 6 97 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 6 97 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 7 99 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 6+ , srcInfoPoints = []+ }+ "fcapp"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 6+ , srcInfoPoints = []+ }+ "fcapp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 7 100 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 7 100 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11+ , srcInfoPoints = []+ }+ "fc")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 3 103 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 2+ , srcInfoPoints = []+ }+ "i"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 16 103 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 15+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 11+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 9+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7+ , srcInfoPoints = []+ }+ "I")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 8 103 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 8 103 9+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 10 103 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 10 103 11+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15+ , srcInfoPoints = []+ }+ "Int"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20+ , srcInfoPoints = []+ }+ "I")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 21 103 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 21 103 22+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 23 103 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 23 103 24+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 8+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 2+ , srcInfoPoints = []+ }+ "i")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 3 104 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 3 104 4+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 5 104 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 5 104 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 6 107 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 5+ , srcInfoPoints = []+ }+ "iapp"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 5+ , srcInfoPoints = []+ }+ "iapp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 6 108 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 6 108 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9+ , srcInfoPoints = []+ }+ "i")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 4 111 6 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 3+ , srcInfoPoints = []+ }+ "ic"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 23 111 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14+ , srcInfoPoints = []+ }+ "IClosed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 15 111 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 15 111 16+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 17 111 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 17 111 18+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22+ , srcInfoPoints = []+ }+ "Int"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33+ , srcInfoPoints = []+ }+ "IClosed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 34 111 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 34 111 35+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 36 111 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 36 111 37+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 9+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 3+ , srcInfoPoints = []+ }+ "ic")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 4 112 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 4 112 5+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 6 112 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 6 112 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 7 114 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 6+ , srcInfoPoints = []+ }+ "icapp"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 6+ , srcInfoPoints = []+ }+ "icapp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 7 115 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 7 115 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11+ , srcInfoPoints = []+ }+ "ic")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 5 118 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 4+ , srcInfoPoints = []+ }+ "bak"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 14 118 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11+ , srcInfoPoints = []+ }+ "Bak")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 12 118 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 12 118 13+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20+ , srcInfoPoints = []+ }+ "Bak")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 21 118 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 21 118 22+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 4+ , srcInfoPoints = []+ }+ "bak")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 5 119 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 5 119 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 7 119 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 7 119 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 9 121 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 8+ , srcInfoPoints = []+ }+ "bakapp1"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16+ , srcInfoPoints = []+ }+ "Char")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 8+ , srcInfoPoints = []+ }+ "bakapp1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 9 122 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 9 122 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14+ , srcInfoPoints = []+ }+ "bak")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 15 122 18+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 15 122 18+ , srcInfoPoints = []+ }+ 'c'+ "c"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 9 124 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 8+ , srcInfoPoints = []+ }+ "bakapp2"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18+ , srcInfoPoints = []+ }+ "Double")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 8+ , srcInfoPoints = []+ }+ "bakapp2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 9 125 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 9 125 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14+ , srcInfoPoints = []+ }+ "bak")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 15 125 18+ , srcInfoPoints = []+ }+ (Frac+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 15 125 18+ , srcInfoPoints = []+ }+ (1 % 1)+ "1.0"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 9 127 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 8+ , srcInfoPoints = []+ }+ "bakapp3"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14+ ]+ })))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 8+ , srcInfoPoints = []+ }+ "bakapp3"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 9 128 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 9 128 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14+ , srcInfoPoints = []+ }+ "bak")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17+ ]+ })))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 5 130 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 14 130 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 12 130 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 12 130 13+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 21 130 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 21 130 22+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 5 131 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 5 131 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 7 131 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 7 131 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 9 133 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 8+ , srcInfoPoints = []+ }+ "fooapp1"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 8+ , srcInfoPoints = []+ }+ "fooapp1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 9 134 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 9 134 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14+ , srcInfoPoints = []+ }+ "foo")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 5 136 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 4+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 14 136 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11+ , srcInfoPoints = []+ }+ "Bar")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 12 136 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 12 136 13+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20+ , srcInfoPoints = []+ }+ "Bar")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 21 136 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 21 136 22+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 4+ , srcInfoPoints = []+ }+ "bar")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 5 137 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 5 137 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 7 137 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 7 137 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 9 139 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 8+ , srcInfoPoints = []+ }+ "barapp1"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 8+ , srcInfoPoints = []+ }+ "barapp1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 9 140 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 9 140 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14+ , srcInfoPoints = []+ }+ "bar")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 9 142 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 8+ , srcInfoPoints = []+ }+ "barapp2"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15+ , srcInfoPoints = []+ }+ "Int")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 8+ , srcInfoPoints = []+ }+ "barapp2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 9 143 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 9 143 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14+ , srcInfoPoints = []+ }+ "bar")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 15 143 16+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 15 143 16+ , srcInfoPoints = []+ }+ 1+ "1"))))+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 6 148 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 18+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 14+ , srcInfoPoints = []+ }+ "H"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 15 148 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 15 148 16+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 17 148 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 17 148 18+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 19 148 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 19 148 20 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 21 148 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 21 148 22+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 23 148 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 23 148 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 27 148 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 25 148 26+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 30 148 31+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 32 148 33+ , srcInfoPoints = []+ }+ "a"+ ]))+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 6 149 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 35 149 40+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 15+ , srcInfoPoints = []+ }+ "Hc"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 16 149 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 16 149 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 18 149 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 18 149 19+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 20 149 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 20 149 21 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 22 149 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 22 149 23+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 24 149 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 24 149 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 28 149 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 26 149 27+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 31 149 32+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 33 149 34+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 10 150 11 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 9+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 7+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5+ , srcInfoPoints = []+ }+ "Hc")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 6 150 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 6 150 7+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 8 150 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 8 150 9+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 15+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 13+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 14 150 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 14 150 15+ , srcInfoPoints = []+ }+ "b")))+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 152 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 151 6+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 15 151 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 3+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 10+ , srcInfoPoints = []+ }+ "Hcl"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 11 151 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 11 151 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 13 151 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 13 151 14+ , srcInfoPoints = []+ }+ "b")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 10+ , srcInfoPoints = []+ }+ "Ht"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 11 152 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 11 152 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 13 152 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 13 152 14+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 15 152 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 15 152 16 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 17 152 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 17 152 18+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 19 152 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 19 152 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 23 152 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 21 152 22+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 26 152 27+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 28 152 29+ , srcInfoPoints = []+ }+ "a"+ ]))+ ])+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 6 156 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 15+ , srcInfoPoints = []+ }+ "Jx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 16 156 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 16 156 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 18 156 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 18 156 19+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 20 156 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 20 156 21 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 22 156 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 22 156 23+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 24 156 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 24 156 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 28 156 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 26 156 27+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 31 156 32+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 33 156 34+ , srcInfoPoints = []+ }+ "a"+ ]))+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 6 157 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 36 157 41+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 20+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 16+ , srcInfoPoints = []+ }+ "Jcx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 17 157 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 17 157 18+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 19 157 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 19 157 20+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 21 157 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 21 157 22 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 23 157 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 23 157 24+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 25 157 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 25 157 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 29 157 31+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 27 157 28+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 32 157 33+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 34 157 35+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 11 158 12 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 10+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 8+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6+ , srcInfoPoints = []+ }+ "Jcx")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 7 158 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 7 158 8+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 9 158 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 9 158 10+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 16+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 14+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 15 158 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 15 158 16+ , srcInfoPoints = []+ }+ "b")))+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 160 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 159 6+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 15 159 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 3+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 10+ , srcInfoPoints = []+ }+ "Jcl"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 11 159 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 11 159 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 13 159 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 13 159 14+ , srcInfoPoints = []+ }+ "b")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 10+ , srcInfoPoints = []+ }+ "Jt"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 11 160 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 11 160 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 13 160 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 13 160 14+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 15 160 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 15 160 16 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 17 160 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 17 160 18+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 19 160 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 19 160 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 23 160 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 21 160 22+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 26 160 27+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 28 160 29+ , srcInfoPoints = []+ }+ "a"+ ]))+ ])+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 6 162 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ "Kx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 16 162 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 16 162 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 18 162 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 18 162 19+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 20 162 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 20 162 21 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 22 162 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 22 162 23+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 24 162 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 24 162 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 28 162 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 26 162 27+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 31 162 32+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 33 162 34+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 35 162 36+ , srcInfoPoints = []+ }+ "b"+ ]))+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 6 163 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 38 163 43+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 20+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 16+ , srcInfoPoints = []+ }+ "Kcx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 17 163 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 17 163 18+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 19 163 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 19 163 20+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 21 163 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 21 163 22 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 23 163 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 23 163 24+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 25 163 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 25 163 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 29 163 31+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 27 163 28+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 32 163 33+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 34 163 35+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 36 163 37+ , srcInfoPoints = []+ }+ "b"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 11 164 12 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 10+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 8+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6+ , srcInfoPoints = []+ }+ "Kcx")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 7 164 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 7 164 8+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 9 164 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 9 164 10+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 16+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 14+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 15 164 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 15 164 16+ , srcInfoPoints = []+ }+ "b")))+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 166 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 165 6+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 15 165 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 3+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 10+ , srcInfoPoints = []+ }+ "Kcl"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 11 165 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 11 165 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 13 165 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 13 165 14+ , srcInfoPoints = []+ }+ "b")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 10+ , srcInfoPoints = []+ }+ "Kt"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 11 166 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 11 166 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 13 166 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 13 166 14+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 15 166 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 15 166 16 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 17 166 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 17 166 18+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 19 166 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 19 166 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 23 166 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 21 166 22+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 26 166 27+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 28 166 29+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 30 166 31+ , srcInfoPoints = []+ }+ "b"+ ]))+ ])+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 6 170 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 47 170 52+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 14+ , srcInfoPoints = []+ }+ "L"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 15 170 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 15 170 16+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 18 170 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 23 170 24+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 16 170 17+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23+ , srcInfoPoints = []+ }+ "k1"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 25 170 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 25 170 26 ]+ }+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 27 170 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 27 170 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 30 170 32+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 35 170 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 28 170 29+ , srcInfoPoints = []+ }+ "r")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35+ , srcInfoPoints = []+ }+ "k2")))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 37 170 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 37 170 38+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 41 170 43+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 39 170 40+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 44 170 46+ , srcInfoPoints = []+ }+ "k1"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 14 171 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6+ , srcInfoPoints = []+ }+ "L")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 8 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 8 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 8 171 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 8 171 12+ , srcInfoPoints = []+ }+ "True")))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 14 172 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6+ , srcInfoPoints = []+ }+ "L")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 8 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 8 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 8 172 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 8 172 13+ , srcInfoPoints = []+ }+ "False")))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 14 173 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6+ , srcInfoPoints = []+ }+ "L")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12+ , srcInfoPoints = []+ }+ "Maybe"))))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 16 173 17+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 16 173 17+ , srcInfoPoints = []+ }+ 3+ "3"))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 14 174 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 9+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6+ , srcInfoPoints = []+ }+ "L")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9+ , srcInfoPoints = []+ }+ "IO"))))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 16 174 17+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 16 174 17+ , srcInfoPoints = []+ }+ 3+ "3"))+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 22 176 23 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 21+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 12+ , srcInfoPoints = []+ }+ "KProxy"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 13 176 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 13 176 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 16 176 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 20 176 21+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 14 176 15+ , srcInfoPoints = []+ }+ "a")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 19 176 20+ , srcInfoPoints = []+ })))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30+ , srcInfoPoints = []+ }+ "KProxy")+ [])+ ]+ []+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 6 177 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 36+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 15+ , srcInfoPoints = []+ }+ "KP"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 16 177 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 16 177 17+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 24 177 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 35 177 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 17 177 23+ , srcInfoPoints = []+ }+ "kproxy")+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33+ , srcInfoPoints = []+ }+ "KProxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35+ , srcInfoPoints = []+ }+ "k")))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 37 177 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 37 177 38 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 39 177 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 39 177 40+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 41 177 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 41 177 42+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 45 177 47+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 43 177 44+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 48 177 49+ , srcInfoPoints = []+ }+ "k"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 6 178 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 43 178 44+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17+ , srcInfoPoints = []+ }+ "KP")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 18 178 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 18 178 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 27 178 29+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 41 178 42+ ]+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 20 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 20 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 20 178 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 20 178 26+ , srcInfoPoints = []+ }+ "KProxy"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36+ , srcInfoPoints = []+ }+ "KProxy")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41+ , srcInfoPoints = []+ }+ "Bool"))))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48+ , srcInfoPoints = []+ }+ "Int")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 6 179 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 43 179 44+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17+ , srcInfoPoints = []+ }+ "KP")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 18 179 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 18 179 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 27 179 29+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 38 179 39+ ]+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 20 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 20 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ "KProxy"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36+ , srcInfoPoints = []+ }+ "KProxy")))+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 37 179 38+ , srcInfoPoints = []+ }))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49+ , srcInfoPoints = []+ }+ "Char")))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 11 181 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 10+ , srcInfoPoints = []+ }+ "kproxy_id"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 39 181 41 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16+ , srcInfoPoints = []+ }+ "KP")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 17 181 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 17 181 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 26 181 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 37 181 38+ ]+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 19 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 19 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 19 181 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 19 181 25+ , srcInfoPoints = []+ }+ "KProxy"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35+ , srcInfoPoints = []+ }+ "KProxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37+ , srcInfoPoints = []+ }+ "k")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 66+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44+ , srcInfoPoints = []+ }+ "KP")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 45 181 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 45 181 46+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 54 181 56+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 65 181 66+ ]+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 47 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 47 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 47 181 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 47 181 53+ , srcInfoPoints = []+ }+ "KProxy"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 65+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63+ , srcInfoPoints = []+ }+ "KProxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65+ , srcInfoPoints = []+ }+ "k"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 10+ , srcInfoPoints = []+ }+ "kproxy_id")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 11 182 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 11 182 12+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 13 182 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 13 182 14 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 30+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 14+ , srcInfoPoints = []+ }+ "kproxy_id_use"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 15 184 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 15 184 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26+ , srcInfoPoints = []+ }+ "kproxy_id")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 27 184 30+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 27 184 30+ , srcInfoPoints = []+ }+ 'a'+ "a"))))+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 6 188 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 15+ , srcInfoPoints = []+ }+ "Gx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 16 188 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 16 188 17+ , srcInfoPoints = []+ }+ "a")))+ Nothing+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 6 189 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 15+ , srcInfoPoints = []+ }+ "Hx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 16 189 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 16 189 17+ , srcInfoPoints = []+ }+ "a")))+ Nothing+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 6 190 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 15+ , srcInfoPoints = []+ }+ "Gi"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 16 190 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 16 190 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 18 190 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 18 190 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 20 190 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 20 190 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 22 190 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 22 190 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 26 190 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 24 190 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 29 190 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 6 191 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 22 191 23+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17+ , srcInfoPoints = []+ }+ "Gi")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28+ , srcInfoPoints = []+ }+ "Char")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 6 192 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 15+ , srcInfoPoints = []+ }+ "Hi"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 16 192 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 16 192 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 18 192 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 18 192 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 20 192 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 20 192 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 22 192 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 22 192 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 26 192 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 24 192 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 29 192 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 6 194 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 15+ , srcInfoPoints = []+ }+ "F2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 16 194 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 16 194 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 18 194 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 18 194 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 20 194 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 20 194 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 22 194 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 22 194 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 26 194 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 24 194 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 29 194 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 6 195 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 28 195 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17+ , srcInfoPoints = []+ }+ "F2")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 18 195 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 18 195 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 20 195 21+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 19 195 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 19 195 20+ , srcInfoPoints = []+ }+ "a"))))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 30 195 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 30 195 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 35 195 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33+ , srcInfoPoints = []+ }+ "Gi")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 34 195 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 34 195 35+ , srcInfoPoints = []+ }+ "a"))))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 6 196 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 28 196 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17+ , srcInfoPoints = []+ }+ "F2")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 18 196 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 18 196 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 26 196 27+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 25 196 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 25 196 26+ , srcInfoPoints = []+ }+ "a")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 35 196 37 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32+ , srcInfoPoints = []+ }+ "Hi")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 33 196 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 33 196 34+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41+ , srcInfoPoints = []+ }+ "Int"))))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 6 198 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 15+ , srcInfoPoints = []+ }+ "F4"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 16 198 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 16 198 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 18 198 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 18 198 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 20 198 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 20 198 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 22 198 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 22 198 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 26 198 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 24 198 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 29 198 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 6 199 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 28 199 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17+ , srcInfoPoints = []+ }+ "F4")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 18 199 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 18 199 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 20 199 21+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 19 199 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 19 199 20+ , srcInfoPoints = []+ }+ "a"))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 30 199 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 30 199 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 35 199 36+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 38 199 39+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 43 199 44+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 49 199 50+ ]+ }+ Boxed+ [ TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33+ , srcInfoPoints = []+ }+ "Gx")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 34 199 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 34 199 35+ , srcInfoPoints = []+ }+ "a"))+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 37 199 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 37 199 38+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 42 199 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 42 199 43+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 48 199 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 48 199 49+ , srcInfoPoints = []+ }+ "a")+ ])+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 6 200 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 28 200 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17+ , srcInfoPoints = []+ }+ "F4")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 18 200 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 18 200 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 26 200 27+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 25 200 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 25 200 26+ , srcInfoPoints = []+ }+ "a")))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 30 200 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 30 200 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 35 200 36+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 38 200 39+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 43 200 44+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 49 200 50+ ]+ }+ Boxed+ [ TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33+ , srcInfoPoints = []+ }+ "Hx")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 34 200 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 34 200 35+ , srcInfoPoints = []+ }+ "a"))+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 37 200 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 37 200 38+ , srcInfoPoints = []+ }+ "a")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49+ , srcInfoPoints = []+ }+ "Bool"))+ ])+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 6 202 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 15+ , srcInfoPoints = []+ }+ "G2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 16 202 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 16 202 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 18 202 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 18 202 19+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 20 202 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 20 202 21 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 22 202 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 22 202 23+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 24 202 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 24 202 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 28 202 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 26 202 27+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 31 202 32+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 33 202 34+ , srcInfoPoints = []+ }+ "b"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 6 203 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 28 203 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17+ , srcInfoPoints = []+ }+ "G2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 18 203 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 18 203 19+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 30 203 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 30 203 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 32 203 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 35 203 36+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 31 203 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 31 203 32+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 34 203 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 34 203 35+ , srcInfoPoints = []+ }+ "a")+ ])+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 6 204 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 28 204 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17+ , srcInfoPoints = []+ }+ "G2")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 23 204 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 23 204 24+ , srcInfoPoints = []+ }+ "b")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 30 204 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 30 204 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 32 204 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 38 204 39+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 31 204 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 31 204 32+ , srcInfoPoints = []+ }+ "b")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38+ , srcInfoPoints = []+ }+ "Bool"))+ ])+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 6 206 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 15+ , srcInfoPoints = []+ }+ "G6"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 16 206 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 16 206 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 18 206 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 18 206 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 20 206 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 20 206 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 22 206 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 22 206 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 26 206 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 24 206 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 29 206 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 6 207 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 23 207 24+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17+ , srcInfoPoints = []+ }+ "G6")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 18 207 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 18 207 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 20 207 21+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 19 207 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 19 207 20+ , srcInfoPoints = []+ }+ "a"))))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 25 207 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 25 207 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 30 207 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28+ , srcInfoPoints = []+ }+ "Gi")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 29 207 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 29 207 30+ , srcInfoPoints = []+ }+ "a"))))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 6 208 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 23 208 24+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17+ , srcInfoPoints = []+ }+ "G6")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28+ , srcInfoPoints = []+ }+ "Int")))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 7 210 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 6+ , srcInfoPoints = []+ }+ "g6_id"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 15 210 17 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12+ , srcInfoPoints = []+ }+ "G6")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 13 210 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 13 210 14+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20+ , srcInfoPoints = []+ }+ "G6")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 21 210 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 21 210 22+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 12+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 6+ , srcInfoPoints = []+ }+ "g6_id")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 7 211 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 7 211 8+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 9 211 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 9 211 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 8 213 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 7+ , srcInfoPoints = []+ }+ "g6_use"+ ]+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 11 213 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 11 213 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 16 213 17+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16+ , srcInfoPoints = []+ }+ "Char"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 7+ , srcInfoPoints = []+ }+ "g6_use"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 8 214 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 8 214 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15+ , srcInfoPoints = []+ }+ "g6_id")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 16 214 21+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 16 214 21+ , srcInfoPoints = []+ }+ "foo"+ "foo"))))+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 6 217 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 15+ , srcInfoPoints = []+ }+ "Id"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 16 217 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 16 217 17+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 19 217 21+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 23 217 24+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 17 217 18+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23+ , srcInfoPoints = []+ }+ "k"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 25 217 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 25 217 26 ]+ }+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 27 217 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 27 217 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 35 217 37+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 39 217 40+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 28 217 34+ , srcInfoPoints = []+ }+ "result")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39+ , srcInfoPoints = []+ }+ "k")))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 41 217 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 41 217 42+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 50 217 52+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 43 217 49+ , srcInfoPoints = []+ }+ "result")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 53 217 54+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 6 218 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 20 218 21+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17+ , srcInfoPoints = []+ }+ "Id")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 18 218 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 18 218 19+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 22 218 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 22 218 23+ , srcInfoPoints = []+ }+ "a"))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 6 222 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 31+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 29+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 20+ , srcInfoPoints = []+ }+ "IdProxy"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 21 222 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 21 222 22+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 24 222 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 28 222 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 22 222 23+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28+ , srcInfoPoints = []+ }+ "k"))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 30 222 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 30 222 31+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 32 222 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 32 222 33 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 34 222 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 34 222 35+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 36 222 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 36 222 37+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 40 222 42+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 38 222 39+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 43 222 44+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 6 223 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 27 223 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22+ , srcInfoPoints = []+ }+ "IdProxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 23 223 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 23 223 24+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 25 223 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 25 223 26+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 37+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 30+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 34 223 35+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32+ , srcInfoPoints = []+ }+ "Id")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 33 223 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 33 223 34+ , srcInfoPoints = []+ }+ "a"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 36 223 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 36 223 37+ , srcInfoPoints = []+ }+ "b")))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 14 226 15+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 11+ , srcInfoPoints = []+ }+ "IdSyn"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 12 226 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 12 226 13+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18+ , srcInfoPoints = []+ }+ "Id")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 19 226 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 19 226 20+ , srcInfoPoints = []+ }+ "a")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 6 227 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 34+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 32+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 23+ , srcInfoPoints = []+ }+ "IdProxySyn"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 24 227 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 24 227 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 27 227 29+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 31 227 32+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 25 227 26+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31+ , srcInfoPoints = []+ }+ "k"))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 33 227 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 33 227 34+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 35 227 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 35 227 36 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 37 227 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 37 227 38+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 39 227 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 39 227 40+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 43 227 45+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 41 227 42+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 46 227 47+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 6 228 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 30 228 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25+ , srcInfoPoints = []+ }+ "IdProxySyn")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 26 228 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 26 228 27+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 28 228 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 28 228 29+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 43+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 40 228 41+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38+ , srcInfoPoints = []+ }+ "IdSyn")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 39 228 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 39 228 40+ , srcInfoPoints = []+ }+ "a"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 42 228 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 42 228 43+ , srcInfoPoints = []+ }+ "b")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 6 232 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 33+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 15+ , srcInfoPoints = []+ }+ "Fa"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 16 232 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 16 232 17+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 19 232 21+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 23 232 24+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 17 232 18+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23+ , srcInfoPoints = []+ }+ "k"))))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 25 232 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 25 232 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 28 232 30+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 32 232 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 26 232 27+ , srcInfoPoints = []+ }+ "b")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32+ , srcInfoPoints = []+ }+ "k"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 34 232 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 34 232 35 ]+ }+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 36 232 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 36 232 37+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 39 232 41+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 44 232 45+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 37 232 38+ , srcInfoPoints = []+ }+ "r")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44+ , srcInfoPoints = []+ }+ "k2")))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 46 232 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 46 232 47+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 50 232 52+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 48 232 49+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 53 232 54+ , srcInfoPoints = []+ }+ "k"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 6 233 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 22 233 23+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 21+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17+ , srcInfoPoints = []+ }+ "Fa")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 18 233 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 18 233 19+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 20 233 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 20 233 21+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 24 233 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 24 233 25+ , srcInfoPoints = []+ }+ "a"))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 6 236 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 51+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 42+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 33+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 16+ , srcInfoPoints = []+ }+ "Arr"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 17 236 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 17 236 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 23 236 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 32 236 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 18 236 22+ , srcInfoPoints = []+ }+ "repr")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 28 236 30 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 27+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 31 236 32+ , srcInfoPoints = []+ }))))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 34 236 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 34 236 35+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 37 236 39+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 41 236 42+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 35 236 36+ , srcInfoPoints = []+ }+ "a")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 40 236 41+ , srcInfoPoints = []+ })))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 43 236 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 43 236 44+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 46 236 48+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 50 236 51+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 44 236 45+ , srcInfoPoints = []+ }+ "b")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 49 236 50+ , srcInfoPoints = []+ })))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 52 236 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 52 236 53 ]+ }+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 54 236 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 54 236 55+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 57 236 59+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 61 236 62+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 55 236 56+ , srcInfoPoints = []+ }+ "r")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 60 236 61+ , srcInfoPoints = []+ }))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 63 236 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 63 236 64+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 67 236 69+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 65 236 66+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 70 236 74+ , srcInfoPoints = []+ }+ "repr"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 75 236 76+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 77 236 78+ , srcInfoPoints = []+ }+ "b"+ ]))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 243 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 238 6+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 23 238 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 17+ , srcInfoPoints = []+ }+ "ESymantics"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 18 238 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 18 238 22+ , srcInfoPoints = []+ }+ "repr")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 9 239 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 9 239 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 8+ , srcInfoPoints = []+ }+ "int"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 17 239 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15+ , srcInfoPoints = []+ }+ "Int")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 28+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 24+ , srcInfoPoints = []+ }+ "repr"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28+ , srcInfoPoints = []+ }+ "Int"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 9 240 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 9 240 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 8+ , srcInfoPoints = []+ }+ "add"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 22 240 24 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 20+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 16+ , srcInfoPoints = []+ }+ "repr"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20+ , srcInfoPoints = []+ }+ "Int"))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 34 240 36 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 33+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 29+ , srcInfoPoints = []+ }+ "repr"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 30 240 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 30 240 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 240+ 30+ 240+ 33+ , srcInfoPoints = []+ }+ "Int"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 45+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 41+ , srcInfoPoints = []+ }+ "repr"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 42 240 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 42 240 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 240+ 42+ 240+ 45+ , srcInfoPoints = []+ }+ "Int")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 9 242 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 9 242 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 8+ , srcInfoPoints = []+ }+ "lam"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 31 242 33 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 29 242 30+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 20 242 22+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 19+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 13+ 242+ 17+ , srcInfoPoints = []+ }+ "repr"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 18 242 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 18+ 242+ 19+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 23 242 29+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 23 242 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 23+ 242+ 27+ , srcInfoPoints = []+ }+ "repr"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 28 242 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 28+ 242+ 29+ , srcInfoPoints = []+ }+ "b")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 53+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 38+ , srcInfoPoints = []+ }+ "repr"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 39 242 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 39 242 40+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 52 242 53+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 40 242 52+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 40 242 50+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 40+ 242+ 48+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 40+ 242+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 40+ 242+ 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 40+ 242+ 43+ , srcInfoPoints = []+ }+ "Arr")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 44+ 242+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 44+ 242+ 48+ , srcInfoPoints = []+ }+ "repr")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 49+ 242+ 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 49+ 242+ 50+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 51 242 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 51+ 242+ 52+ , srcInfoPoints = []+ }+ "b")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 9 243 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 9 243 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 8+ , srcInfoPoints = []+ }+ "app"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 32 243 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 16+ , srcInfoPoints = []+ }+ "repr"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 17 243 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 17 243 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 30 243 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 18 243 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 18 243 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 18+ 243+ 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 18+ 243+ 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 18+ 243+ 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 18+ 243+ 21+ , srcInfoPoints = []+ }+ "Arr")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 22+ 243+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 22+ 243+ 26+ , srcInfoPoints = []+ }+ "repr")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 27+ 243+ 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 27+ 243+ 28+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 29 243 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 29+ 243+ 30+ , srcInfoPoints = []+ }+ "b")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 42 243 44 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 41+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 39+ , srcInfoPoints = []+ }+ "repr"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 40 243 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 40 243 41+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 51+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 49+ , srcInfoPoints = []+ }+ "repr"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 50 243 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 50 243 51+ , srcInfoPoints = []+ }+ "b"))))))+ ])+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 246 63+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 4+ , srcInfoPoints = []+ }+ "te4"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 5 246 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 5 245 6 ]+ }+ (Let+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 7 246 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 7 245 10+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 7 246 9+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 11+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 7 246 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 69+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 13+ , srcInfoPoints = []+ }+ "c3"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 14 245 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 14 245 15 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 69+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 16+ 245+ 19+ , srcInfoPoints = []+ }+ "lam")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 20 245 69+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 20 245 21+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 68 245 69+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 21 245 68+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 21 245 22+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 24 245 26+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 22+ 245+ 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 22+ 245+ 23+ , srcInfoPoints = []+ }+ "f")+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 27+ 245+ 68+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 27+ 245+ 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 27+ 245+ 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 27+ 245+ 30+ , srcInfoPoints = []+ }+ "lam")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 31+ 245+ 68+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 31+ 245+ 32+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 67+ 245+ 68+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 32+ 245+ 67+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 32+ 245+ 33+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 35+ 245+ 37+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 33+ 245+ 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 33+ 245+ 34+ , srcInfoPoints = []+ }+ "x")+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 38+ 245+ 67+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 38+ 245+ 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 38+ 245+ 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 38+ 245+ 39+ , srcInfoPoints = []+ }+ "f")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 40+ 245+ 45+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 40+ 245+ 41+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 41+ 245+ 44+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 44+ 245+ 45+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 40+ 245+ 45+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 40+ 245+ 41+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 41+ 245+ 44+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 44+ 245+ 45+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 41+ 245+ 44+ , srcInfoPoints = []+ }+ "app")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 46+ 245+ 67+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 46+ 245+ 47+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 66+ 245+ 67+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 47+ 245+ 66+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 47+ 245+ 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 47+ 245+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 47+ 245+ 48+ , srcInfoPoints = []+ }+ "f")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 49+ 245+ 54+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 49+ 245+ 50+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 50+ 245+ 53+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 53+ 245+ 54+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 49+ 245+ 54+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 49+ 245+ 50+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 50+ 245+ 53+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 53+ 245+ 54+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 50+ 245+ 53+ , srcInfoPoints = []+ }+ "app")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 55+ 245+ 66+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 55+ 245+ 56+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 65+ 245+ 66+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 56+ 245+ 65+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 56+ 245+ 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 56+ 245+ 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 56+ 245+ 57+ , srcInfoPoints = []+ }+ "f")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 58+ 245+ 63+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 58+ 245+ 59+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 59+ 245+ 62+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 62+ 245+ 63+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 58+ 245+ 63+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 58+ 245+ 59+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 59+ 245+ 62+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 62+ 245+ 63+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 59+ 245+ 62+ , srcInfoPoints = []+ }+ "app")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 64+ 245+ 65+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 64+ 245+ 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 64+ 245+ 65+ , srcInfoPoints = []+ }+ "x")))))))))))))))+ Nothing+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 63+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 11+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 48 246 49+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13+ , srcInfoPoints = []+ }+ "c3")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 15+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 18 246 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 19+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 15+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 18 246 19+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18+ , srcInfoPoints = []+ }+ "app")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 20 246 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 20 246 21+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 47 246 48+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 47+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 21+ 246+ 24+ , srcInfoPoints = []+ }+ "lam")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 25 246 47+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 25 246 26+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 46 246 47+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 26 246 46+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 26+ 246+ 27+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 29+ 246+ 31+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 27+ 246+ 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 27+ 246+ 28+ , srcInfoPoints = []+ }+ "x")+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 32+ 246+ 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 32+ 246+ 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 32+ 246+ 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 32+ 246+ 33+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 34+ 246+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 34+ 246+ 35+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 35+ 246+ 38+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 38+ 246+ 39+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 34+ 246+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 34+ 246+ 35+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 35+ 246+ 38+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 38+ 246+ 39+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 35+ 246+ 38+ , srcInfoPoints = []+ }+ "add")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 40+ 246+ 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 40+ 246+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 40+ 246+ 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 40+ 246+ 43+ , srcInfoPoints = []+ }+ "int")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 44+ 246+ 46+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 44+ 246+ 46+ , srcInfoPoints = []+ }+ 14+ "14"))))))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 51+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 54 246 55+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 51+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 54 246 55+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54+ , srcInfoPoints = []+ }+ "app")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 56 246 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 56 246 57+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 62 246 63+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 62+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60+ , srcInfoPoints = []+ }+ "int")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 61 246 62+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 61 246 62+ , srcInfoPoints = []+ }+ 0+ "0")))))))+ Nothing+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 252 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 249 6+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 19 249 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 16+ , srcInfoPoints = []+ }+ "Manifold'"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 17 249 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 17 249 18+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 9 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 14+ , srcInfoPoints = []+ }+ "Base"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 16 250 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 16 250 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 18 250 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 18 250 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 20 250 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 20 250 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 22 250 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 22 250 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 26 250 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 24 250 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 29 250 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 13 251 15 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 13 251 15 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 12+ , srcInfoPoints = []+ }+ "project"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 18 251 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 17+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25+ , srcInfoPoints = []+ }+ "Base")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 26 251 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 251 26 251 27+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 15 252 17 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 15 252 17 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 14+ , srcInfoPoints = []+ }+ "unproject"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 25 252 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22+ , srcInfoPoints = []+ }+ "Base")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 23 252 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 252 23 252 24+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 28 252 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 28 252 29+ , srcInfoPoints = []+ }+ "a"))))+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 5 254 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 4+ , srcInfoPoints = []+ }+ "id'"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 8 254 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 8 254 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 16 254 17+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 15 254 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 15 254 16+ , srcInfoPoints = []+ }+ "a")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 32 254 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 32 254 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+ , srcInfoPoints = []+ }+ "Manifold'")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31+ , srcInfoPoints = []+ }+ "a")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 44 254 46 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 43+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41+ , srcInfoPoints = []+ }+ "Base")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 42 254 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 42 254 43+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 53+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51+ , srcInfoPoints = []+ }+ "Base")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 52 254 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 52 254 53+ , srcInfoPoints = []+ }+ "a")))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 4+ , srcInfoPoints = []+ }+ "id'"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 5 255 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 5 255 6 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14+ , srcInfoPoints = []+ }+ "project")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26+ , srcInfoPoints = []+ }+ "unproject")))))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 15 12 43)+ " defines G, identical to F"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 27 1 27 81)+ " this is injective - a type variable introduced in the LHS is not mentioned on"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 28 1 28 56)+ " RHS but we don't claim injectivity in that argument."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 35 1 35 46)+ " make sure we look through type synonyms..."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 39 1 39 23)+ " .. but not newtypes"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 44 1 44 24)+ " Closed type families"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 46 1 46 80)+ " these are simple conversions from open type families. They should behave the"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 47 1 47 8)+ " same"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 64 1 64 72)+ " Here the last equation might return both Int and Char but we have to"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 65 1 65 61)+ " recognize that it is not possible due to equation overlap"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 71 1 71 81)+ " This is similar, except that the last equation contains concrete type. Since"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 72 1 72 56)+ " it is overlapped it should be dropped with a warning"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 78 1 78 78)+ " this one was tricky in the early implementation of injectivity. Now it is"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 79 1 79 69)+ " identical to the above but we still keep it as a regression test."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 85 1 85 79)+ " Now let's use declared type families. All the below definitions should work"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 87 1 87 61)+ " No ambiguity for any of the arguments - all are injective"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 91 1 91 55)+ " From 1st instance of F: a ~ Int, b ~ Char, c ~ Bool"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 95 1 95 31)+ " now the closed variant of F"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 102 1 102 65)+ " The last argument is not injective so it must be instantiated"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 106 1 106 45)+ " From 1st instance of I: a ~ Int, b ~ Char"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 110 1 110 30)+ " again, closed variant of I"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 117 1 117 51)+ " Now we have to test weird closed type families:"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 145 1 145 73)+ " Declarations below test more liberal RHSs of injectivity annotations:"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 146 1 146 79)+ " permiting variables to appear in different order than the one in which they"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 147 1 147 18)+ " were declared."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 154 1 154 79)+ " repeated tyvars in the RHS of injectivity annotation: no warnings or errors"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 155 1 155 59)+ " (consistent with behaviour for functional dependencies)"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 168 1 168 71)+ " Declaring kind injectivity. Here we only claim that knowing the RHS"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 169 1 169 45)+ " determines the LHS kind but not the type."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 186 1 186 74)+ " Now test some awkward cases from The Injectivity Paper. All should be"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 187 1 187 13)+ " accepted."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 216 1 216 56)+ " A sole exception to \"bare variables in the RHS\" rule"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 220 1 220 81)+ " This makes sure that over-saturated type family applications at the top-level"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 221 1 221 17)+ " are accepted."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 225 1 225 52)+ " make sure we look through type synonyms properly"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 230 1 230 80)+ " this has bare variable in the RHS but all LHS varaiables are also bare so it"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 231 1 231 22)+ " should be accepted"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 235 1 235 55)+ " Taken from #9587. This exposed a bug in the solver."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 248 1 248 40)+ " This used to fail during development"+ ]+ )
+ tests/examples/InjectiveTypeFamilies.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InjectiveTypeFamilies.hs.prettyprinter.golden view
@@ -0,0 +1,253 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE NoMonomorphismRestriction #-}+module T6018 where+import T6018a++type family F a b c = (result :: k) | result -> a b c++type instance F Int Char Bool = Bool++type instance F Char Bool Int = Int++type instance F Bool Int Char = Char++type instance G Bool Int Char = Char++type family I (a :: k) b (c :: k) = r | r -> a b++type instance I Int Char Bool = Bool++type instance I Int Char Int = Bool++type instance I Bool Int Int = Int++type family J a (b :: k) = r | r -> a++type instance J Int b = Char++type MaybeSyn a = Maybe a++newtype MaybeNew a = MaybeNew (Maybe a)++type family K a = r | r -> a++type instance K a = MaybeSyn a++type family M a = r | r -> a++type instance M (Maybe a) = MaybeSyn a++type instance M (MaybeNew a) = MaybeNew a++type family FClosed a b c = result | result -> a b c where+ FClosed Int Char Bool = Bool+ FClosed Char Bool Int = Int+ FClosed Bool Int Char = Char++type family IClosed (a :: *) (b :: *) (c :: *) = r | r -> a b where+ IClosed Int Char Bool = Bool+ IClosed Int Char Int = Bool+ IClosed Bool Int Int = Int++type family JClosed a (b :: k) = r | r -> a where+ JClosed Int b = Char++type family KClosed a = r | r -> a where+ KClosed a = MaybeSyn a++type family Bak a = r | r -> a where+ Bak Int = Char+ Bak Char = Int+ Bak a = a++type family Foo a = r | r -> a where+ Foo Int = Bool+ Foo Bool = Int+ Foo Bool = Bool++type family Bar a = r | r -> a where+ Bar Int = Bool+ Bar Bool = Int+ Bar Bool = Char++f :: F a b c -> F a b c+f x = x++fapp :: Bool+fapp = f True++fc :: FClosed a b c -> FClosed a b c+fc x = x++fcapp :: Bool+fcapp = fc True++i :: I a b Int -> I a b Int+i x = x++iapp :: Bool+iapp = i True++ic :: IClosed a b Int -> IClosed a b Int+ic x = x++icapp :: Bool+icapp = ic True++bak :: Bak a -> Bak a+bak x = x++bakapp1 :: Char+bakapp1 = bak 'c'++bakapp2 :: Double+bakapp2 = bak 1.0++bakapp3 :: ()+bakapp3 = bak ()++foo :: Foo a -> Foo a+foo x = x++fooapp1 :: Bool+fooapp1 = foo True++bar :: Bar a -> Bar a+bar x = x++barapp1 :: Bool+barapp1 = bar True++barapp2 :: Int+barapp2 = bar 1++type family H a b = r | r -> b a++type family Hc a b = r | r -> b a where+ Hc a b = a b++class Hcl a b where+ type Ht a b = r | r -> b a++type family Jx a b = r | r -> a a++type family Jcx a b = r | r -> a a where+ Jcx a b = a b++class Jcl a b where+ type Jt a b = r | r -> a a++type family Kx a b = r | r -> a b b++type family Kcx a b = r | r -> a b b where+ Kcx a b = a b++class Kcl a b where+ type Kt a b = r | r -> a b b++type family L (a :: k1) = (r :: k2) | r -> k1 where+ L 'True = Int+ L 'False = Int+ L Maybe = 3+ L IO = 3++data KProxy (a :: *) = KProxy++type family KP (kproxy :: KProxy k) = r | r -> k++type instance KP ('KProxy :: KProxy Bool) = Int++type instance KP ('KProxy :: KProxy *) = Char++kproxy_id :: KP ('KProxy :: KProxy k) -> KP ('KProxy :: KProxy k)+kproxy_id x = x+kproxy_id_use = kproxy_id 'a'++type family Gx a++type family Hx a++type family Gi a = r | r -> a++type instance Gi Int = Char++type family Hi a = r | r -> a++type family F2 a = r | r -> a++type instance F2 [a] = [Gi a]++type instance F2 (Maybe a) = Hi a -> Int++type family F4 a = r | r -> a++type instance F4 [a] = (Gx a, a, a, a)++type instance F4 (Maybe a) = (Hx a, a, Int, Bool)++type family G2 a b = r | r -> a b++type instance G2 a Bool = (a, a)++type instance G2 Bool b = (b, Bool)++type family G6 a = r | r -> a++type instance G6 [a] = [Gi a]++type instance G6 Bool = Int++g6_id :: G6 a -> G6 a+g6_id x = x++g6_use :: [Char]+g6_use = g6_id "foo"++type family Id (a :: k) = (result :: k) | result -> a++type instance Id a = a++type family IdProxy (a :: k) b = r | r -> a++type instance IdProxy a b = (Id a) b++type IdSyn a = Id a++type family IdProxySyn (a :: k) b = r | r -> a++type instance IdProxySyn a b = (IdSyn a) b++type family Fa (a :: k) (b :: k) = (r :: k2) | r -> k++type instance Fa a b = a++type family Arr (repr :: * -> *) (a :: *) (b :: *) = (r :: *)+ | r -> repr a b++class ESymantics repr where+ int :: Int -> repr Int+ + add :: repr Int -> repr Int -> repr Int+ + lam :: (repr a -> repr b) -> repr (Arr repr a b)+ + app :: repr (Arr repr a b) -> repr a -> repr b+te4+ = let c3 = lam (\ f -> lam (\ x -> f `app` (f `app` (f `app` x))))+ in (c3 `app` (lam (\ x -> x `add` int 14))) `app` (int 0)++class Manifold' a where+ type Base a = r | r -> a+ + project :: a -> Base a+ + unproject :: Base a -> a++id' :: forall a . (Manifold' a) => Base a -> Base a+id' = project . unproject
+ tests/examples/InlineConlike.hs view
@@ -0,0 +1,3 @@+{-# INLINE CONLIKE size #-}+size :: Int+size = 64
+ tests/examples/InlineConlike.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InlineConlike.hs.parser.golden view
@@ -0,0 +1,104 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InlineConlike.hs" 1 1 1 1+ , SrcSpan "tests/examples/InlineConlike.hs" 1 1 1 1+ , SrcSpan "tests/examples/InlineConlike.hs" 1 1 1 1+ , SrcSpan "tests/examples/InlineConlike.hs" 2 1 2 1+ , SrcSpan "tests/examples/InlineConlike.hs" 3 1 3 1+ , SrcSpan "tests/examples/InlineConlike.hs" 4 1 4 1+ , SrcSpan "tests/examples/InlineConlike.hs" 4 1 4 1+ ]+ }+ Nothing+ []+ []+ [ InlineConlikeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 1 1 1 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InlineConlike.hs" 1 1 1 19+ , SrcSpan "tests/examples/InlineConlike.hs" 1 25 1 28+ ]+ }+ Nothing+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 1 20 1 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 1 20 1 24+ , srcInfoPoints = []+ }+ "size"))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 2 1 2 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InlineConlike.hs" 2 6 2 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 2 1 2 5+ , srcInfoPoints = []+ }+ "size"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 2 9 2 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 2 9 2 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 2 9 2 12+ , srcInfoPoints = []+ }+ "Int")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 3 1 3 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ "size"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 3 6 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InlineConlike.hs" 3 6 3 7 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 3 8 3 10+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InlineConlike.hs" 3 8 3 10+ , srcInfoPoints = []+ }+ 64+ "64")))+ Nothing+ ]+ , []+ )
+ tests/examples/InlineConlike.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InlineConlike.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# INLINE CONLIKE size #-}++size :: Int+size = 64
+ tests/examples/InstanceSigs.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeFamilies #-}++instance SupportsDelta (Map k v) where+ type Delta (Map k v) = Map k v++ mkDelta :: Map k v -> Map k v -> Delta (Map k v)+ mkDelta = undefined
+ tests/examples/InstanceSigs.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InstanceSigs.hs.parser.golden view
@@ -0,0 +1,571 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 1 1 10 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 1 1 1 1+ , SrcSpan "tests/examples/InstanceSigs.hs" 2 1 2 1+ , SrcSpan "tests/examples/InstanceSigs.hs" 3 1 3 1+ , SrcSpan "tests/examples/InstanceSigs.hs" 5 1 5 1+ , SrcSpan "tests/examples/InstanceSigs.hs" 5 1 5 1+ , SrcSpan "tests/examples/InstanceSigs.hs" 5 1 5 1+ , SrcSpan "tests/examples/InstanceSigs.hs" 10 1 10 1+ , SrcSpan "tests/examples/InstanceSigs.hs" 10 1 10 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 1 1 1 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 1 1 1 13+ , SrcSpan "tests/examples/InstanceSigs.hs" 1 34 1 37+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 1 14 1 33+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 2 1 2 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 2 1 2 13+ , SrcSpan "tests/examples/InstanceSigs.hs" 2 27 2 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 2 14 2 26+ , srcInfoPoints = []+ }+ "InstanceSigs"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 3 1 3 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 3 1 3 13+ , SrcSpan "tests/examples/InstanceSigs.hs" 3 27 3 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 3 14 3 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ ]+ []+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 1 10 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 5 1 5 9+ , SrcSpan "tests/examples/InstanceSigs.hs" 5 34 5 39+ , SrcSpan "tests/examples/InstanceSigs.hs" 6 3 6 3+ , SrcSpan "tests/examples/InstanceSigs.hs" 8 3 8 3+ , SrcSpan "tests/examples/InstanceSigs.hs" 9 3 9 3+ , SrcSpan "tests/examples/InstanceSigs.hs" 10 1 10 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 10 5 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 10 5 33+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 10 5 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 10 5 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 10 5 23+ , srcInfoPoints = []+ }+ "SupportsDelta")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 24 5 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 5 24 5 25+ , SrcSpan "tests/examples/InstanceSigs.hs" 5 32 5 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 25 5 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 25 5 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 25 5 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 25 5 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 5 25 5 28+ , srcInfoPoints = []+ }+ "Map")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 29 5 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 29 5 30+ , srcInfoPoints = []+ }+ "k")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 31 5 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 5 31 5 32+ , srcInfoPoints = []+ }+ "v"))))))+ (Just+ [ InsType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 3 6 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 6 3 6 7+ , SrcSpan "tests/examples/InstanceSigs.hs" 6 24 6 25+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 8 6 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 8 6 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 8 6 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 8 6 13+ , srcInfoPoints = []+ }+ "Delta")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 14 6 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 6 14 6 15+ , SrcSpan "tests/examples/InstanceSigs.hs" 6 22 6 23+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 15 6 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 15 6 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 15 6 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 6 15 6 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 6 15 6 18+ , srcInfoPoints = []+ }+ "Map")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 19 6 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 6 19 6 20+ , srcInfoPoints = []+ }+ "k")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ "v")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 26 6 33+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 26 6 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 26 6 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 26 6 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 26 6 29+ , srcInfoPoints = []+ }+ "Map")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 30 6 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 30 6 31+ , srcInfoPoints = []+ }+ "k")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 32 6 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 6 32 6 33+ , srcInfoPoints = []+ }+ "v")))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 3 8 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 8 11 8 13 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 3 8 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 8 11 8 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 3 8 10+ , srcInfoPoints = []+ }+ "mkDelta"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 14 8 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 8 22 8 24 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 14 8 21+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 14 8 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 14 8 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 14 8 17+ , srcInfoPoints = []+ }+ "Map")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 18 8 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 18 8 19+ , srcInfoPoints = []+ }+ "k")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ "v")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 25 8 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 8 33 8 35 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 25 8 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 25 8 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 25 8 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 25 8 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 25 8 28+ , srcInfoPoints = []+ }+ "Map")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 29 8 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 29 8 30+ , srcInfoPoints = []+ }+ "k")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 31 8 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 31 8 32+ , srcInfoPoints = []+ }+ "v")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 36 8 51+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 36 8 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 36 8 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 36 8 41+ , srcInfoPoints = []+ }+ "Delta")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 8 42 8 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 8 42 8 43+ , SrcSpan "tests/examples/InstanceSigs.hs" 8 50 8 51+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 43 8 50+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 43 8 48+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 43 8 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 43 8 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InstanceSigs.hs" 8 43 8 46+ , srcInfoPoints = []+ }+ "Map")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 47 8 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 47 8 48+ , srcInfoPoints = []+ }+ "k")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 49 8 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InstanceSigs.hs" 8 49 8 50+ , srcInfoPoints = []+ }+ "v"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 9 3 9 22+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 9 3 9 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 9 3 9 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 9 3 9 10+ , srcInfoPoints = []+ }+ "mkDelta"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 9 11 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InstanceSigs.hs" 9 11 9 12 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 9 13 9 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 9 13 9 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InstanceSigs.hs" 9 13 9 22+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing)+ ])+ ]+ , []+ )
+ tests/examples/InstanceSigs.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InstanceSigs.hs.prettyprinter.golden view
@@ -0,0 +1,9 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeFamilies #-}++instance SupportsDelta (Map k v) where+ type Delta (Map k v) = Map k v+ + mkDelta :: Map k v -> Map k v -> Delta (Map k v)+ mkDelta = undefined
tests/examples/LambdaCase.hs.parser.golden view
@@ -1,1 +1,254 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 2, srcSpanStartColumn = 19, srcSpanEndLine = 2, srcSpanEndColumn = 24}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 18}, srcInfoPoints = []}) "LambdaCase") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 1, srcSpanStartColumn = 25, srcSpanEndLine = 1, srcSpanEndColumn = 28}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 24}, srcInfoPoints = []}) "LambdaCase"]] [] [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 4}, srcInfoPoints = []}) "foo")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 8, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 6}]}) (LCase (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 5, srcSpanStartColumn = 9, srcSpanEndLine = 5, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 0}]}) [Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 5, srcSpanStartColumn = 9, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 5, srcSpanStartColumn = 9, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 5, srcSpanStartColumn = 9, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 5, srcSpanStartColumn = 9, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) "Nothing")) []) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 5, srcSpanStartColumn = 17, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 5, srcSpanStartColumn = 17, srcSpanEndLine = 5, srcSpanEndColumn = 19}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 5, srcSpanStartColumn = 20, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 5, srcSpanStartColumn = 20, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 5, srcSpanStartColumn = 20, srcSpanEndLine = 5, srcSpanEndColumn = 22}, srcInfoPoints = []}) "e1")))) Nothing,Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) "Just")) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 14, srcSpanEndLine = 6, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 14, srcSpanEndLine = 6, srcSpanEndColumn = 16}, srcInfoPoints = []}) "e2")]) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 17, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 17, srcSpanEndLine = 6, srcSpanEndColumn = 19}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 20, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 20, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 6, srcSpanStartColumn = 20, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) "e2")))) Nothing])) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 30}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 4}, srcInfoPoints = []}) "bar")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 5, srcSpanEndLine = 8, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 5, srcSpanEndLine = 8, srcSpanEndColumn = 6}]}) (LCase (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 12, srcSpanEndLine = 8, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 17, srcSpanEndLine = 8, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 29, srcSpanEndLine = 8, srcSpanEndColumn = 30}]}) [Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 19, srcSpanEndLine = 8, srcSpanEndColumn = 28}, srcInfoPoints = []}) (PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 19, srcSpanEndLine = 8, srcSpanEndColumn = 20}, srcInfoPoints = []})) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 21, srcSpanEndLine = 8, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 21, srcSpanEndLine = 8, srcSpanEndColumn = 23}]}) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 24, srcSpanEndLine = 8, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 24, srcSpanEndLine = 8, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LambdaCase.hs", srcSpanStartLine = 8, srcSpanStartColumn = 24, srcSpanEndLine = 8, srcSpanEndColumn = 28}, srcInfoPoints = []}) "True")))) Nothing])) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LambdaCase.hs" 1 1 1 1+ , SrcSpan "tests/examples/LambdaCase.hs" 2 1 2 1+ , SrcSpan "tests/examples/LambdaCase.hs" 2 1 2 1+ , SrcSpan "tests/examples/LambdaCase.hs" 4 1 4 1+ , SrcSpan "tests/examples/LambdaCase.hs" 8 1 8 1+ , SrcSpan "tests/examples/LambdaCase.hs" 9 1 9 1+ , SrcSpan "tests/examples/LambdaCase.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 2 1 2 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LambdaCase.hs" 2 1 2 7+ , SrcSpan "tests/examples/LambdaCase.hs" 2 19 2 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 2 8 2 18+ , srcInfoPoints = []+ }+ "LambdaCase")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 1 1 1 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LambdaCase.hs" 1 1 1 13+ , SrcSpan "tests/examples/LambdaCase.hs" 1 25 1 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ "LambdaCase"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 4 1 6 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 4 5 6 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LambdaCase.hs" 4 5 4 6 ]+ }+ (LCase+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 4 7 6 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LambdaCase.hs" 4 7 4 8+ , SrcSpan "tests/examples/LambdaCase.hs" 4 8 4 12+ , SrcSpan "tests/examples/LambdaCase.hs" 5 9 5 9+ , SrcSpan "tests/examples/LambdaCase.hs" 6 9 6 9+ , SrcSpan "tests/examples/LambdaCase.hs" 8 1 8 0+ ]+ }+ [ Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 5 9 5 22+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 5 9 5 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 5 9 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 5 9 5 16+ , srcInfoPoints = []+ }+ "Nothing"))+ [])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 5 17 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LambdaCase.hs" 5 17 5 19 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 5 20 5 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 5 20 5 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 5 20 5 22+ , srcInfoPoints = []+ }+ "e1"))))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 6 9 6 22+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 6 9 6 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 6 9 6 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 6 9 6 13+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 6 14 6 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 6 14 6 16+ , srcInfoPoints = []+ }+ "e2")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 6 17 6 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LambdaCase.hs" 6 17 6 19 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 6 20 6 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 6 20 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 6 20 6 22+ , srcInfoPoints = []+ }+ "e2"))))+ Nothing+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 1 8 30+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ "bar"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 5 8 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LambdaCase.hs" 8 5 8 6 ]+ }+ (LCase+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 7 8 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LambdaCase.hs" 8 7 8 8+ , SrcSpan "tests/examples/LambdaCase.hs" 8 12 8 16+ , SrcSpan "tests/examples/LambdaCase.hs" 8 17 8 18+ , SrcSpan "tests/examples/LambdaCase.hs" 8 29 8 30+ ]+ }+ [ Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 19 8 28+ , srcInfoPoints = []+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 19 8 20+ , srcInfoPoints = []+ })+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 21 8 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LambdaCase.hs" 8 21 8 23 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 24 8 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 24 8 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LambdaCase.hs" 8 24 8 28+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ]))+ Nothing+ ]+ , []+ )
+ tests/examples/LanguagePragma.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE+RecordWildCards+ #-}+main = print "hello"
+ tests/examples/LanguagePragma.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/LanguagePragma.hs.parser.golden view
@@ -0,0 +1,92 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LanguagePragma.hs" 1 1 1 1+ , SrcSpan "tests/examples/LanguagePragma.hs" 4 1 4 1+ , SrcSpan "tests/examples/LanguagePragma.hs" 4 1 4 1+ , SrcSpan "tests/examples/LanguagePragma.hs" 4 1 4 1+ , SrcSpan "tests/examples/LanguagePragma.hs" 5 1 5 1+ , SrcSpan "tests/examples/LanguagePragma.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 1 1 3 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LanguagePragma.hs" 1 1 1 13+ , SrcSpan "tests/examples/LanguagePragma.hs" 3 2 3 5+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 2 1 2 16+ , srcInfoPoints = []+ }+ "RecordWildCards"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 4 1 4 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 4 1 4 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 4 1 4 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 4 6 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LanguagePragma.hs" 4 6 4 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 4 8 4 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 4 8 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 4 8 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/LanguagePragma.hs" 4 8 4 13+ , srcInfoPoints = []+ }+ "print")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/LanguagePragma.hs" 4 14 4 21+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/LanguagePragma.hs" 4 14 4 21+ , srcInfoPoints = []+ }+ "hello"+ "hello"))))+ Nothing+ ]+ , []+ )
+ tests/examples/LanguagePragma.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/LanguagePragma.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE RecordWildCards #-}+main = print "hello"
+ tests/examples/Lib.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE UnboxedSums, MagicHash #-}++module Lib (flip, getInt) where++import GHC.Exts+import Prelude (Int)++{-# NOINLINE flip #-}+flip :: (# Int | Int# #) -> (# Int# | Int #)+flip (# i | #) = (# | i #)+flip (# | i #) = (# i | #)++{-# NOINLINE getInt #-}+getInt :: (# Int# | Int #) -> Int+getInt (# i | #) = I# i+getInt (# | i #) = i+
+ tests/examples/Lib.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Lib.hs.parser.golden view
@@ -0,0 +1,672 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 1 18 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 1 1 1 1+ , SrcSpan "tests/examples/Lib.hs" 3 1 3 1+ , SrcSpan "tests/examples/Lib.hs" 3 1 3 1+ , SrcSpan "tests/examples/Lib.hs" 5 1 5 1+ , SrcSpan "tests/examples/Lib.hs" 6 1 6 1+ , SrcSpan "tests/examples/Lib.hs" 8 1 8 1+ , SrcSpan "tests/examples/Lib.hs" 9 1 9 1+ , SrcSpan "tests/examples/Lib.hs" 10 1 10 1+ , SrcSpan "tests/examples/Lib.hs" 11 1 11 1+ , SrcSpan "tests/examples/Lib.hs" 13 1 13 1+ , SrcSpan "tests/examples/Lib.hs" 14 1 14 1+ , SrcSpan "tests/examples/Lib.hs" 15 1 15 1+ , SrcSpan "tests/examples/Lib.hs" 16 1 16 1+ , SrcSpan "tests/examples/Lib.hs" 18 1 18 1+ , SrcSpan "tests/examples/Lib.hs" 18 1 18 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 1 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 3 1 3 7+ , SrcSpan "tests/examples/Lib.hs" 3 27 3 32+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 8 3 11+ , srcInfoPoints = []+ }+ "Lib")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 12 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 3 12 3 13+ , SrcSpan "tests/examples/Lib.hs" 3 17 3 18+ , SrcSpan "tests/examples/Lib.hs" 3 25 3 26+ ]+ }+ [ EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 13 3 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 13 3 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 13 3 17+ , srcInfoPoints = []+ }+ "flip"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 19 3 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 19 3 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 19 3 25+ , srcInfoPoints = []+ }+ "getInt"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 1 1 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 1 1 1 13+ , SrcSpan "tests/examples/Lib.hs" 1 25 1 26+ , SrcSpan "tests/examples/Lib.hs" 1 37 1 40+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "UnboxedSums"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 27 1 36+ , srcInfoPoints = []+ }+ "MagicHash"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 5 1 5 16+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 5 1 5 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 5 8 5 16+ , srcInfoPoints = []+ }+ "GHC.Exts"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 1 6 21+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 6 1 6 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 8 6 15+ , srcInfoPoints = []+ }+ "Prelude"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 16 6 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 6 16 6 17+ , SrcSpan "tests/examples/Lib.hs" 6 20 6 21+ ]+ }+ False+ [ IAbs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 17 6 20+ , srcInfoPoints = []+ }+ (NoNamespace+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 17 6 20+ , srcInfoPoints = []+ })+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 17 6 20+ , srcInfoPoints = []+ }+ "Int")+ ])+ }+ ]+ [ InlineSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 8 1 8 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 8 1 8 13+ , SrcSpan "tests/examples/Lib.hs" 8 19 8 22+ ]+ }+ False+ Nothing+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 8 14 8 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 8 14 8 18+ , srcInfoPoints = []+ }+ "flip"))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 1 9 45+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 9 6 9 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 1 9 5+ , srcInfoPoints = []+ }+ "flip"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 9 9 45+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 9 26 9 28 ]+ }+ (TyUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 9 9 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 9 9 9 11+ , SrcSpan "tests/examples/Lib.hs" 9 16 9 17+ , SrcSpan "tests/examples/Lib.hs" 9 23 9 25+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 12 9 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 12 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 12 9 15+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ "Int#"))+ ])+ (TyUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 29 9 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 9 29 9 31+ , SrcSpan "tests/examples/Lib.hs" 9 37 9 38+ , SrcSpan "tests/examples/Lib.hs" 9 43 9 45+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 32 9 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 32 9 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 32 9 36+ , srcInfoPoints = []+ }+ "Int#"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 39 9 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 39 9 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 39 9 42+ , srcInfoPoints = []+ }+ "Int"))+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 1 11 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 1 10 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 1 10 5+ , srcInfoPoints = []+ }+ "flip")+ [ PUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 6 10 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 10 6 10 8+ , SrcSpan "tests/examples/Lib.hs" 10 11 10 12+ , SrcSpan "tests/examples/Lib.hs" 10 13 10 15+ ]+ }+ 0+ 1+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 9 10 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 9 10 10+ , srcInfoPoints = []+ }+ "i"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 16 10 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 10 16 10 17 ]+ }+ (UnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 18 10 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 10 18 10 20+ , SrcSpan "tests/examples/Lib.hs" 10 21 10 22+ , SrcSpan "tests/examples/Lib.hs" 10 25 10 27+ ]+ }+ 1+ 0+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 23 10 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 23 10 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 23 10 24+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 1 11 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 1 11 5+ , srcInfoPoints = []+ }+ "flip")+ [ PUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 6 11 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 11 6 11 8+ , SrcSpan "tests/examples/Lib.hs" 11 9 11 10+ , SrcSpan "tests/examples/Lib.hs" 11 13 11 15+ ]+ }+ 1+ 0+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 11 11 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 11 11 12+ , srcInfoPoints = []+ }+ "i"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 16 11 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 11 16 11 17 ]+ }+ (UnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 18 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 11 18 11 20+ , SrcSpan "tests/examples/Lib.hs" 11 23 11 24+ , SrcSpan "tests/examples/Lib.hs" 11 25 11 27+ ]+ }+ 0+ 1+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 21 11 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 21 11 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 21 11 22+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ ]+ , InlineSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 13 1 13 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 13 1 13 13+ , SrcSpan "tests/examples/Lib.hs" 13 21 13 24+ ]+ }+ False+ Nothing+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 13 14 13 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 13 14 13 20+ , srcInfoPoints = []+ }+ "getInt"))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 1 14 34+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 14 8 14 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 1 14 7+ , srcInfoPoints = []+ }+ "getInt"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 11 14 34+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 14 28 14 30 ]+ }+ (TyUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 11 14 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 14 11 14 13+ , SrcSpan "tests/examples/Lib.hs" 14 19 14 20+ , SrcSpan "tests/examples/Lib.hs" 14 25 14 27+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 14 14 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 14 14 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 14 14 18+ , srcInfoPoints = []+ }+ "Int#"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 21 14 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 21 14 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 21 14 24+ , srcInfoPoints = []+ }+ "Int"))+ ])+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 31 14 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 31 14 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 31 14 34+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 1 16 21+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 1 15 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 1 15 7+ , srcInfoPoints = []+ }+ "getInt")+ [ PUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 8 15 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 15 8 15 10+ , SrcSpan "tests/examples/Lib.hs" 15 13 15 14+ , SrcSpan "tests/examples/Lib.hs" 15 15 15 17+ ]+ }+ 0+ 1+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ "i"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 18 15 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 15 18 15 19 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 24+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 22+ , srcInfoPoints = []+ }+ "I#")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 23 15 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 23 15 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 23 15 24+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 1 16 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 1 16 7+ , srcInfoPoints = []+ }+ "getInt")+ [ PUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 8 16 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 16 8 16 10+ , SrcSpan "tests/examples/Lib.hs" 16 11 16 12+ , SrcSpan "tests/examples/Lib.hs" 16 15 16 17+ ]+ }+ 1+ 0+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 13 16 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 13 16 14+ , srcInfoPoints = []+ }+ "i"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 18 16 21+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 16 18 16 19 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 20 16 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 20 16 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 20 16 21+ , srcInfoPoints = []+ }+ "i"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/Lib.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Lib.hs.prettyprinter.golden view
@@ -0,0 +1,16 @@+{-# LANGUAGE UnboxedSums, MagicHash #-}+module Lib (flip, getInt) where+import GHC.Exts+import Prelude (Int)++{-# NOINLINE flip #-}++flip :: (# Int | Int# #) -> (# Int# | Int #)+flip (# i | #) = (# | i #)+flip (# | i #) = (# i | #)++{-# NOINLINE getInt #-}++getInt :: (# Int# | Int #) -> Int+getInt (# i | #) = I# i+getInt (# | i #) = i
tests/examples/LineOptionsPragma.hs.parser.golden view
@@ -1,1 +1,52 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 18}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) "Fail") Nothing Nothing)) [OptionsPragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 16}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 1, srcSpanStartColumn = 13, srcSpanEndLine = 1, srcSpanEndColumn = 16}]}) Nothing ""] [] [],[Comment True (SrcSpan {srcSpanFilename = "tests/examples/LineOptionsPragma.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 48}) "# LINE 49 \"src/Language/C/Parser/Lexer.x\" #"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/LineOptionsPragma.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LineOptionsPragma.hs" 1 1 1 1+ , SrcSpan "tests/examples/LineOptionsPragma.hs" 3 1 3 1+ , SrcSpan "tests/examples/LineOptionsPragma.hs" 3 1 3 1+ , SrcSpan "tests/examples/LineOptionsPragma.hs" 4 1 4 1+ , SrcSpan "tests/examples/LineOptionsPragma.hs" 4 1 4 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/LineOptionsPragma.hs" 3 1 3 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LineOptionsPragma.hs" 3 1 3 7+ , SrcSpan "tests/examples/LineOptionsPragma.hs" 3 13 3 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/LineOptionsPragma.hs" 3 8 3 12+ , srcInfoPoints = []+ }+ "Fail")+ Nothing+ Nothing))+ [ OptionsPragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/LineOptionsPragma.hs" 1 1 1 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/LineOptionsPragma.hs" 1 1 1 13+ , SrcSpan "tests/examples/LineOptionsPragma.hs" 1 13 1 16+ ]+ }+ Nothing+ ""+ ]+ []+ []+ , [ Comment+ True+ (SrcSpan "tests/examples/LineOptionsPragma.hs" 2 1 2 48)+ "# LINE 49 \"src/Language/C/Parser/Lexer.x\" #"+ ]+ )
tests/examples/LineOptionsPragma.hs.prettyprinter.golden view
@@ -1,2 +1,2 @@-{-# OPTIONS #-}+{-# OPTIONS #-} module Fail where
+ tests/examples/List2.hs view
@@ -0,0 +1,35 @@+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE GADTs #-}+-----------------------------------------------------------------------------+-- |+-- Module : Type.Family.List+-- Copyright : Copyright (C) 2015 Kyle Carter+-- License : BSD3+--+-- Maintainer : Kyle Carter <kylcarte@indiana.edu>+-- Stability : experimental+-- Portability : RankNTypes+--+-- Convenient aliases and type families for working with+-- type-level lists.+----------------------------------------------------------------------------++module Type.Family.List where++type Ø = '[]+type (:<) = '(:)+infixr 5 :<+
+ tests/examples/List2.hs.exactprinter.golden view
@@ -0,0 +1,36 @@+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE GADTs #-}+-----------------------------------------------------------------------------+-- |+-- Module : Type.Family.List+-- Copyright : Copyright (C) 2015 Kyle Carter+-- License : BSD3+--+-- Maintainer : Kyle Carter <kylcarte@indiana.edu>+-- Stability : experimental+-- Portability : RankNTypes+--+-- Convenient aliases and type families for working with+-- type-level lists.+----------------------------------------------------------------------------++module Type.Family.List where++type Ø = '[]+type :< = ':+infixr 5 :<++
+ tests/examples/List2.hs.parser.golden view
@@ -0,0 +1,427 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 1 1 36 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 1 1 1 1+ , SrcSpan "tests/examples/List2.hs" 2 1 2 1+ , SrcSpan "tests/examples/List2.hs" 3 1 3 1+ , SrcSpan "tests/examples/List2.hs" 4 1 4 1+ , SrcSpan "tests/examples/List2.hs" 5 1 5 1+ , SrcSpan "tests/examples/List2.hs" 6 1 6 1+ , SrcSpan "tests/examples/List2.hs" 7 1 7 1+ , SrcSpan "tests/examples/List2.hs" 8 1 8 1+ , SrcSpan "tests/examples/List2.hs" 9 1 9 1+ , SrcSpan "tests/examples/List2.hs" 10 1 10 1+ , SrcSpan "tests/examples/List2.hs" 11 1 11 1+ , SrcSpan "tests/examples/List2.hs" 12 1 12 1+ , SrcSpan "tests/examples/List2.hs" 13 1 13 1+ , SrcSpan "tests/examples/List2.hs" 14 1 14 1+ , SrcSpan "tests/examples/List2.hs" 15 1 15 1+ , SrcSpan "tests/examples/List2.hs" 30 1 30 1+ , SrcSpan "tests/examples/List2.hs" 30 1 30 1+ , SrcSpan "tests/examples/List2.hs" 32 1 32 1+ , SrcSpan "tests/examples/List2.hs" 33 1 33 1+ , SrcSpan "tests/examples/List2.hs" 34 1 34 1+ , SrcSpan "tests/examples/List2.hs" 36 1 36 1+ , SrcSpan "tests/examples/List2.hs" 36 1 36 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 30 1 30 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 30 1 30 7+ , SrcSpan "tests/examples/List2.hs" 30 25 30 30+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 30 8 30 24+ , srcInfoPoints = []+ }+ "Type.Family.List")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 1 1 1 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 1 1 1 13+ , SrcSpan "tests/examples/List2.hs" 1 37 1 40+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 1 14 1 36+ , srcInfoPoints = []+ }+ "TypeFamilyDependencies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 2 1 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 2 1 2 13+ , SrcSpan "tests/examples/List2.hs" 2 30 2 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 2 14 2 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 3 1 3 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 3 1 3 13+ , SrcSpan "tests/examples/List2.hs" 3 30 3 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 3 14 3 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 4 1 4 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 4 1 4 13+ , SrcSpan "tests/examples/List2.hs" 4 25 4 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 4 14 4 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 5 1 5 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 5 1 5 13+ , SrcSpan "tests/examples/List2.hs" 5 33 5 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 5 14 5 32+ , srcInfoPoints = []+ }+ "StandaloneDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 6 1 6 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 6 1 6 13+ , SrcSpan "tests/examples/List2.hs" 6 32 6 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 6 14 6 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 7 1 7 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 7 1 7 13+ , SrcSpan "tests/examples/List2.hs" 7 37 7 40+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 7 14 7 36+ , srcInfoPoints = []+ }+ "FunctionalDependencies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 8 1 8 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 8 1 8 13+ , SrcSpan "tests/examples/List2.hs" 8 35 8 38+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 8 14 8 34+ , srcInfoPoints = []+ }+ "UndecidableInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 9 1 9 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 9 1 9 13+ , SrcSpan "tests/examples/List2.hs" 9 27 9 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 9 14 9 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 10 1 10 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 10 1 10 13+ , SrcSpan "tests/examples/List2.hs" 10 25 10 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 10 14 10 24+ , srcInfoPoints = []+ }+ "LambdaCase"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 11 1 11 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 11 1 11 13+ , SrcSpan "tests/examples/List2.hs" 11 28 11 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 11 14 11 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 12 1 12 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 12 1 12 13+ , SrcSpan "tests/examples/List2.hs" 12 29 12 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 12 14 12 28+ , srcInfoPoints = []+ }+ "KindSignatures"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 13 1 13 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 13 1 13 13+ , SrcSpan "tests/examples/List2.hs" 13 24 13 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 13 14 13 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 14 1 14 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 14 1 14 13+ , SrcSpan "tests/examples/List2.hs" 14 24 14 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 14 14 14 23+ , srcInfoPoints = []+ }+ "PolyKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 15 1 15 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 15 1 15 13+ , SrcSpan "tests/examples/List2.hs" 15 20 15 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 15 14 15 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 1 32 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 32 1 32 5+ , SrcSpan "tests/examples/List2.hs" 32 11 32 12+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 6 32 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 6 32 7+ , srcInfoPoints = []+ }+ "\216"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 13 32 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 32 13 32 14+ , SrcSpan "tests/examples/List2.hs" 32 15 32 16+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 13 32 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 32 13 32 14+ , SrcSpan "tests/examples/List2.hs" 32 15 32 16+ ]+ }+ True+ []))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 1 33 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 33 1 33 5+ , SrcSpan "tests/examples/List2.hs" 33 11 33 12+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 6 33 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 33 6 33 7+ , SrcSpan "tests/examples/List2.hs" 33 7 33 9+ , SrcSpan "tests/examples/List2.hs" 33 9 33 10+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 7 33 9+ , srcInfoPoints = []+ }+ ":<"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 13 33 17+ , srcInfoPoints = [ SrcSpan "tests/examples/List2.hs" 33 13 33 14 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 13 33 17+ , srcInfoPoints = [ SrcSpan "tests/examples/List2.hs" 33 13 33 14 ]+ }+ True+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 14 33 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 33 14 33 15+ , SrcSpan "tests/examples/List2.hs" 33 15 33 16+ , SrcSpan "tests/examples/List2.hs" 33 16 33 17+ ]+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 15 33 16+ , srcInfoPoints = []+ }))))+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 1 34 12+ , srcInfoPoints = [ SrcSpan "tests/examples/List2.hs" 34 8 34 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 1 34 7+ , srcInfoPoints = []+ })+ (Just 5)+ [ ConOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 10 34 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 10 34 12+ , srcInfoPoints = []+ }+ ":<")+ ]+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/List2.hs" 16 1 16 78)+ "---------------------------------------------------------------------------"+ , Comment False (SrcSpan "tests/examples/List2.hs" 17 1 17 5) " |"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 18 1 18 35)+ " Module : Type.Family.List"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 19 1 19 49)+ " Copyright : Copyright (C) 2015 Kyle Carter"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 20 1 20 23)+ " License : BSD3"+ , Comment False (SrcSpan "tests/examples/List2.hs" 21 1 21 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 22 1 22 53)+ " Maintainer : Kyle Carter <kylcarte@indiana.edu>"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 23 1 23 31)+ " Stability : experimental"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 24 1 24 29)+ " Portability : RankNTypes"+ , Comment False (SrcSpan "tests/examples/List2.hs" 25 1 25 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 26 1 26 57)+ " Convenient aliases and type families for working with"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 27 1 27 21)+ " type-level lists."+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 28 1 28 77)+ "--------------------------------------------------------------------------"+ ]+ )
+ tests/examples/List2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/List2.hs.prettyprinter.golden view
@@ -0,0 +1,22 @@+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE GADTs #-}+module Type.Family.List where++type Ø = '[]++type (:<) = '(:)++infixr 5 :<
+ tests/examples/MagicHashN.hs view
@@ -0,0 +1,7 @@+{-# LANGUAGE MagicHash #-}+module MagicHashN where++a# = 1+b## = 2+c### = 3+main = print (a#, b##, c###)
+ tests/examples/MagicHashN.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MagicHashN.hs.parser.golden view
@@ -0,0 +1,262 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 1+ , SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 1+ , SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 1+ , SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 1+ , SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 1+ , SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 1+ , SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 1+ , SrcSpan "tests/examples/MagicHashN.hs" 8 1 8 1+ , SrcSpan "tests/examples/MagicHashN.hs" 8 1 8 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 7+ , SrcSpan "tests/examples/MagicHashN.hs" 2 19 2 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 2 8 2 18+ , srcInfoPoints = []+ }+ "MagicHashN")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 13+ , SrcSpan "tests/examples/MagicHashN.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "MagicHash"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 7+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 3+ , srcInfoPoints = []+ }+ "a#"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 4 4 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 4 4 4 5 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 8+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ "b##"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 5 5 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 5 5 5 6 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ 2+ "2")))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 9+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "c###"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 6 6 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 6 6 6 7 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ 3+ "3")))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 29+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 6 7 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 7 6 7 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13+ , srcInfoPoints = []+ }+ "print")))+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 14 7 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 7 14 7 15+ , SrcSpan "tests/examples/MagicHashN.hs" 7 17 7 18+ , SrcSpan "tests/examples/MagicHashN.hs" 7 22 7 23+ , SrcSpan "tests/examples/MagicHashN.hs" 7 28 7 29+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17+ , srcInfoPoints = []+ }+ "a#"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ "b##"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28+ , srcInfoPoints = []+ }+ "c###"))+ ])))+ Nothing+ ]+ , []+ )
+ tests/examples/MagicHashN.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MagicHashN.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE MagicHash #-}+module MagicHashN where+a# = 1+b## = 2+c### = 3+main = print (a#, b##, c###)
+ tests/examples/MagicHashUnboxedTuples.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE MagicHash, UnboxedTuples #-}+module MagicHashUnboxedTuples where++f (#x, y #) = (# a#, b #) where+ a# = a#+ b = b
+ tests/examples/MagicHashUnboxedTuples.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MagicHashUnboxedTuples.hs.parser.golden view
@@ -0,0 +1,286 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 1 1 1 1+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 2 1 2 1+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 2 1 2 1+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 1 4 1+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 7 1 7 1+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 7 1 7 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 2 1 2 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 2 1 2 7+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 2 31 2 36+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 2 8 2 30+ , srcInfoPoints = []+ }+ "MagicHashUnboxedTuples")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 1 1 1 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 1 1 1 13+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 1 23 1 24+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 1 39 1 42+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "MagicHash"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 1 25 1 38+ , srcInfoPoints = []+ }+ "UnboxedTuples"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 1 6 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 27 4 32 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 1 6 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 27 4 32 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "f")+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 3 4 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 3 4 5+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 6 4 7+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 10 4 12+ ]+ }+ Unboxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ "y")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 13 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 13 4 14 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 15 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 15 4 17+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 20 4 21+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 24 4 26+ ]+ }+ Unboxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ "a#"))+ , Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ "b"))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 5 3 6 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 5 3 5 3+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 6 3 6 3+ , SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 7 1 7 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 5 3 5 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 5 3 5 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 5 3 5 5+ , srcInfoPoints = []+ }+ "a#"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 5 6 5 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 5 6 5 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 5 8 5 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 5 8 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/MagicHashUnboxedTuples.hs" 5 8 5 10+ , srcInfoPoints = []+ }+ "a#"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 6 3 6 8+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 6 3 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 6 3 6 4+ , srcInfoPoints = []+ }+ "b"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 6 5 6 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 6 5 6 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MagicHashUnboxedTuples.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ "b"))))+ Nothing+ ]))+ ]+ ]+ , []+ )
+ tests/examples/MagicHashUnboxedTuples.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MagicHashUnboxedTuples.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE MagicHash, UnboxedTuples #-}+module MagicHashUnboxedTuples where+f (# x, y #) = (# a#, b #)+ where a# = a#+ b = b
+ tests/examples/MinimalPragma.hs view
@@ -0,0 +1,7 @@+class Eq a where+ (==) :: a -> a -> Bool+ (/=) :: a -> a -> Bool+ x == y = not (x /= y)+ x /= y = not (x == y)+ {-# MINIMAL (==) | (/=) #-}+
+ tests/examples/MinimalPragma.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MinimalPragma.hs.parser.golden view
@@ -0,0 +1,581 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 1 1 1 1+ , SrcSpan "tests/examples/MinimalPragma.hs" 1 1 1 1+ , SrcSpan "tests/examples/MinimalPragma.hs" 1 1 1 1+ , SrcSpan "tests/examples/MinimalPragma.hs" 8 1 8 1+ , SrcSpan "tests/examples/MinimalPragma.hs" 8 1 8 1+ ]+ }+ Nothing+ []+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 1 1 6 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 1 1 1 6+ , SrcSpan "tests/examples/MinimalPragma.hs" 1 12 1 17+ , SrcSpan "tests/examples/MinimalPragma.hs" 2 6 2 6+ , SrcSpan "tests/examples/MinimalPragma.hs" 3 6 3 6+ , SrcSpan "tests/examples/MinimalPragma.hs" 4 6 4 6+ , SrcSpan "tests/examples/MinimalPragma.hs" 5 6 5 6+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 6 6 6+ , SrcSpan "tests/examples/MinimalPragma.hs" 8 1 8 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 1 7 1 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 1 7 1 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 1 7 1 9+ , srcInfoPoints = []+ }+ "Eq"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 1 10 1 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 1 10 1 11+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 2 6 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 2 11 2 13 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 2 6 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 2 11 2 13 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 2 6 2 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 2 6 2 7+ , SrcSpan "tests/examples/MinimalPragma.hs" 2 7 2 9+ , SrcSpan "tests/examples/MinimalPragma.hs" 2 9 2 10+ ]+ }+ "=="+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 2 14 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 2 16 2 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 2 14 2 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 2 14 2 15+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 2 19 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 2 21 2 23 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 2 19 2 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 2 19 2 20+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 2 24 2 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 2 24 2 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 2 24 2 28+ , srcInfoPoints = []+ }+ "Bool"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 3 6 3 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 3 11 3 13 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 3 6 3 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 3 11 3 13 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 3 6 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 3 6 3 7+ , SrcSpan "tests/examples/MinimalPragma.hs" 3 7 3 9+ , SrcSpan "tests/examples/MinimalPragma.hs" 3 9 3 10+ ]+ }+ "/="+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 3 14 3 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 3 16 3 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 3 19 3 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 3 21 3 23 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 3 24 3 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 3 24 3 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 3 24 3 28+ , srcInfoPoints = []+ }+ "Bool"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 4 6 4 27+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 4 6 4 27+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 4 6 4 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "x"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 4 8 4 10+ , srcInfoPoints = []+ }+ "==")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 4 13 4 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 4 13 4 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 4 15 4 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 15 4 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 15 4 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 15 4 18+ , srcInfoPoints = []+ }+ "not")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 19 4 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 4 19 4 20+ , SrcSpan "tests/examples/MinimalPragma.hs" 4 26 4 27+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 20 4 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 20 4 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 20 4 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/MinimalPragma.hs" 4 20 4 21+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 22 4 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 22 4 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/MinimalPragma.hs" 4 22 4 24+ , srcInfoPoints = []+ }+ "/=")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/MinimalPragma.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ "y")))))))+ Nothing+ ])+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 5 6 5 27+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 5 6 5 27+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 5 6 5 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 5 6 5 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 5 6 5 7+ , srcInfoPoints = []+ }+ "x"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 5 8 5 10+ , srcInfoPoints = []+ }+ "/=")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 5 13 5 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 5 13 5 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 5 15 5 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 15 5 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 15 5 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 15 5 18+ , srcInfoPoints = []+ }+ "not")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 19 5 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 5 19 5 20+ , SrcSpan "tests/examples/MinimalPragma.hs" 5 26 5 27+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 20 5 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 20 5 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 20 5 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/MinimalPragma.hs" 5 20 5 21+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 22 5 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 22 5 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/MinimalPragma.hs" 5 22 5 24+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 25 5 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 5 25 5 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/MinimalPragma.hs" 5 25 5 26+ , srcInfoPoints = []+ }+ "y")))))))+ Nothing+ ])+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 6 6 6 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 6 6 6 17+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 30 6 33+ ]+ }+ (MinimalPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 6 6 6 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 6 6 6 17+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 30 6 33+ ]+ }+ (Just+ (OrFormula+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 6 18 6 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 6 23 6 24 ]+ }+ [ VarFormula+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 6 18 6 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 6 18 6 19+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 19 6 21+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 21 6 22+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 6 18 6 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 6 18 6 19+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 19 6 21+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 21 6 22+ ]+ }+ "==")+ , VarFormula+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MinimalPragma.hs" 6 25 6 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 6 25 6 26+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 26 6 28+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 28 6 29+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MinimalPragma.hs" 6 25 6 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MinimalPragma.hs" 6 25 6 26+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 26 6 28+ , SrcSpan "tests/examples/MinimalPragma.hs" 6 28 6 29+ ]+ }+ "/=")+ ])))+ ])+ ]+ , []+ )
+ tests/examples/MinimalPragma.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MinimalPragma.hs.prettyprinter.golden view
@@ -0,0 +1,8 @@+class Eq a where+ (==) :: a -> a -> Bool+ + (/=) :: a -> a -> Bool+ x == y = not (x /= y)+ x /= y = not (x == y)+ + {-# MINIMAL (==) | (/=) #-}
tests/examples/MultiCtxt.hs.parser.golden view
@@ -1,1 +1,231 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 23}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 17}, srcInfoPoints = []}) "MultiCtxt") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 1, srcSpanStartColumn = 25, srcSpanEndLine = 1, srcSpanEndColumn = 28}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 24}, srcInfoPoints = []}) "RankNTypes"]] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 13, srcSpanEndLine = 5, srcSpanEndColumn = 15}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 12}, srcInfoPoints = []}) "multipleCtx"] (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 37}, srcInfoPoints = []}) Nothing (Just (CxSingle (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 23}]}) (ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 21, srcSpanEndLine = 5, srcSpanEndColumn = 23}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 18}, srcInfoPoints = []}) "Eq")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 19, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 19, srcSpanEndLine = 5, srcSpanEndColumn = 20}, srcInfoPoints = []}) "a")]))) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 24, srcSpanEndLine = 5, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 24, srcSpanEndLine = 5, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 36, srcSpanEndLine = 5, srcSpanEndColumn = 37}]}) (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 25, srcSpanEndLine = 5, srcSpanEndColumn = 36}, srcInfoPoints = []}) Nothing (Just (CxSingle (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 25, srcSpanEndLine = 5, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 32, srcSpanEndLine = 5, srcSpanEndColumn = 34}]}) (ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 25, srcSpanEndLine = 5, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 32, srcSpanEndLine = 5, srcSpanEndColumn = 34}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 25, srcSpanEndLine = 5, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 25, srcSpanEndLine = 5, srcSpanEndColumn = 29}, srcInfoPoints = []}) "Show")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 30, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = []}) "a")]))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 35, srcSpanEndLine = 5, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 5, srcSpanStartColumn = 35, srcSpanEndLine = 5, srcSpanEndColumn = 36}, srcInfoPoints = []}) "a"))))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 12}, srcInfoPoints = []}) "multipleCtx")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 14}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 6, srcSpanStartColumn = 15, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 6, srcSpanStartColumn = 15, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiCtxt.hs", srcSpanStartLine = 6, srcSpanStartColumn = 15, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = []}) "undefined")))) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 1 1 1 1+ , SrcSpan "tests/examples/MultiCtxt.hs" 3 1 3 1+ , SrcSpan "tests/examples/MultiCtxt.hs" 3 1 3 1+ , SrcSpan "tests/examples/MultiCtxt.hs" 5 1 5 1+ , SrcSpan "tests/examples/MultiCtxt.hs" 6 1 6 1+ , SrcSpan "tests/examples/MultiCtxt.hs" 7 1 7 1+ , SrcSpan "tests/examples/MultiCtxt.hs" 7 1 7 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 3 1 3 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 3 1 3 7+ , SrcSpan "tests/examples/MultiCtxt.hs" 3 18 3 23+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 3 8 3 17+ , srcInfoPoints = []+ }+ "MultiCtxt")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 1 1 1 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 1 1 1 13+ , SrcSpan "tests/examples/MultiCtxt.hs" 1 25 1 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 1 5 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 13 5 15 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 1 5 12+ , srcInfoPoints = []+ }+ "multipleCtx"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 37+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ "a"))))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 24 5 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 24 5 25+ , SrcSpan "tests/examples/MultiCtxt.hs" 5 36 5 37+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 36+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31+ , srcInfoPoints = []+ }+ "a"))))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 35 5 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 35 5 36+ , srcInfoPoints = []+ }+ "a")))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 1 6 24+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 1 6 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 1 6 12+ , srcInfoPoints = []+ }+ "multipleCtx"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 13 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 6 13 6 14 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 15 6 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 15 6 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 15 6 24+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ , []+ )
tests/examples/MultiCtxt.hs.prettyprinter.golden view
@@ -1,5 +1,5 @@ {-# LANGUAGE RankNTypes #-} module MultiCtxt where- -multipleCtx :: (Eq a) => ((Show a) => a)++multipleCtx :: Eq a => (Show a => a) multipleCtx = undefined
+ tests/examples/MultiLinePragma.hs view
@@ -0,0 +1,14 @@+{-# OPTIONS_GHC+ -a+ -a+ -a+ -a+ -a+ -a+ -a+ -a+ -a+ -a+ -a #-}+main :: IO ()+main = dat
+ tests/examples/MultiLinePragma.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MultiLinePragma.hs.parser.golden view
@@ -0,0 +1,145 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 1 1 15 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiLinePragma.hs" 1 1 1 1+ , SrcSpan "tests/examples/MultiLinePragma.hs" 13 1 13 1+ , SrcSpan "tests/examples/MultiLinePragma.hs" 13 1 13 1+ , SrcSpan "tests/examples/MultiLinePragma.hs" 13 1 13 1+ , SrcSpan "tests/examples/MultiLinePragma.hs" 14 1 14 1+ , SrcSpan "tests/examples/MultiLinePragma.hs" 15 1 15 1+ , SrcSpan "tests/examples/MultiLinePragma.hs" 15 1 15 1+ ]+ }+ Nothing+ [ OptionsPragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 1 1 12 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiLinePragma.hs" 1 1 12 8+ , SrcSpan "tests/examples/MultiLinePragma.hs" 12 8 12 11+ ]+ }+ (Just GHC)+ "\n -a\n -a\n -a\n -a\n -a\n -a\n -a\n -a\n -a\n -a\n -a "+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 13 1 13 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiLinePragma.hs" 13 6 13 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 13 1 13 5+ , srcInfoPoints = []+ }+ "main"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 13 9 13 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 13 9 13 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 13 9 13 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 13 9 13 11+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 13 12 13 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiLinePragma.hs" 13 12 13 13+ , SrcSpan "tests/examples/MultiLinePragma.hs" 13 13 13 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 13 12 13 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiLinePragma.hs" 13 12 13 13+ , SrcSpan "tests/examples/MultiLinePragma.hs" 13 13 13 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 13 12 13 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiLinePragma.hs" 13 12 13 13+ , SrcSpan "tests/examples/MultiLinePragma.hs" 13 13 13 14+ ]+ }))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 14 1 14 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 14 1 14 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 14 1 14 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 14 6 14 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiLinePragma.hs" 14 6 14 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 14 8 14 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 14 8 14 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiLinePragma.hs" 14 8 14 11+ , srcInfoPoints = []+ }+ "dat"))))+ Nothing+ ]+ , []+ )
+ tests/examples/MultiLinePragma.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MultiLinePragma.hs.prettyprinter.golden view
@@ -0,0 +1,15 @@+{-# OPTIONS_GHC+ -a+ -a+ -a+ -a+ -a+ -a+ -a+ -a+ -a+ -a+ -a #-}++main :: IO ()+main = dat
+ tests/examples/MultiParam.hs view
@@ -0,0 +1,4 @@+module MultiParam where++foo :: MonadError e m => e -> m ()+foo = undefined
+ tests/examples/MultiParam.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MultiParam.hs.parser.golden view
@@ -0,0 +1,215 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 1 1 1 1+ , SrcSpan "tests/examples/MultiParam.hs" 1 1 1 1+ , SrcSpan "tests/examples/MultiParam.hs" 3 1 3 1+ , SrcSpan "tests/examples/MultiParam.hs" 4 1 4 1+ , SrcSpan "tests/examples/MultiParam.hs" 5 1 5 1+ , SrcSpan "tests/examples/MultiParam.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 1 1 1 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 1 1 1 7+ , SrcSpan "tests/examples/MultiParam.hs" 1 19 1 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 1 8 1 18+ , srcInfoPoints = []+ }+ "MultiParam")+ Nothing+ Nothing))+ []+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 1 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 5 3 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 35+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+ , srcInfoPoints = []+ }+ "MonadError")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ "e")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 28 3 30 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 27+ , srcInfoPoints = []+ }+ "e"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 31 3 35+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 31 3 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 31 3 32+ , srcInfoPoints = []+ }+ "m"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 33 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 33 3 34+ , SrcSpan "tests/examples/MultiParam.hs" 3 34 3 35+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 33 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 33 3 34+ , SrcSpan "tests/examples/MultiParam.hs" 3 34 3 35+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 33 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 33 3 34+ , SrcSpan "tests/examples/MultiParam.hs" 3 34 3 35+ ]+ }))))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 1 4 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 5 4 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 4 5 4 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 7 4 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 7 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 7 4 16+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ , []+ )
+ tests/examples/MultiParam.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MultiParam.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+module MultiParam where++foo :: MonadError e m => e -> m ()+foo = undefined
tests/examples/MultiWayIf.hs view
@@ -9,3 +9,22 @@ | test3 -> e2 } | test4 -> e3 }++-- taken from GHC's test suite+x = 10+x1 = if | x < 10 -> "< 10" | otherwise -> ""+x2 = if | x < 10 -> "< 10"+ | otherwise -> ""+x3 = if | x < 10 -> "< 10"+ | otherwise -> ""+x4 = if | True -> "yes"+x5 = if | True -> if | False -> 1 | True -> 2++x6 = if | x < 10 -> if | True -> "yes"+ | False -> "no"+ | otherwise -> "maybe"++x7 = (if | True -> 0)++-- issue #98+spam = if | () <- () -> ()
tests/examples/MultiWayIf.hs.parser.golden view
@@ -1,1 +1,1685 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 2, srcSpanStartColumn = 19, srcSpanEndLine = 2, srcSpanEndColumn = 24}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 18}, srcInfoPoints = []}) "MultiWayIf") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 1, srcSpanStartColumn = 25, srcSpanEndLine = 1, srcSpanEndColumn = 28}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 24}, srcInfoPoints = []}) "MultiWayIf"]] [] [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 4}, srcInfoPoints = []}) "foo")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 8, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 6}]}) (MultiIf (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 6, srcSpanStartColumn = 10, srcSpanEndLine = 6, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 0}]}) [IfAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 20}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 17}, srcInfoPoints = []}) "test1"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 4, srcSpanStartColumn = 21, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) "e1"))),IfAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 26, srcSpanEndLine = 5, srcSpanEndColumn = 28}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 17}, srcInfoPoints = []}) "test2"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 25}, srcInfoPoints = []}) "witharg")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 29, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 29, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 5, srcSpanStartColumn = 29, srcSpanEndLine = 5, srcSpanEndColumn = 31}, srcInfoPoints = []}) "e2"))),IfAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 6, srcSpanStartColumn = 10, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 6, srcSpanStartColumn = 10, srcSpanEndLine = 6, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 6, srcSpanStartColumn = 22, srcSpanEndLine = 6, srcSpanEndColumn = 24}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 21}, srcInfoPoints = []}) "otherwise"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 6, srcSpanStartColumn = 25, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 6, srcSpanStartColumn = 25, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 6, srcSpanStartColumn = 25, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = []}) "def")))])) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 4}, srcInfoPoints = []}) "bar")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 5, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 5, srcSpanEndLine = 8, srcSpanEndColumn = 6}]}) (MultiIf (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 7, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 10, srcSpanEndLine = 8, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 11, srcSpanStartColumn = 10, srcSpanEndLine = 11, srcSpanEndColumn = 11}]}) [IfAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 12, srcSpanEndLine = 9, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 12, srcSpanEndLine = 8, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 20, srcSpanEndLine = 8, srcSpanEndColumn = 22}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 14, srcSpanEndLine = 8, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 14, srcSpanEndLine = 8, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 14, srcSpanEndLine = 8, srcSpanEndColumn = 19}, srcInfoPoints = []}) "test1"))) (MultiIf (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 23, srcSpanEndLine = 9, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 23, srcSpanEndLine = 8, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 26, srcSpanEndLine = 8, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 9, srcSpanStartColumn = 42, srcSpanEndLine = 9, srcSpanEndColumn = 43}]}) [IfAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 28, srcSpanEndLine = 8, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 28, srcSpanEndLine = 8, srcSpanEndColumn = 29},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 36, srcSpanEndLine = 8, srcSpanEndColumn = 38}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 30, srcSpanEndLine = 8, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 30, srcSpanEndLine = 8, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 30, srcSpanEndLine = 8, srcSpanEndColumn = 35}, srcInfoPoints = []}) "test2"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 39, srcSpanEndLine = 8, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 39, srcSpanEndLine = 8, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 8, srcSpanStartColumn = 39, srcSpanEndLine = 8, srcSpanEndColumn = 41}, srcInfoPoints = []}) "e1"))),IfAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 9, srcSpanStartColumn = 28, srcSpanEndLine = 9, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 9, srcSpanStartColumn = 28, srcSpanEndLine = 9, srcSpanEndColumn = 29},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 9, srcSpanStartColumn = 36, srcSpanEndLine = 9, srcSpanEndColumn = 38}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 9, srcSpanStartColumn = 30, srcSpanEndLine = 9, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 9, srcSpanStartColumn = 30, srcSpanEndLine = 9, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 9, srcSpanStartColumn = 30, srcSpanEndLine = 9, srcSpanEndColumn = 35}, srcInfoPoints = []}) "test3"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 9, srcSpanStartColumn = 39, srcSpanEndLine = 9, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 9, srcSpanStartColumn = 39, srcSpanEndLine = 9, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 9, srcSpanStartColumn = 39, srcSpanEndLine = 9, srcSpanEndColumn = 41}, srcInfoPoints = []}) "e2")))]),IfAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 10, srcSpanStartColumn = 20, srcSpanEndLine = 10, srcSpanEndColumn = 22}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 10, srcSpanStartColumn = 14, srcSpanEndLine = 10, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 10, srcSpanStartColumn = 14, srcSpanEndLine = 10, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 10, srcSpanStartColumn = 14, srcSpanEndLine = 10, srcSpanEndColumn = 19}, srcInfoPoints = []}) "test4"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 10, srcSpanStartColumn = 23, srcSpanEndLine = 10, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 10, srcSpanStartColumn = 23, srcSpanEndLine = 10, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/MultiWayIf.hs", srcSpanStartLine = 10, srcSpanStartColumn = 23, srcSpanEndLine = 10, srcSpanEndColumn = 25}, srcInfoPoints = []}) "e3")))])) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 1 1 31 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 1 1 1 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 2 1 2 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 2 1 2 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 4 1 4 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 8 1 8 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 14 1 14 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 15 1 15 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 16 1 16 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 18 1 18 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 20 1 20 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 21 1 21 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 23 1 23 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 27 1 27 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 1 30 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 31 1 31 1+ , SrcSpan "tests/examples/MultiWayIf.hs" 31 1 31 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 2 1 2 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 2 1 2 7+ , SrcSpan "tests/examples/MultiWayIf.hs" 2 19 2 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 2 8 2 18+ , srcInfoPoints = []+ }+ "MultiWayIf")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 1 1 1 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 1 1 1 13+ , SrcSpan "tests/examples/MultiWayIf.hs" 1 25 1 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ "MultiWayIf"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 1 6 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 5 6 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 4 5 4 6 ]+ }+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 7 6 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 4 7 4 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 4 10 4 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 5 10 5 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 6 10 6 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 8 1 8 0+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 10 4 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 4 10 4 11+ , SrcSpan "tests/examples/MultiWayIf.hs" 4 18 4 20+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 12 4 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 12 4 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 12 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 12 4 17+ , srcInfoPoints = []+ }+ "test1")))+ ]+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 21 4 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 21 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 4 21 4 23+ , srcInfoPoints = []+ }+ "e1")))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 5 10 5 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 5 10 5 11+ , SrcSpan "tests/examples/MultiWayIf.hs" 5 26 5 28+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 5 12 5 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 5 12 5 25+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 5 12 5 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 5 12 5 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 5 12 5 17+ , srcInfoPoints = []+ }+ "test2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 5 18 5 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 5 18 5 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 5 18 5 25+ , srcInfoPoints = []+ }+ "witharg"))))+ ]+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 5 29 5 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 5 29 5 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 5 29 5 31+ , srcInfoPoints = []+ }+ "e2")))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 6 10 6 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 6 10 6 11+ , SrcSpan "tests/examples/MultiWayIf.hs" 6 22 6 24+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 6 12 6 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 6 12 6 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 6 12 6 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 6 12 6 21+ , srcInfoPoints = []+ }+ "otherwise")))+ ]+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 6 25 6 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 6 25 6 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 6 25 6 28+ , srcInfoPoints = []+ }+ "def")))+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 1 11 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ "bar"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 5 11 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 8 5 8 6 ]+ }+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 7 11 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 8 7 8 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 8 10 8 11+ , SrcSpan "tests/examples/MultiWayIf.hs" 11 10 11 11+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 12 9 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 8 12 8 13+ , SrcSpan "tests/examples/MultiWayIf.hs" 8 20 8 22+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ "test1")))+ ]+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 23 9 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 8 23 8 25+ , SrcSpan "tests/examples/MultiWayIf.hs" 8 26 8 27+ , SrcSpan "tests/examples/MultiWayIf.hs" 9 42 9 43+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 28 8 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 8 28 8 29+ , SrcSpan "tests/examples/MultiWayIf.hs" 8 36 8 38+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 30 8 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 30 8 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 8 30 8 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 8 30 8 35+ , srcInfoPoints = []+ }+ "test2")))+ ]+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ "e1")))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 9 28 9 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 9 28 9 29+ , SrcSpan "tests/examples/MultiWayIf.hs" 9 36 9 38+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 9 30 9 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 9 30 9 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 9 30 9 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 9 30 9 35+ , srcInfoPoints = []+ }+ "test3")))+ ]+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 9 39 9 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 9 39 9 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 9 39 9 41+ , srcInfoPoints = []+ }+ "e2")))+ ])+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 10 12 10 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 10 12 10 13+ , SrcSpan "tests/examples/MultiWayIf.hs" 10 20 10 22+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 10 14 10 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 10 14 10 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 10 14 10 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 10 14 10 19+ , srcInfoPoints = []+ }+ "test4")))+ ]+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 10 23 10 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 10 23 10 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 10 23 10 25+ , srcInfoPoints = []+ }+ "e3")))+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 14 1 14 8+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 14 1 14 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 14 1 14 2+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 14 4 14 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 14 4 14 5 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 14 6 14 8+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 14 6 14 8+ , srcInfoPoints = []+ }+ 10+ "10")))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 1 15 45+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 1 15 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 1 15 3+ , srcInfoPoints = []+ }+ "x1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 4 15 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 15 4 15 5 ]+ }+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 6 15 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 15 6 15 8+ , SrcSpan "tests/examples/MultiWayIf.hs" 15 9 15 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 16 1 16 0+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 9 15 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 15 9 15 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 15 18 15 20+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 11 15 17+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 11 15 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 13 15 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 15 13 15 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 15 13 15 14+ , srcInfoPoints = []+ }+ "<")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 15 15 17+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 15 15 15 17+ , srcInfoPoints = []+ }+ 10+ "10")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 21 15 27+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 21 15 27+ , srcInfoPoints = []+ }+ "< 10"+ "< 10"))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 28 15 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 15 28 15 29+ , SrcSpan "tests/examples/MultiWayIf.hs" 15 40 15 42+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 30 15 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 30 15 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 30 15 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 15 30 15 39+ , srcInfoPoints = []+ }+ "otherwise")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 43 15 45+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 15 43 15 45+ , srcInfoPoints = []+ }+ ""+ ""))+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 1 17 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 1 16 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 1 16 3+ , srcInfoPoints = []+ }+ "x2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 4 17 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 16 4 16 5 ]+ }+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 6 17 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 16 6 16 8+ , SrcSpan "tests/examples/MultiWayIf.hs" 16 9 16 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 17 9 17 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 18 1 18 0+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 9 16 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 16 9 16 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 16 18 16 20+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 11 16 17+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 11 16 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 11 16 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 16 11 16 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 16 11 16 12+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 13 16 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 16 13 16 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 16 13 16 14+ , srcInfoPoints = []+ }+ "<")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 15 16 17+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 16 15 16 17+ , srcInfoPoints = []+ }+ 10+ "10")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 21 16 27+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 16 21 16 27+ , srcInfoPoints = []+ }+ "< 10"+ "< 10"))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 17 9 17 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 17 9 17 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 17 21 17 23+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 17 11 17 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 17 11 17 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 17 11 17 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 17 11 17 20+ , srcInfoPoints = []+ }+ "otherwise")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 17 24 17 26+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 17 24 17 26+ , srcInfoPoints = []+ }+ ""+ ""))+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 1 19 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 1 18 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 1 18 3+ , srcInfoPoints = []+ }+ "x3"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 4 19 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 18 4 18 5 ]+ }+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 6 19 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 18 6 18 8+ , SrcSpan "tests/examples/MultiWayIf.hs" 18 9 18 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 19 9 19 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 20 1 20 0+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 9 18 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 18 9 18 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 18 18 18 20+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 11 18 17+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 11 18 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 11 18 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 18 11 18 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 18 11 18 12+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 13 18 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 18 13 18 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 18 13 18 14+ , srcInfoPoints = []+ }+ "<")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 15 18 17+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 18 15 18 17+ , srcInfoPoints = []+ }+ 10+ "10")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 21 18 27+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 18 21 18 27+ , srcInfoPoints = []+ }+ "< 10"+ "< 10"))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 19 9 19 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 19 9 19 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 19 21 19 23+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 19 11 19 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 19 11 19 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 19 11 19 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 19 11 19 20+ , srcInfoPoints = []+ }+ "otherwise")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 19 24 19 26+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 19 24 19 26+ , srcInfoPoints = []+ }+ ""+ ""))+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 1 20 24+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 1 20 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 1 20 3+ , srcInfoPoints = []+ }+ "x4"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 4 20 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 20 4 20 5 ]+ }+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 6 20 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 20 6 20 8+ , SrcSpan "tests/examples/MultiWayIf.hs" 20 9 20 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 21 1 21 0+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 9 20 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 20 9 20 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 20 16 20 18+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 11 20 15+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 11 20 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 11 20 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 20 11 20 15+ , srcInfoPoints = []+ }+ "True")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 19 20 24+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 20 19 20 24+ , srcInfoPoints = []+ }+ "yes"+ "yes"))+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 1 21 46+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 1 21 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 1 21 3+ , srcInfoPoints = []+ }+ "x5"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 4 21 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 21 4 21 5 ]+ }+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 6 21 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 21 6 21 8+ , SrcSpan "tests/examples/MultiWayIf.hs" 21 9 21 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 23 1 23 0+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 9 21 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 21 9 21 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 21 16 21 18+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 11 21 15+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 11 21 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 11 21 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 21 11 21 15+ , srcInfoPoints = []+ }+ "True")))+ ]+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 19 21 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 21 19 21 21+ , SrcSpan "tests/examples/MultiWayIf.hs" 21 22 21 22+ , SrcSpan "tests/examples/MultiWayIf.hs" 23 1 23 0+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 22 21 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 21 22 21 23+ , SrcSpan "tests/examples/MultiWayIf.hs" 21 30 21 32+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 24 21 29+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 21 24 21 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 21 24 21 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 21 24 21 29+ , srcInfoPoints = []+ }+ "False")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 33 21 34+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 21 33 21 34+ , srcInfoPoints = []+ }+ 1+ "1"))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 35 21 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 21 35 21 36+ , SrcSpan "tests/examples/MultiWayIf.hs" 21 42 21 44+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 37 21 41+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 21 37 21 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 21 37 21 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 21 37 21 41+ , srcInfoPoints = []+ }+ "True")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 21 45 21 46+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 21 45 21 46+ , srcInfoPoints = []+ }+ 2+ "2"))+ ])+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 1 25 31+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 1 23 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 1 23 3+ , srcInfoPoints = []+ }+ "x6"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 4 25 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 23 4 23 5 ]+ }+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 6 25 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 23 6 23 8+ , SrcSpan "tests/examples/MultiWayIf.hs" 23 9 23 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 25 9 25 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 27 1 27 0+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 9 24 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 23 9 23 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 23 18 23 20+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 11 23 17+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 11 23 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 11 23 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 23 11 23 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 23 11 23 12+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 13 23 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 23 13 23 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 23 13 23 14+ , srcInfoPoints = []+ }+ "<")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 15 23 17+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 23 15 23 17+ , srcInfoPoints = []+ }+ 10+ "10")))+ ]+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 21 24 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 23 21 23 23+ , SrcSpan "tests/examples/MultiWayIf.hs" 23 24 23 24+ , SrcSpan "tests/examples/MultiWayIf.hs" 24 24 24 24+ , SrcSpan "tests/examples/MultiWayIf.hs" 25 9 25 0+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 24 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 23 24 23 25+ , SrcSpan "tests/examples/MultiWayIf.hs" 23 31 23 33+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 26 23 30+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 23 26 23 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 23 26 23 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 23 26 23 30+ , srcInfoPoints = []+ }+ "True")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 23 34 23 39+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 23 34 23 39+ , srcInfoPoints = []+ }+ "yes"+ "yes"))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 24 24 24 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 24 24 24 25+ , SrcSpan "tests/examples/MultiWayIf.hs" 24 32 24 34+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 24 26 24 31+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 24 26 24 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 24 26 24 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 24 26 24 31+ , srcInfoPoints = []+ }+ "False")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 24 35 24 39+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 24 35 24 39+ , srcInfoPoints = []+ }+ "no"+ "no"))+ ])+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 25 9 25 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 25 9 25 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 25 21 25 23+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 25 11 25 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 25 11 25 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 25 11 25 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 25 11 25 20+ , srcInfoPoints = []+ }+ "otherwise")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 25 24 25 31+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 25 24 25 31+ , srcInfoPoints = []+ }+ "maybe"+ "maybe"))+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 1 27 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 1 27 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 1 27 3+ , srcInfoPoints = []+ }+ "x7"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 4 27 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 27 4 27 5 ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 6 27 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 27 6 27 7+ , SrcSpan "tests/examples/MultiWayIf.hs" 27 21 27 22+ ]+ }+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 7 27 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 27 7 27 9+ , SrcSpan "tests/examples/MultiWayIf.hs" 27 10 27 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 27 21 27 21+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 10 27 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 27 10 27 11+ , SrcSpan "tests/examples/MultiWayIf.hs" 27 17 27 19+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 12 27 16+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 12 27 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 27 12 27 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 27 12 27 16+ , srcInfoPoints = []+ }+ "True")))+ ]+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ 0+ "0"))+ ])))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 1 30 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 1 30 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 1 30 5+ , srcInfoPoints = []+ }+ "spam"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 6 30 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 6 30 7 ]+ }+ (MultiIf+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 8 30 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 8 30 10+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 11 30 11+ , SrcSpan "tests/examples/MultiWayIf.hs" 31 1 31 0+ ]+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 11 30 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 11 30 12+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 22 30 24+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 13 30 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 16 30 18 ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 13 30 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 13 30 14+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 14 30 15+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 13 30 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 13 30 14+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 14 30 15+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 30 13 30 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 13 30 14+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 14 30 15+ ]+ }))+ [])+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 19 30 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 19 30 20+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 20 30 21+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 19 30 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 19 30 20+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 20 30 21+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiWayIf.hs" 30 19 30 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 19 30 20+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 20 30 21+ ]+ })))+ ]+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 25 30 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 25 30 26+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 26 30 27+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 25 30 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 25 30 26+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 26 30 27+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiWayIf.hs" 30 25 30 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiWayIf.hs" 30 25 30 26+ , SrcSpan "tests/examples/MultiWayIf.hs" 30 26 30 27+ ]+ })))+ ]))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/MultiWayIf.hs" 13 1 13 31)+ " taken from GHC's test suite"+ , Comment+ False+ (SrcSpan "tests/examples/MultiWayIf.hs" 29 1 29 13)+ " issue #98"+ ]+ )
tests/examples/MultiWayIf.hs.prettyprinter.golden view
@@ -1,11 +1,33 @@ {-# LANGUAGE MultiWayIf #-} module MultiWayIf where foo- = if | test1 -> e1- | test2 witharg -> e2- | otherwise -> def+ = if | test1 -> e1+ | test2 witharg -> e2+ | otherwise -> def bar- = if | test1 ->- if | test2 -> e1- | test3 -> e2- | test4 -> e3+ = if | test1 ->+ if | test2 -> e1+ | test3 -> e2+ | test4 -> e3+x = 10+x1+ = if | x < 10 -> "< 10"+ | otherwise -> ""+x2+ = if | x < 10 -> "< 10"+ | otherwise -> ""+x3+ = if | x < 10 -> "< 10"+ | otherwise -> ""+x4 = if | True -> "yes"+x5+ = if | True ->+ if | False -> 1+ | True -> 2+x6+ = if | x < 10 ->+ if | True -> "yes"+ | False -> "no"+ | otherwise -> "maybe"+x7 = (if | True -> 0)+spam = if | () <- () -> ()
tests/examples/NPlusK.hs.parser.golden view
@@ -1,1 +1,97 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 1, srcSpanStartColumn = 29, srcSpanEndLine = 1, srcSpanEndColumn = 32}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 28}, srcInfoPoints = []}) "NPlusKPatterns"]] [] [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 2}, srcInfoPoints = []}) "f") [PParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 8}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 7, srcSpanEndLine = 3, srcSpanEndColumn = 8}]}) (PNPlusK (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 4, srcSpanEndLine = 3, srcSpanEndColumn = 7}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 5, srcSpanEndLine = 3, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 7}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 4, srcSpanEndLine = 3, srcSpanEndColumn = 5}, srcInfoPoints = []}) "n") 3)] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 10}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NPlusK.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) "n")))) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NPlusK.hs" 1 1 1 1+ , SrcSpan "tests/examples/NPlusK.hs" 3 1 3 1+ , SrcSpan "tests/examples/NPlusK.hs" 3 1 3 1+ , SrcSpan "tests/examples/NPlusK.hs" 3 1 3 1+ , SrcSpan "tests/examples/NPlusK.hs" 4 1 4 1+ , SrcSpan "tests/examples/NPlusK.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NPlusK.hs" 1 1 1 13+ , SrcSpan "tests/examples/NPlusK.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "NPlusKPatterns"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 1 3 12+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 1 3 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 3 3 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NPlusK.hs" 3 3 3 4+ , SrcSpan "tests/examples/NPlusK.hs" 3 7 3 8+ ]+ }+ (PNPlusK+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 4 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NPlusK.hs" 3 5 3 6+ , SrcSpan "tests/examples/NPlusK.hs" 3 6 3 7+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 4 3 5+ , srcInfoPoints = []+ }+ "n")+ 3)+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 9 3 12+ , srcInfoPoints = [ SrcSpan "tests/examples/NPlusK.hs" 3 9 3 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ "n"))))+ Nothing+ ]+ ]+ , []+ )
tests/examples/NPlusK.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE NPlusKPatterns #-}-module Main (main) where f (n + 3) = n
tests/examples/NegPrimWordLiteral.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/NegPrimWordLiteral.hs", srcLine = 3, srcColumn = 1}) "Parse error: negative primitive word literal: - 9223372036854775808##"+ParseFailed (SrcLoc "tests/examples/NegPrimWordLiteral.hs" 3 1) "Parse error: negative primitive word literal: - 9223372036854775808##"
tests/examples/NegPrimWordLiteral.hs.parser.golden view
@@ -1,1 +1,3 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/NegPrimWordLiteral.hs", srcLine = 3, srcColumn = 1}) "Parse error: negative primitive word literal: - 9223372036854775808##"+ParseFailed+ (SrcLoc "tests/examples/NegPrimWordLiteral.hs" 3 1)+ "Parse error: negative primitive word literal: - 9223372036854775808##"
tests/examples/NegPrimWordLiteral.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/NegPrimWordLiteral.hs", srcLine = 3, srcColumn = 1}) "Parse error: negative primitive word literal: - 9223372036854775808##"+ParseFailed (SrcLoc "tests/examples/NegPrimWordLiteral.hs" 3 1) "Parse error: negative primitive word literal: - 9223372036854775808##"
tests/examples/NegPrimWordLiteral.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/NegPrimWordLiteral.hs", srcLine = 3, srcColumn = 1}) "Parse error: negative primitive word literal: - 9223372036854775808##"+ParseFailed (SrcLoc "tests/examples/NegPrimWordLiteral.hs" 3 1) "Parse error: negative primitive word literal: - 9223372036854775808##"
+ tests/examples/NegativePatterns.hs view
@@ -0,0 +1,15 @@+f 1 = -1+f (-1) = 1+f ( - 2) = 2+f ( - 3) = 3++data Z a = Higher a a | Same a a | Lower a a++infixr 7 `Higher`+infixr 6 `Same`+infixr 5 `Lower`++g :: Z Int -> ()+g ( -1 `Higher` x) = ()+g ( - 2 `Same` x) = ()+g ( - 3 `Lower` x) = ()
+ tests/examples/NegativePatterns.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/NegativePatterns.hs.parser.golden view
@@ -0,0 +1,1052 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 1 16 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 1 1 1 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 1 1 1 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 1 1 1 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 2 1 2 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 3 1 3 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 4 1 4 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 6 1 6 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 8 1 8 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 9 1 9 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 10 1 10 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 12 1 12 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 13 1 13 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 14 1 14 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 15 1 15 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 16 1 16 1+ , SrcSpan "tests/examples/NegativePatterns.hs" 16 1 16 1+ ]+ }+ Nothing+ []+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 1 4 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 1 1 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 1 1 2+ , srcInfoPoints = []+ }+ "f")+ [ PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 3 1 4+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 3 1 4+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 3 1 4+ , srcInfoPoints = []+ }+ 1+ "1")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 5 1 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 1 5 1 6 ]+ }+ (NegApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 7 1 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 1 7 1 8 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ 1+ "1"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 2 1 2 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 2 3 2 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 2 3 2 4+ , SrcSpan "tests/examples/NegativePatterns.hs" 2 6 2 7+ ]+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 2 4 2 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 2 4 2 5 ]+ }+ (Negative+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 2 4 2 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 2 4 2 5 ]+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ 1+ "1"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 2 8 2 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 2 8 2 9 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 3 1 3 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 3 3 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 3 3 3 4+ , SrcSpan "tests/examples/NegativePatterns.hs" 3 8 3 9+ ]+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 3 5 3 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 3 5 3 6 ]+ }+ (Negative+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 3 5 3 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 3 5 3 6 ]+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 3 7 3 8+ , srcInfoPoints = []+ }+ 2+ "2"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 3 10 3 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 3 10 3 11 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ 2+ "2")))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 4 1 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "f")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 4 3 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 4 3 4 4+ , SrcSpan "tests/examples/NegativePatterns.hs" 4 10 4 11+ ]+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 4 6 4 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 4 6 4 7 ]+ }+ (Negative+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 4 6 4 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 4 6 4 7 ]+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ 3+ "3"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 4 12 4 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 4 12 4 13 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ 3+ "3")))+ Nothing+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 1 6 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 6 10 6 11+ , SrcSpan "tests/examples/NegativePatterns.hs" 6 23 6 24+ , SrcSpan "tests/examples/NegativePatterns.hs" 6 34 6 35+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 1 6 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 6 6 9+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 6 6 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 6 6 7+ , srcInfoPoints = []+ }+ "Z"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 12 6 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 12 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 12 6 18+ , srcInfoPoints = []+ }+ "Higher")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 19 6 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 19 6 20+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ "a")+ ])+ , QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 25 6 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 25 6 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 25 6 29+ , srcInfoPoints = []+ }+ "Same")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 30 6 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 30 6 31+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 32 6 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 32 6 33+ , srcInfoPoints = []+ }+ "a")+ ])+ , QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 36 6 45+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 36 6 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 36 6 41+ , srcInfoPoints = []+ }+ "Lower")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 42 6 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 42 6 43+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 44 6 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 6 44 6 45+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 8 1 8 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 8 8 8 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 8 1 8 7+ , srcInfoPoints = []+ })+ (Just 7)+ [ ConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 8 10 8 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 8 10 8 11+ , SrcSpan "tests/examples/NegativePatterns.hs" 8 11 8 17+ , SrcSpan "tests/examples/NegativePatterns.hs" 8 17 8 18+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 8 10 8 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 8 10 8 11+ , SrcSpan "tests/examples/NegativePatterns.hs" 8 11 8 17+ , SrcSpan "tests/examples/NegativePatterns.hs" 8 17 8 18+ ]+ }+ "Higher")+ ]+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 9 1 9 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 9 8 9 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 9 1 9 7+ , srcInfoPoints = []+ })+ (Just 6)+ [ ConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 9 10 9 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 9 10 9 11+ , SrcSpan "tests/examples/NegativePatterns.hs" 9 11 9 15+ , SrcSpan "tests/examples/NegativePatterns.hs" 9 15 9 16+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 9 10 9 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 9 10 9 11+ , SrcSpan "tests/examples/NegativePatterns.hs" 9 11 9 15+ , SrcSpan "tests/examples/NegativePatterns.hs" 9 15 9 16+ ]+ }+ "Same")+ ]+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 10 1 10 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 10 8 10 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 10 1 10 7+ , srcInfoPoints = []+ })+ (Just 5)+ [ ConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 10 10 10 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 10 10 10 11+ , SrcSpan "tests/examples/NegativePatterns.hs" 10 11 10 16+ , SrcSpan "tests/examples/NegativePatterns.hs" 10 16 10 17+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 10 10 10 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 10 10 10 11+ , SrcSpan "tests/examples/NegativePatterns.hs" 10 11 10 16+ , SrcSpan "tests/examples/NegativePatterns.hs" 10 16 10 17+ ]+ }+ "Lower")+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 1 12 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 12 3 12 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 1 12 2+ , srcInfoPoints = []+ }+ "g"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 6 12 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 12 12 12 14 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 6 12 11+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 6 12 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 6 12 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 6 12 7+ , srcInfoPoints = []+ }+ "Z")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 8 12 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 8 12 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 8 12 11+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 15 12 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 12 15 12 16+ , SrcSpan "tests/examples/NegativePatterns.hs" 12 16 12 17+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 15 12 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 12 15 12 16+ , SrcSpan "tests/examples/NegativePatterns.hs" 12 16 12 17+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 12 15 12 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 12 15 12 16+ , SrcSpan "tests/examples/NegativePatterns.hs" 12 16 12 17+ ]+ }))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 1 15 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 1 13 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 1 13 2+ , srcInfoPoints = []+ }+ "g")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 3 13 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 13 3 13 4+ , SrcSpan "tests/examples/NegativePatterns.hs" 13 21 13 22+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 7 13 21+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 7 13 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 13 7 13 8 ]+ }+ (Negative+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 7 13 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 13 7 13 8 ]+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 8 13 9+ , srcInfoPoints = []+ }+ 1+ "1"))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 10 13 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 13 10 13 11+ , SrcSpan "tests/examples/NegativePatterns.hs" 13 11 13 17+ , SrcSpan "tests/examples/NegativePatterns.hs" 13 17 13 18+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 11 13 17+ , srcInfoPoints = []+ }+ "Higher"))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 20 13 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 20 13 21+ , srcInfoPoints = []+ }+ "x")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 23 13 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 13 23 13 24 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 25 13 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 13 25 13 26+ , SrcSpan "tests/examples/NegativePatterns.hs" 13 26 13 27+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 25 13 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 13 25 13 26+ , SrcSpan "tests/examples/NegativePatterns.hs" 13 26 13 27+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 13 25 13 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 13 25 13 26+ , SrcSpan "tests/examples/NegativePatterns.hs" 13 26 13 27+ ]+ }))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 1 14 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 1 14 2+ , srcInfoPoints = []+ }+ "g")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 3 14 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 14 3 14 4+ , SrcSpan "tests/examples/NegativePatterns.hs" 14 21 14 22+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 6 14 21+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 6 14 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 14 6 14 7 ]+ }+ (Negative+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 6 14 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 14 6 14 7 ]+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ 2+ "2"))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 11 14 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 14 11 14 12+ , SrcSpan "tests/examples/NegativePatterns.hs" 14 12 14 16+ , SrcSpan "tests/examples/NegativePatterns.hs" 14 16 14 17+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 12 14 16+ , srcInfoPoints = []+ }+ "Same"))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 20 14 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 20 14 21+ , srcInfoPoints = []+ }+ "x")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 23 14 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 14 23 14 24 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 25 14 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 14 25 14 26+ , SrcSpan "tests/examples/NegativePatterns.hs" 14 26 14 27+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 25 14 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 14 25 14 26+ , SrcSpan "tests/examples/NegativePatterns.hs" 14 26 14 27+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 14 25 14 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 14 25 14 26+ , SrcSpan "tests/examples/NegativePatterns.hs" 14 26 14 27+ ]+ }))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 1 15 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 1 15 2+ , srcInfoPoints = []+ }+ "g")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 3 15 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 15 3 15 4+ , SrcSpan "tests/examples/NegativePatterns.hs" 15 21 15 22+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 5 15 21+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 5 15 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 15 5 15 6 ]+ }+ (Negative+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 5 15 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 15 5 15 6 ]+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 10 15 11+ , srcInfoPoints = []+ }+ 3+ "3"))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 12 15 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 15 12 15 13+ , SrcSpan "tests/examples/NegativePatterns.hs" 15 13 15 18+ , SrcSpan "tests/examples/NegativePatterns.hs" 15 18 15 19+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 13 15 18+ , srcInfoPoints = []+ }+ "Lower"))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 20 15 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 20 15 21+ , srcInfoPoints = []+ }+ "x")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 23 15 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 15 23 15 24 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 25 15 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 15 25 15 26+ , SrcSpan "tests/examples/NegativePatterns.hs" 15 26 15 27+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 25 15 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 15 25 15 26+ , SrcSpan "tests/examples/NegativePatterns.hs" 15 26 15 27+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NegativePatterns.hs" 15 25 15 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NegativePatterns.hs" 15 25 15 26+ , SrcSpan "tests/examples/NegativePatterns.hs" 15 26 15 27+ ]+ }))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/NegativePatterns.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/NegativePatterns.hs.prettyprinter.golden view
@@ -0,0 +1,19 @@+f 1 = -1+f (-1) = 1+f (-2) = 2+f (-3) = 3++data Z a = Higher a a+ | Same a a+ | Lower a a++infixr 7 `Higher`++infixr 6 `Same`++infixr 5 `Lower`++g :: Z Int -> ()+g (-1 `Higher` x) = ()+g (-2 `Same` x) = ()+g (-3 `Lower` x) = ()
tests/examples/NestedAsPat.hs.parser.golden view
@@ -1,1 +1,127 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 1, srcSpanStartColumn = 20, srcSpanEndLine = 1, srcSpanEndColumn = 25}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 19}, srcInfoPoints = []}) "NestedAsPat") Nothing Nothing)) [] [] [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) "nestedAsPat") [PList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 24, srcSpanEndLine = 3, srcSpanEndColumn = 25}]}) [PAsPat (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 15}, srcInfoPoints = []}) "x") (PParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 24}]}) (PApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Just")) [PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 22, srcSpanEndLine = 3, srcSpanEndColumn = 23}, srcInfoPoints = []})]))]] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 27}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/NestedAsPat.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = []}) "undefined")))) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NestedAsPat.hs" 1 1 1 1+ , SrcSpan "tests/examples/NestedAsPat.hs" 1 1 1 1+ , SrcSpan "tests/examples/NestedAsPat.hs" 3 1 3 1+ , SrcSpan "tests/examples/NestedAsPat.hs" 4 1 4 1+ , SrcSpan "tests/examples/NestedAsPat.hs" 4 1 4 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 1 1 1 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NestedAsPat.hs" 1 1 1 7+ , SrcSpan "tests/examples/NestedAsPat.hs" 1 20 1 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 1 8 1 19+ , srcInfoPoints = []+ }+ "NestedAsPat")+ Nothing+ Nothing))+ []+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 1 3 37+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 1 3 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 1 3 12+ , srcInfoPoints = []+ }+ "nestedAsPat")+ [ PList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 13 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NestedAsPat.hs" 3 13 3 14+ , SrcSpan "tests/examples/NestedAsPat.hs" 3 24 3 25+ ]+ }+ [ PAsPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 14 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NestedAsPat.hs" 3 15 3 16 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ "x")+ (PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 16 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NestedAsPat.hs" 3 16 3 17+ , SrcSpan "tests/examples/NestedAsPat.hs" 3 23 3 24+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 17 3 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 17 3 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/NestedAsPat.hs" 3 17 3 21+ , srcInfoPoints = []+ }+ "Just"))+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 22 3 23+ , srcInfoPoints = []+ }+ ]))+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 26 3 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/NestedAsPat.hs" 3 26 3 27 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 28 3 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 28 3 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/NestedAsPat.hs" 3 28 3 37+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/NoStartNumIdents.hs view
@@ -0,0 +1,1 @@+1a = ()
+ tests/examples/NoStartNumIdents.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.parser.golden view
@@ -0,0 +1,3 @@+ParseFailed+ (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1)+ "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
tests/examples/NonDecreasing.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/NonDecreasing.hs", srcLine = 8, srcColumn = 3}) "Parse error: Last statement in a do-block must be an expression"+ParseFailed (SrcLoc "tests/examples/NonDecreasing.hs" 8 3) "Parse error: Last statement in a do-block must be an expression"
tests/examples/NonDecreasing.hs.parser.golden view
@@ -1,1 +1,3 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/NonDecreasing.hs", srcLine = 8, srcColumn = 3}) "Parse error: Last statement in a do-block must be an expression"+ParseFailed+ (SrcLoc "tests/examples/NonDecreasing.hs" 8 3)+ "Parse error: Last statement in a do-block must be an expression"
tests/examples/NonDecreasing.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/NonDecreasing.hs", srcLine = 8, srcColumn = 3}) "Parse error: Last statement in a do-block must be an expression"+ParseFailed (SrcLoc "tests/examples/NonDecreasing.hs" 8 3) "Parse error: Last statement in a do-block must be an expression"
tests/examples/NonDecreasing.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/NonDecreasing.hs", srcLine = 8, srcColumn = 3}) "Parse error: Last statement in a do-block must be an expression"+ParseFailed (SrcLoc "tests/examples/NonDecreasing.hs" 8 3) "Parse error: Last statement in a do-block must be an expression"
+ tests/examples/Nounpack2.hs view
@@ -0,0 +1,3 @@+++data Foo = Foo {-# NOUNPACK #-} Int
+ tests/examples/Nounpack2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Nounpack2.hs.parser.golden view
@@ -0,0 +1,96 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1+ , SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1+ , SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1+ , SrcSpan "tests/examples/Nounpack2.hs" 4 1 4 1+ , SrcSpan "tests/examples/Nounpack2.hs" 4 1 4 1+ ]+ }+ Nothing+ []+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Nounpack2.hs" 3 10 3 11 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ "Foo"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 36+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ "Foo")+ [ TyBang+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 36+ , srcInfoPoints = []+ }+ (NoStrictAnnot+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (NoUnpack+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 28+ , SrcSpan "tests/examples/Nounpack2.hs" 3 29 3 32+ ]+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36+ , srcInfoPoints = []+ }+ "Int")))+ ])+ ]+ []+ ]+ , []+ )
+ tests/examples/Nounpack2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Nounpack2.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+data Foo = Foo {-# NOUNPACK #-} Int
+ tests/examples/OptionsPragma.hs view
@@ -0,0 +1,2 @@+{-# OPTIONS -fno-warn-orphans #-}+
+ tests/examples/OptionsPragma.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/OptionsPragma.hs.parser.golden view
@@ -0,0 +1,28 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/OptionsPragma.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OptionsPragma.hs" 1 1 1 1+ , SrcSpan "tests/examples/OptionsPragma.hs" 3 1 3 1+ , SrcSpan "tests/examples/OptionsPragma.hs" 3 1 3 1+ , SrcSpan "tests/examples/OptionsPragma.hs" 3 1 3 1+ , SrcSpan "tests/examples/OptionsPragma.hs" 3 1 3 1+ ]+ }+ Nothing+ [ OptionsPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/OptionsPragma.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OptionsPragma.hs" 1 1 1 31+ , SrcSpan "tests/examples/OptionsPragma.hs" 1 31 1 34+ ]+ }+ Nothing+ "-fno-warn-orphans "+ ]+ []+ []+ , []+ )
+ tests/examples/OptionsPragma.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/OptionsPragma.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+{-# OPTIONS -fno-warn-orphans #-}
+ tests/examples/Overlapable.hs view
@@ -0,0 +1,6 @@+instance {-# OVERLAP #-} C a++instance {-# NO_OVERLAP #-} C a++instance {-# INCOHERENT #-} C a+
+ tests/examples/Overlapable.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Overlapable.hs.parser.golden view
@@ -0,0 +1,176 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapable.hs" 1 1 1 1+ , SrcSpan "tests/examples/Overlapable.hs" 1 1 1 1+ , SrcSpan "tests/examples/Overlapable.hs" 1 1 1 1+ , SrcSpan "tests/examples/Overlapable.hs" 3 1 3 1+ , SrcSpan "tests/examples/Overlapable.hs" 5 1 5 1+ , SrcSpan "tests/examples/Overlapable.hs" 7 1 7 1+ , SrcSpan "tests/examples/Overlapable.hs" 7 1 7 1+ ]+ }+ Nothing+ []+ []+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapable.hs" 1 1 1 9 ]+ }+ (Just+ (Overlap+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 10 1 21+ , srcInfoPoints = []+ }))+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 26 1 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 26 1 29+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 26 1 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 26 1 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 26 1 27+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 28 1 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 28 1 29+ , srcInfoPoints = []+ }+ "a"))))+ Nothing+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 1 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapable.hs" 3 1 3 9 ]+ }+ (Just+ (NoOverlap+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 10 3 24+ , srcInfoPoints = []+ }))+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 29 3 32+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 29 3 32+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 29 3 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 29 3 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 29 3 30+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 31 3 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 31 3 32+ , srcInfoPoints = []+ }+ "a"))))+ Nothing+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 1 5 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapable.hs" 5 1 5 9 ]+ }+ (Just+ (Incoherent+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 10 5 24+ , srcInfoPoints = []+ }))+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 29 5 32+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 29 5 32+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 29 5 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 29 5 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 29 5 30+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 31 5 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 31 5 32+ , srcInfoPoints = []+ }+ "a"))))+ Nothing+ ]+ , []+ )
+ tests/examples/Overlapable.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Overlapable.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+instance {-# OVERLAP #-} C a++instance {-# NO_OVERLAP #-} C a++instance {-# INCOHERENT #-} C a
+ tests/examples/Overlapping.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}++module Overlapping where++class C a b where+ f :: a -> b -> Bool++instance C a b where+ f _ _ = False++instance {-# OVERLAPPING #-} C a a where+ f _ _ = True++instance {-# OVERLAPS #-} C a a where+ f _ _ = True++instance {-# OVERLAPPABLE #-} C a a where+ f _ _ = True++-- >>> f 'a' 'b'+-- True+--+-- >>> f 'a' "starfish"+-- False
+ tests/examples/Overlapping.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Overlapping.hs.parser.golden view
@@ -0,0 +1,730 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 1 26 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 1 1 1 1+ , SrcSpan "tests/examples/Overlapping.hs" 2 1 2 1+ , SrcSpan "tests/examples/Overlapping.hs" 4 1 4 1+ , SrcSpan "tests/examples/Overlapping.hs" 4 1 4 1+ , SrcSpan "tests/examples/Overlapping.hs" 6 1 6 1+ , SrcSpan "tests/examples/Overlapping.hs" 9 1 9 1+ , SrcSpan "tests/examples/Overlapping.hs" 12 1 12 1+ , SrcSpan "tests/examples/Overlapping.hs" 15 1 15 1+ , SrcSpan "tests/examples/Overlapping.hs" 18 1 18 1+ , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 1+ , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 4 1 4 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 4 1 4 7+ , SrcSpan "tests/examples/Overlapping.hs" 4 20 4 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 4 8 4 19+ , srcInfoPoints = []+ }+ "Overlapping")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 1 1 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 1 1 1 13+ , SrcSpan "tests/examples/Overlapping.hs" 1 36 1 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 14 1 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 2 1 2 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 2 1 2 13+ , SrcSpan "tests/examples/Overlapping.hs" 2 36 2 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 2 14 2 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 1 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 6 1 6 6+ , SrcSpan "tests/examples/Overlapping.hs" 6 13 6 18+ , SrcSpan "tests/examples/Overlapping.hs" 7 3 7 3+ , SrcSpan "tests/examples/Overlapping.hs" 9 1 9 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 12+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "b")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 7 5 7 7 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 7 5 7 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 4+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 7 10 7 12 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 9+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 7 15 7 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ "b"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22+ , srcInfoPoints = []+ }+ "Bool"))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 1 12 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 9 1 9 9+ , SrcSpan "tests/examples/Overlapping.hs" 9 16 9 21+ , SrcSpan "tests/examples/Overlapping.hs" 10 3 10 3+ , SrcSpan "tests/examples/Overlapping.hs" 12 1 12 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 15+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 13+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 12 9 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 12 9 13+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 14 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 14 9 15+ , srcInfoPoints = []+ }+ "b"))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 4+ , srcInfoPoints = []+ }+ "f")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 5 10 6+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 7 10 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 9 10 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 10 9 10 10 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16+ , srcInfoPoints = []+ }+ "False"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 1 15 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 12 1 12 9+ , SrcSpan "tests/examples/Overlapping.hs" 12 36 12 41+ , SrcSpan "tests/examples/Overlapping.hs" 13 3 13 3+ , SrcSpan "tests/examples/Overlapping.hs" 15 1 15 0+ ]+ }+ (Just+ (Overlapping+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 10 12 25+ , srcInfoPoints = []+ }))+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 35+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 33+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 32 12 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 32 12 33+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 34 12 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 34 12 35+ , srcInfoPoints = []+ }+ "a"))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 4+ , srcInfoPoints = []+ }+ "f")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 5 13 6+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 7 13 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 9 13 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 13 9 13 10 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 1 18 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 15 1 15 9+ , SrcSpan "tests/examples/Overlapping.hs" 15 33 15 38+ , SrcSpan "tests/examples/Overlapping.hs" 16 3 16 3+ , SrcSpan "tests/examples/Overlapping.hs" 18 1 18 0+ ]+ }+ (Just+ (Overlaps+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 10 15 22+ , srcInfoPoints = []+ }))+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 32+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 32+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 30+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 29 15 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 29 15 30+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 31 15 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 31 15 32+ , srcInfoPoints = []+ }+ "a"))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 4+ , srcInfoPoints = []+ }+ "f")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 5 16 6+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 7 16 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 9 16 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 16 9 16 10 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 1 26 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 18 1 18 9+ , SrcSpan "tests/examples/Overlapping.hs" 18 37 18 42+ , SrcSpan "tests/examples/Overlapping.hs" 19 3 19 3+ , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 0+ ]+ }+ (Just+ (Overlappable+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 10 18 26+ , srcInfoPoints = []+ }))+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 36+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 36+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 34+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 33 18 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 33 18 34+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 35 18 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 35 18 36+ , srcInfoPoints = []+ }+ "a"))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 4+ , srcInfoPoints = []+ }+ "f")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 5 19 6+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 7 19 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 9 19 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 19 9 19 10 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ])+ ])+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/Overlapping.hs" 21 1 21 17)+ " >>> f 'a' 'b'"+ , Comment+ False (SrcSpan "tests/examples/Overlapping.hs" 22 1 22 8) " True"+ , Comment+ False (SrcSpan "tests/examples/Overlapping.hs" 23 1 23 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/Overlapping.hs" 24 1 24 24)+ " >>> f 'a' \"starfish\""+ , Comment+ False (SrcSpan "tests/examples/Overlapping.hs" 25 1 25 9) " False"+ ]+ )
+ tests/examples/Overlapping.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Overlapping.hs.prettyprinter.golden view
@@ -0,0 +1,18 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+module Overlapping where++class C a b where+ f :: a -> b -> Bool++instance C a b where+ f _ _ = False++instance {-# OVERLAPPING #-} C a a where+ f _ _ = True++instance {-# OVERLAPS #-} C a a where+ f _ _ = True++instance {-# OVERLAPPABLE #-} C a a where+ f _ _ = True
+ tests/examples/OverloadedLabels.hs view
@@ -0,0 +1,29 @@+-- Basic tests of overloaded labels++{-# LANGUAGE OverloadedLabels+ , DataKinds+ , FlexibleContexts+ , FlexibleInstances+ , MultiParamTypeClasses+ , NoMonomorphismRestriction+ #-}++import GHC.OverloadedLabels++instance IsLabel "true" Bool where+ fromLabel _ = True++instance IsLabel "_False1'" Bool where+ fromLabel _ = False++a :: IsLabel "true" t => t+a = #true++b = #_False1'++c :: Bool+c = #true++main = do print (a :: Bool)+ print (b :: Bool)+ print c
+ tests/examples/OverloadedLabels.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/OverloadedLabels.hs.parser.golden view
@@ -0,0 +1,911 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 30 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 3 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 13 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 9 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 3 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 4 12 4 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 5 12 5 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 6 12 6 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 7 12 7 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 8 12 8 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 9 3 9 6+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 3 14 3 30+ , srcInfoPoints = []+ }+ "OverloadedLabels"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 4 14 4 23+ , srcInfoPoints = []+ }+ "DataKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 5 14 5 30+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 6 14 6 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 7 14 7 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 8 14 8 39+ , srcInfoPoints = []+ }+ "NoMonomorphismRestriction"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 11 8 11 28+ , srcInfoPoints = []+ }+ "GHC.OverloadedLabels"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 16 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 13 9+ , SrcSpan "tests/examples/OverloadedLabels.hs" 13 30 13 35+ , SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 3+ , SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 29+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17+ , srcInfoPoints = []+ }+ "IsLabel")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 18 13 24+ , srcInfoPoints = []+ }+ (PromotedString+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 18 13 24+ , srcInfoPoints = []+ }+ "true"+ "true")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29+ , srcInfoPoints = []+ }+ "Bool")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 12+ , srcInfoPoints = []+ }+ "fromLabel")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 13 14 14+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 15 14 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 14 15 14 16 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 19 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 9+ , SrcSpan "tests/examples/OverloadedLabels.hs" 16 34 16 39+ , SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 3+ , SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 33+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 28+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17+ , srcInfoPoints = []+ }+ "IsLabel")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 18 16 28+ , srcInfoPoints = []+ }+ (PromotedString+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 18 16 28+ , srcInfoPoints = []+ }+ "_False1'"+ "_False1'")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 29 16 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 29 16 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 29 16 33+ , srcInfoPoints = []+ }+ "Bool")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 12+ , srcInfoPoints = []+ }+ "fromLabel")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 13 17 14+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 15 17 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 17 15 17 16 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22+ , srcInfoPoints = []+ }+ "False"))))+ Nothing+ ])+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 3 19 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 2+ , srcInfoPoints = []+ }+ "a"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 27+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+ , srcInfoPoints = []+ }+ "IsLabel")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20+ , srcInfoPoints = []+ }+ (PromotedString+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20+ , srcInfoPoints = []+ }+ "true"+ "true")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22+ , srcInfoPoints = []+ }+ "t"))))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 26 19 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 26 19 27+ , srcInfoPoints = []+ }+ "t")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 2+ , srcInfoPoints = []+ }+ "a"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 20 3 20 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 20 3 20 4 ]+ }+ (OverloadedLabel+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 20 5 20 10+ , srcInfoPoints = []+ }+ "true"))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 2+ , srcInfoPoints = []+ }+ "b"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 22 3 22 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 22 3 22 4 ]+ }+ (OverloadedLabel+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 22 5 22 14+ , srcInfoPoints = []+ }+ "_False1'"))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 24 3 24 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 2+ , srcInfoPoints = []+ }+ "c"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 2+ , srcInfoPoints = []+ }+ "c"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 25 3 25 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 25 3 25 4 ]+ }+ (OverloadedLabel+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 25 5 25 10+ , srcInfoPoints = []+ }+ "true"))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 29 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 6 29 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 6 27 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 8 29 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 8 27 10+ , SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 11+ , SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 11+ , SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 11+ , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 17 27 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 17 27 18+ , SrcSpan "tests/examples/OverloadedLabels.hs" 27 27 27 28+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 20 27 22 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27+ , srcInfoPoints = []+ }+ "Bool"))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 17 28 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 28 17 28 18+ , SrcSpan "tests/examples/OverloadedLabels.hs" 28 27 28 28+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 28 20 28 22 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27+ , srcInfoPoints = []+ }+ "Bool"))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 18+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16+ , srcInfoPoints = []+ }+ "print")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ "c"))))+ ]))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/OverloadedLabels.hs" 1 1 1 36)+ " Basic tests of overloaded labels"+ ]+ )
+ tests/examples/OverloadedLabels.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/OverloadedLabels.hs.prettyprinter.golden view
@@ -0,0 +1,21 @@+{-# LANGUAGE OverloadedLabels, DataKinds, FlexibleContexts,+ FlexibleInstances, MultiParamTypeClasses, NoMonomorphismRestriction+ #-}+import GHC.OverloadedLabels++instance IsLabel "true" Bool where+ fromLabel _ = True++instance IsLabel "_False1'" Bool where+ fromLabel _ = False++a :: IsLabel "true" t => t+a = #true+b = #_False1'++c :: Bool+c = #true+main+ = do print (a :: Bool)+ print (b :: Bool)+ print c
+ tests/examples/PackageImports.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE PackageImports #-}+module PackageImports where++import "wibble" PackageImports.Default+import "wibble" PackageImports.Builtin.All
+ tests/examples/PackageImports.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PackageImports.hs.parser.golden view
@@ -0,0 +1,100 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PackageImports.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PackageImports.hs" 1 1 1 1+ , SrcSpan "tests/examples/PackageImports.hs" 2 1 2 1+ , SrcSpan "tests/examples/PackageImports.hs" 2 1 2 1+ , SrcSpan "tests/examples/PackageImports.hs" 4 1 4 1+ , SrcSpan "tests/examples/PackageImports.hs" 5 1 5 1+ , SrcSpan "tests/examples/PackageImports.hs" 6 1 6 1+ , SrcSpan "tests/examples/PackageImports.hs" 6 1 6 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PackageImports.hs" 2 1 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PackageImports.hs" 2 1 2 7+ , SrcSpan "tests/examples/PackageImports.hs" 2 23 2 28+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PackageImports.hs" 2 8 2 22+ , srcInfoPoints = []+ }+ "PackageImports")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PackageImports.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PackageImports.hs" 1 1 1 13+ , SrcSpan "tests/examples/PackageImports.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PackageImports.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "PackageImports"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PackageImports.hs" 4 1 4 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PackageImports.hs" 4 1 4 7+ , SrcSpan "tests/examples/PackageImports.hs" 4 8 4 16+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PackageImports.hs" 4 17 4 39+ , srcInfoPoints = []+ }+ "PackageImports.Default"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Just "wibble"+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PackageImports.hs" 5 1 5 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PackageImports.hs" 5 1 5 7+ , SrcSpan "tests/examples/PackageImports.hs" 5 8 5 16+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PackageImports.hs" 5 17 5 43+ , srcInfoPoints = []+ }+ "PackageImports.Builtin.All"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Just "wibble"+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ []+ , []+ )
+ tests/examples/PackageImports.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PackageImports.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE PackageImports #-}+module PackageImports where+import "wibble" PackageImports.Default+import "wibble" PackageImports.Builtin.All
+ tests/examples/PackageImportsMissing.hs view
@@ -0,0 +1,4 @@+module PackageImportsMissing where++import "wibble" PackageImports.Default+import "wibble" PackageImports.Builtin.All
+ tests/examples/PackageImportsMissing.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/PackageImportsMissing.hs" 3 17) "PackageImports language extension is not enabled. Please add {-# LANGUAGE PackageImports #-} pragma at the top of your module."
+ tests/examples/PackageImportsMissing.hs.parser.golden view
@@ -0,0 +1,3 @@+ParseFailed+ (SrcLoc "tests/examples/PackageImportsMissing.hs" 3 17)+ "PackageImports language extension is not enabled. Please add {-# LANGUAGE PackageImports #-} pragma at the top of your module."
+ tests/examples/PackageImportsMissing.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/PackageImportsMissing.hs" 3 17) "PackageImports language extension is not enabled. Please add {-# LANGUAGE PackageImports #-} pragma at the top of your module."
+ tests/examples/PackageImportsMissing.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/PackageImportsMissing.hs" 3 17) "PackageImports language extension is not enabled. Please add {-# LANGUAGE PackageImports #-} pragma at the top of your module."
+ tests/examples/ParallelArrays.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE ParallelArrays #-}++dotp_double :: [:Double:] -> [:Double:] -> Double+dotp_double xs ys = sumP [:x * y | x <- xs | y <- ys:]++
+ tests/examples/ParallelArrays.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ParallelArrays.hs.parser.golden view
@@ -0,0 +1,384 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParallelArrays.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 1 1 1 1+ , SrcSpan "tests/examples/ParallelArrays.hs" 3 1 3 1+ , SrcSpan "tests/examples/ParallelArrays.hs" 3 1 3 1+ , SrcSpan "tests/examples/ParallelArrays.hs" 3 1 3 1+ , SrcSpan "tests/examples/ParallelArrays.hs" 4 1 4 1+ , SrcSpan "tests/examples/ParallelArrays.hs" 7 1 7 1+ , SrcSpan "tests/examples/ParallelArrays.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParallelArrays.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 1 1 1 13+ , SrcSpan "tests/examples/ParallelArrays.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "ParallelArrays"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParallelArrays.hs" 3 1 3 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 3 13 3 15 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParallelArrays.hs" 3 1 3 12+ , srcInfoPoints = []+ }+ "dotp_double"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 16 3 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 3 27 3 29 ]+ }+ (TyParArray+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 16 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 3 16 3 18+ , SrcSpan "tests/examples/ParallelArrays.hs" 3 24 3 26+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 18 3 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 18 3 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 18 3 24+ , srcInfoPoints = []+ }+ "Double"))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 30 3 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 3 41 3 43 ]+ }+ (TyParArray+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 30 3 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 3 30 3 32+ , SrcSpan "tests/examples/ParallelArrays.hs" 3 38 3 40+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 32 3 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 32 3 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 32 3 38+ , srcInfoPoints = []+ }+ "Double"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 44 3 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 44 3 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 3 44 3 50+ , srcInfoPoints = []+ }+ "Double")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParallelArrays.hs" 4 1 4 55+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParallelArrays.hs" 4 1 4 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParallelArrays.hs" 4 1 4 12+ , srcInfoPoints = []+ }+ "dotp_double")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 13 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 13 4 15+ , srcInfoPoints = []+ }+ "xs")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 16 4 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 16 4 18+ , srcInfoPoints = []+ }+ "ys")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 19 4 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 4 19 4 20 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 21 4 55+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 21 4 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 21 4 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 21 4 25+ , srcInfoPoints = []+ }+ "sumP")))+ (ParArrayComp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 26 4 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 4 26 4 28+ , SrcSpan "tests/examples/ParallelArrays.hs" 4 34 4 35+ , SrcSpan "tests/examples/ParallelArrays.hs" 4 44 4 45+ , SrcSpan "tests/examples/ParallelArrays.hs" 4 53 4 55+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 28 4 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 30 4 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 30 4 31+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 30 4 31+ , srcInfoPoints = []+ }+ "*")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 32 4 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 32 4 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 32 4 33+ , srcInfoPoints = []+ }+ "y"))))+ [ [ QualStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 36 4 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 4 38 4 40 ]+ }+ (Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 36 4 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 4 38 4 40 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 36 4 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 36 4 37+ , srcInfoPoints = []+ }+ "x"))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 41 4 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 41 4 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 41 4 43+ , srcInfoPoints = []+ }+ "xs"))))+ ]+ , [ QualStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 46 4 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 4 48 4 50 ]+ }+ (Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 46 4 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelArrays.hs" 4 48 4 50 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 46 4 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 46 4 47+ , srcInfoPoints = []+ }+ "y"))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 51 4 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 51 4 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelArrays.hs" 4 51 4 53+ , srcInfoPoints = []+ }+ "ys"))))+ ]+ ])))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/ParallelArrays.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ParallelArrays.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE ParallelArrays #-}++dotp_double :: [:Double:] -> [:Double:] -> Double+dotp_double xs ys = sumP [:x * y| x <- xs| y <- ys:]
+ tests/examples/ParallelArrays2.hs view
@@ -0,0 +1,4 @@+-- Should fail without extensions.+dotp_double :: [:Double:] -> [:Double:] -> Double+dotp_double xs ys = sumP [:x * y | x <- xs | y <- ys:]+
+ tests/examples/ParallelArrays2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/ParallelArrays2.hs" 2 17) "Parse error: :"
+ tests/examples/ParallelArrays2.hs.parser.golden view
@@ -0,0 +1,2 @@+ParseFailed+ (SrcLoc "tests/examples/ParallelArrays2.hs" 2 17) "Parse error: :"
+ tests/examples/ParallelArrays2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/ParallelArrays2.hs" 2 17) "Parse error: :"
+ tests/examples/ParallelArrays2.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/ParallelArrays2.hs" 2 17) "Parse error: :"
tests/examples/ParallelListComp.hs.parser.golden view
@@ -1,1 +1,402 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 31, srcSpanEndLine = 1, srcSpanEndColumn = 34}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 30}, srcInfoPoints = []}) "ParallelListComp"]] [] [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 62}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 62}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 2}, srcInfoPoints = []}) "f") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 5}, srcInfoPoints = []}) "xs"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 8}, srcInfoPoints = []}) "ys"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) "zs")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 62}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}]}) (ParComp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 62}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 24, srcSpanEndLine = 3, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 34, srcSpanEndLine = 3, srcSpanEndColumn = 35},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 43, srcSpanEndLine = 3, srcSpanEndColumn = 44},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 51, srcSpanEndLine = 3, srcSpanEndColumn = 52},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 61, srcSpanEndLine = 3, srcSpanEndColumn = 62}]}) (Tuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 22, srcSpanEndLine = 3, srcSpanEndColumn = 23}]}) Boxed [Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) "x")),Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 19, srcSpanEndLine = 3, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 19, srcSpanEndLine = 3, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 19, srcSpanEndLine = 3, srcSpanEndColumn = 20}, srcInfoPoints = []}) "y")),Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 21, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 21, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 21, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = []}) "z"))]) [[QualStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 30}]}) (Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 30}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = []}) "x")) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 31, srcSpanEndLine = 3, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 31, srcSpanEndLine = 3, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 31, srcSpanEndLine = 3, srcSpanEndColumn = 33}, srcInfoPoints = []}) "xs"))))],[QualStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 36, srcSpanEndLine = 3, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 38, srcSpanEndLine = 3, srcSpanEndColumn = 40}]}) (Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 36, srcSpanEndLine = 3, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 38, srcSpanEndLine = 3, srcSpanEndColumn = 40}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 36, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 36, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = []}) "y")) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 41, srcSpanEndLine = 3, srcSpanEndColumn = 43}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 41, srcSpanEndLine = 3, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 41, srcSpanEndLine = 3, srcSpanEndColumn = 43}, srcInfoPoints = []}) "ys")))),QualStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 45, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 45, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 45, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 45, srcSpanEndLine = 3, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 45, srcSpanEndLine = 3, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 45, srcSpanEndLine = 3, srcSpanEndColumn = 46}, srcInfoPoints = []}) "y"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 47, srcSpanEndLine = 3, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 47, srcSpanEndLine = 3, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 47, srcSpanEndLine = 3, srcSpanEndColumn = 48}, srcInfoPoints = []}) ">"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 49, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 49, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) 2 "2"))))],[QualStmt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 53, srcSpanEndLine = 3, srcSpanEndColumn = 60}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 55, srcSpanEndLine = 3, srcSpanEndColumn = 57}]}) (Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 53, srcSpanEndLine = 3, srcSpanEndColumn = 60}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 55, srcSpanEndLine = 3, srcSpanEndColumn = 57}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 53, srcSpanEndLine = 3, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 53, srcSpanEndLine = 3, srcSpanEndColumn = 54}, srcInfoPoints = []}) "z")) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 58, srcSpanEndLine = 3, srcSpanEndColumn = 60}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 58, srcSpanEndLine = 3, srcSpanEndColumn = 60}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParallelListComp.hs", srcSpanStartLine = 3, srcSpanStartColumn = 58, srcSpanEndLine = 3, srcSpanEndColumn = 60}, srcInfoPoints = []}) "zs"))))]])) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 1 1 1 1+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 1 3 1+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 1 3 1+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 1 3 1+ , SrcSpan "tests/examples/ParallelListComp.hs" 4 1 4 1+ , SrcSpan "tests/examples/ParallelListComp.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 1 1 1 13+ , SrcSpan "tests/examples/ParallelListComp.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "ParallelListComp"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 1 3 62+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 1 3 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 3 3 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 3 3 5+ , srcInfoPoints = []+ }+ "xs")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 6 3 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 6 3 8+ , srcInfoPoints = []+ }+ "ys")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ "zs")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 12 3 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 3 12 3 13 ]+ }+ (ParComp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 14 3 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 3 14 3 15+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 24 3 25+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 34 3 35+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 43 3 44+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 51 3 52+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 61 3 62+ ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 16 3 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 3 16 3 17+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 18 3 19+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 20 3 21+ , SrcSpan "tests/examples/ParallelListComp.hs" 3 22 3 23+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ "x"))+ , Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ "y"))+ , Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ "z"))+ ])+ [ [ QualStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 26 3 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 3 28 3 30 ]+ }+ (Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 26 3 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 3 28 3 30 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 26 3 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 26 3 27+ , srcInfoPoints = []+ }+ "x"))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 31 3 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 31 3 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 31 3 33+ , srcInfoPoints = []+ }+ "xs"))))+ ]+ , [ QualStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 36 3 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 3 38 3 40 ]+ }+ (Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 36 3 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 3 38 3 40 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 36 3 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 36 3 37+ , srcInfoPoints = []+ }+ "y"))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 41 3 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 41 3 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 41 3 43+ , srcInfoPoints = []+ }+ "ys"))))+ , QualStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 45 3 50+ , srcInfoPoints = []+ }+ (Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 45 3 50+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 45 3 50+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 45 3 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 45 3 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ParallelListComp.hs" 3 45 3 46+ , srcInfoPoints = []+ }+ "y")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 47 3 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 47 3 48+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ParallelListComp.hs" 3 47 3 48+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 49 3 50+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 49 3 50+ , srcInfoPoints = []+ }+ 2+ "2"))))+ ]+ , [ QualStmt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 53 3 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 3 55 3 57 ]+ }+ (Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 53 3 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParallelListComp.hs" 3 55 3 57 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 53 3 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 53 3 54+ , srcInfoPoints = []+ }+ "z"))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 58 3 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 58 3 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ParallelListComp.hs" 3 58 3 60+ , srcInfoPoints = []+ }+ "zs"))))+ ]+ ]))+ Nothing+ ]+ ]+ , []+ )
tests/examples/ParallelListComp.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE ParallelListComp #-}-module Main (main) where f xs ys zs = [(x, y, z)| x <- xs| y <- ys, y > 2| z <- zs]
tests/examples/ParenFunBind.hs.parser.golden view
@@ -1,1 +1,137 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 1, srcSpanStartColumn = 21, srcSpanEndLine = 1, srcSpanEndColumn = 26}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 20}, srcInfoPoints = []}) "ParenFunBind") Nothing Nothing)) [] [] [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 7, srcSpanEndLine = 3, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 2, srcSpanEndLine = 3, srcSpanEndColumn = 5}, srcInfoPoints = []}) "foo") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 7}, srcInfoPoints = []}) "x"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 10}, srcInfoPoints = []}) "y")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 14}, srcInfoPoints = []}) "x"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) "+"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ParenFunBind.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) "y"))))) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParenFunBind.hs" 1 1 1 1+ , SrcSpan "tests/examples/ParenFunBind.hs" 1 1 1 1+ , SrcSpan "tests/examples/ParenFunBind.hs" 3 1 3 1+ , SrcSpan "tests/examples/ParenFunBind.hs" 4 1 4 1+ , SrcSpan "tests/examples/ParenFunBind.hs" 4 1 4 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 1 1 1 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParenFunBind.hs" 1 1 1 7+ , SrcSpan "tests/examples/ParenFunBind.hs" 1 21 1 26+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 1 8 1 20+ , srcInfoPoints = []+ }+ "ParenFunBind")+ Nothing+ Nothing))+ []+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 1 3 18+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 1 3 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParenFunBind.hs" 3 1 3 2+ , SrcSpan "tests/examples/ParenFunBind.hs" 3 7 3 8+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 2 3 5+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 11 3 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ParenFunBind.hs" 3 11 3 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 13 3 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 13 3 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 13 3 14+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ParenFunBind.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/PartialSignatures.hs view
@@ -0,0 +1,293 @@+{-# LANGUAGE GADTs, NamedWildCards, ScopedTypeVariables #-}++bar :: Int -> _ Int+bar x = Foo True () x+++addAndOr1 :: _+addAndOr1 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y+++addAndOr2 :: _ -> _+addAndOr2 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y+++addAndOr3 :: _ -> _ -> _+addAndOr3 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y+++addAndOr4 :: (_ _ _) -> (_ _ _) -> (_ _ _)+addAndOr4 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y+++addAndOr5 :: (_, _) -> (_, _) -> (_, _)+addAndOr5 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y+++addAndOr6 :: (Int, _) -> (Bool, _) -> (_ Int Bool)+addAndOr6 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y+++bar :: _ -> _+bar x = not x+++alpha :: _+alpha = 3+++bravo :: _ => _+bravo = 3+++bravo :: _ => _+bravo = 3++barry :: _a -> (_b _a, _b _)+barry x = (Left "x", Right x)++foo :: a ~ Bool => (a, _)+foo = (True, False)+++every :: _ -> _ -> Bool+every _ [] = True+every p (x:xs) = p x && every p xs++every :: (_a -> Bool) -> [_a] -> Bool+every _ [] = True+every p (x:xs) = p x && every p xs+++bar :: Bool -> Bool+bar x = (x :: _)++bar :: _a -> _a+bar True = (False :: _a)+bar False = (True :: _a)+++arbitCs1 :: _ => a -> String+arbitCs1 x = show (succ x) ++ show (x == x)++arbitCs2 :: (Show a, _) => a -> String+arbitCs2 x = arbitCs1 x++arbitCs3 :: (Show a, Enum a, _) => a -> String+arbitCs3 x = arbitCs1 x++arbitCs4 :: (Eq a, _) => a -> String+arbitCs4 x = arbitCs1 x++arbitCs5 :: (Eq a, Enum a, Show a, _) => a -> String+arbitCs5 x = arbitCs1 x+++foo :: _ => String+foo = "x"++-- No extra constraints++++foo :: _ => a+foo = 3+++foo :: _ => a+foo = 3++fall :: forall a . _ -> a+fall v = v++bar :: _a -> _a+bar x = not x++foo :: (forall a. [a] -> [a]) -> _+foo x = (x [True, False], x ['a', 'b'])++foo :: (forall a. [a] -> [a]) -> (_, _ _)+foo x = (x [True, False], x ['a', 'b'])+++monoLoc :: forall a. a -> ((a, String), (a, _))+monoLoc x = (g True , g False)+ where+ g :: t -> (a, String)+ g _ = (x, "foo")++-- Test case for (fixed) bug that previously generated the following error message:++-- LocalDefinitionBug.hs:9:16:+-- GHC internal error: ‘a’ is not in scope during type checking, but it passed the renamer+-- tcl_env of environment: [alA :-> Type variable ‘_’ = _,+-- alC :-> Identifier[x::a, <NotTopLevel>],+-- alE :-> Type variable ‘t’ = t,+-- rjF :-> Identifier[monoLoc::a+-- -> ((a, String), (a, _)), <NotTopLevel>]]+-- In the type signature for ‘g’: g :: t -> (a, String)+-- In an equation for ‘monoLoc’:+-- monoLoc x+-- = (g True, g False)+-- where+-- g :: t -> (a, String)+-- g _ = (x, "foo")+++-- Fixed by using tcExtendTyVarEnv2 instead of tcExtendTyVarEnv++data NukeMonad a b c++instance Functor (NukeMonad a b) where+ fmap = undefined++instance Applicative (NukeMonad a b) where+ pure = undefined+ (<*>) = undefined++instance Monad (NukeMonad a b) where+ return = undefined+ (>>=) = undefined+++isMeltdown :: NukeMonad param1 param2 Bool+isMeltdown = undefined++unlessMeltdown :: _nm () -> _nm ()+unlessMeltdown c = do m <- isMeltdown+ if m then return () else c++++monoLoc :: forall a. a -> ((a, String), (a, String))+monoLoc x = (g True , g 'v')+ where+ -- g :: b -> (a, String) -- #1+ g :: b -> (a, _) -- #2+ g y = (x, "foo")++-- For #2, we should infer the same type as in #1.++foo :: (_a, b) -> (a, _b)+foo (x, y) = (x, y)+++f :: (_) => a -> a -> Bool+f x y = x == y+++foo :: _+Just foo = Just id+++foo :: Bool -> _+Just foo = Just id++bar :: Bool -> Bool+bar (x :: _) = True+++orr :: a -> a -> a+orr = undefined++g :: _+g = f `orr` True++f :: _+f = g+++test3 :: _+test3 x = const (let x :: _b+ x = True in False) $+ const (let x :: _b+ x = 'a' in True) $+ not x+++-- The named wildcards aren't scoped as the ScopedTypeVariables extension+-- isn't enabled, of which the behaviour is copied. Thus, the _a annotation of+-- x, which must be Bool, isn't the same as the _a in g, which is now+-- generalised over.+foo :: _a -> _+foo x = let v = not x+ g :: _a -> _a+ g x = x+ in (g 'x')++showTwo :: Show _a => _a -> String+showTwo x = show x+++bar :: _ -> Bool+bar _ = True+++data GenParser tok st a = GenParser tok st a++skipMany' :: GenParser tok st a -> GenParser tok st ()+skipMany' = undefined++skipMany :: _ -> _ ()+skipMany = skipMany'++somethingShowable :: Show _x => _x -> _+somethingShowable x = show (not x)+-- Inferred type: Bool -> String+++data I a = I a+instance Functor I where+ fmap f (I a) = I (f a)++newtype B t a = B a+instance Functor (B t) where+ fmap f (B a) = B (f a)++newtype H f = H (f ())++h1 :: _ => _+-- h :: Functor m => (a -> b) -> m a -> H m+h1 f b = (H . fmap (const ())) (fmap f b)++h2 :: _+-- h2 :: Functor m => (a -> b) -> m a -> H m+h2 f b = (H . fmap (const ())) (fmap f b)++app1 :: H (B t)+app1 = h1 (H . I) (B ())++app2 :: H (B t)+app2 = h2 (H . I) (B ())+++foo f = g+ where g r = x+ where x :: _+ x = r+++unc :: (_ -> _ -> _) -> (_, _) -> _+unc = uncurry++unc :: (_a -> _b -> _c) -> (_a, _b) -> _c+unc = uncurry+++foo :: (Show _a, _) => _a -> _+foo x = show (succ x)++bar :: _ -> _ -> _+bar x y = y x
+ tests/examples/PartialSignatures.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PartialSignatures.hs.parser.golden view
@@ -0,0 +1,16739 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 1 1 294 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 1 1 1 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 3 1 3 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 3 1 3 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 3 1 3 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 4 1 4 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 7 1 7 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 1 8 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 13 1 13 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 1 14 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 19 1 19 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 1 20 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 25 1 25 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 1 26 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 31 1 31 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 1 32 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 37 1 37 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 1 38 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 43 1 43 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 44 1 44 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 47 1 47 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 48 1 48 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 51 1 51 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 52 1 52 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 55 1 55 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 56 1 56 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 58 1 58 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 59 1 59 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 1 61 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 62 1 62 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 65 1 65 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 66 1 66 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 67 1 67 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 69 1 69 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 70 1 70 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 71 1 71 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 74 1 74 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 75 1 75 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 77 1 77 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 78 1 78 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 79 1 79 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 82 1 82 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 83 1 83 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 85 1 85 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 86 1 86 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 88 1 88 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 89 1 89 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 91 1 91 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 92 1 92 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 94 1 94 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 95 1 95 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 98 1 98 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 99 1 99 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 105 1 105 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 106 1 106 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 109 1 109 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 110 1 110 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 112 1 112 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 113 1 113 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 115 1 115 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 116 1 116 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 118 1 118 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 119 1 119 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 121 1 121 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 122 1 122 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 125 1 125 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 126 1 126 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 151 1 151 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 153 1 153 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 156 1 156 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 160 1 160 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 165 1 165 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 166 1 166 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 168 1 168 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 169 1 169 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 174 1 174 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 175 1 175 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 183 1 183 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 184 1 184 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 187 1 187 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 188 1 188 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 191 1 191 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 192 1 192 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 195 1 195 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 196 1 196 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 198 1 198 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 199 1 199 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 202 1 202 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 203 1 203 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 205 1 205 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 206 1 206 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 208 1 208 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 209 1 209 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 212 1 212 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 213 1 213 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 224 1 224 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 225 1 225 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 230 1 230 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 231 1 231 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 234 1 234 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 235 1 235 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 238 1 238 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 240 1 240 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 241 1 241 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 243 1 243 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 244 1 244 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 246 1 246 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 247 1 247 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 251 1 251 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 252 1 252 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 255 1 255 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 256 1 256 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 259 1 259 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 261 1 261 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 263 1 263 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 265 1 265 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 267 1 267 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 269 1 269 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 270 1 270 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 272 1 272 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 273 1 273 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 276 1 276 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 282 1 282 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 283 1 283 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 285 1 285 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 286 1 286 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 289 1 289 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 290 1 290 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 292 1 292 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 293 1 293 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 294 1 294 1+ , SrcSpan "tests/examples/PartialSignatures.hs" 294 1 294 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 1 1 1 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 1 1 1 13+ , SrcSpan "tests/examples/PartialSignatures.hs" 1 19 1 20+ , SrcSpan "tests/examples/PartialSignatures.hs" 1 35 1 36+ , SrcSpan "tests/examples/PartialSignatures.hs" 1 57 1 60+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 1 14 1 19+ , srcInfoPoints = []+ }+ "GADTs"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 1 21 1 35+ , srcInfoPoints = []+ }+ "NamedWildCards"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 1 37 1 56+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 1 3 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 3 5 3 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 8 3 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 3 12 3 14 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 8 3 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 8 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 8 3 11+ , srcInfoPoints = []+ }+ "Int")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 15 3 20+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ Nothing)+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 17 3 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 17 3 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 3 17 3 20+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 1 4 22+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 1 4 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "bar")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 7 4 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 4 7 4 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 9 4 22+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 9 4 20+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 9 4 17+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ "Foo")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 13 4 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 13 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 13 4 17+ , srcInfoPoints = []+ }+ "True"))))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 18 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 4 18 4 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 4 19 4 20+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 18 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 4 18 4 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 4 19 4 20+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 18 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 4 18 4 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 4 19 4 20+ ]+ }))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 21 4 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 21 4 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 4 21 4 22+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 7 1 7 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 7 11 7 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 7 1 7 10+ , srcInfoPoints = []+ }+ "addAndOr1"+ ]+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ Nothing)+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 1 10 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 9 3 9 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 1 10 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 9 3 9 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 1 8 10+ , srcInfoPoints = []+ }+ "addAndOr1")+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 11 8 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 8 11 8 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 13 8 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 16 8 17+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 12 8 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 12 8 13+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 15 8 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 15 8 16+ , srcInfoPoints = []+ }+ "b")+ ]+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 18 8 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 8 18 8 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 20 8 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 23 8 24+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ "c")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 22 8 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 22 8 23+ , srcInfoPoints = []+ }+ "d")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 25 8 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 8 25 8 26 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 27 8 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 8 27 8 28+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 38 8 39+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 46 8 47+ ]+ }+ Boxed+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 28 8 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 28 8 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 28 8 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 28 8 29+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 30 8 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 8 30 8 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 31 8 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 35 8 36+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 30 8 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 8 30 8 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 31 8 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 8 35 8 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 31 8 35+ , srcInfoPoints = []+ }+ "plus")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 37 8 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 37 8 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 37 8 38+ , srcInfoPoints = []+ }+ "d")))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 40 8 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 40 8 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 40 8 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 40 8 41+ , srcInfoPoints = []+ }+ "b")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 42 8 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 42 8 44+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 42 8 44+ , srcInfoPoints = []+ }+ "||")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 45 8 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 45 8 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 8 45 8 46+ , srcInfoPoints = []+ }+ "c")))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 9 10 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 9 9 9 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 10 9 10 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 13 1 13 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 9 9 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 9 14 9 16 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 9 9 13+ , srcInfoPoints = []+ }+ "plus"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 17 9 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 9 21 9 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 17 9 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 17 9 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 17 9 20+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 24 9 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 9 28 9 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 24 9 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 24 9 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 24 9 27+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 31 9 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 31 9 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 9 31 9 34+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 9 10 27+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 9 10 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 9 10 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 9 10 10+ , srcInfoPoints = []+ }+ "x"))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 12 10 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 10 11 10 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 10 12 10 16+ , SrcSpan "tests/examples/PartialSignatures.hs" 10 16 10 17+ ]+ }+ "plus")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 18 10 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 18 10 19+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 20 10 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 10 20 10 21 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 22 10 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 22 10 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 10 22 10 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 10 22 10 23+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 24 10 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 10 24 10 25+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 10 24 10 25+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 10 26 10 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 10 26 10 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 10 26 10 27+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 13 1 13 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 13 11 13 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 13 1 13 10+ , srcInfoPoints = []+ }+ "addAndOr2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 13 14 13 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 13 16 13 18 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ Nothing)+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 13 19 13 20+ , srcInfoPoints = []+ }+ Nothing))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 1 16 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 15 3 15 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 1 16 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 15 3 15 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 1 14 10+ , srcInfoPoints = []+ }+ "addAndOr2")+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 11 14 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 14 11 14 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 13 14 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 16 14 17+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 12 14 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 12 14 13+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 15 14 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 15 14 16+ , srcInfoPoints = []+ }+ "b")+ ]+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 18 14 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 14 18 14 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 20 14 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 23 14 24+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 19 14 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 19 14 20+ , srcInfoPoints = []+ }+ "c")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 22 14 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 22 14 23+ , srcInfoPoints = []+ }+ "d")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 25 14 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 14 25 14 26 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 27 14 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 14 27 14 28+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 38 14 39+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 46 14 47+ ]+ }+ Boxed+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 28 14 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 28 14 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 28 14 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 28 14 29+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 30 14 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 14 30 14 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 31 14 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 35 14 36+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 30 14 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 14 30 14 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 31 14 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 14 35 14 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 31 14 35+ , srcInfoPoints = []+ }+ "plus")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 37 14 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 37 14 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 37 14 38+ , srcInfoPoints = []+ }+ "d")))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 40 14 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 40 14 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 40 14 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 40 14 41+ , srcInfoPoints = []+ }+ "b")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 42 14 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 42 14 44+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 42 14 44+ , srcInfoPoints = []+ }+ "||")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 45 14 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 45 14 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 14 45 14 46+ , srcInfoPoints = []+ }+ "c")))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 9 16 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 15 9 15 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 16 9 16 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 19 1 19 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 9 15 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 15 14 15 16 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 9 15 13+ , srcInfoPoints = []+ }+ "plus"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 17 15 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 15 21 15 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 17 15 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 17 15 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 17 15 20+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 24 15 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 15 28 15 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 24 15 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 24 15 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 15 24 15 27+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 31 15 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 15 31 15 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 15 31 15 34+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 9 16 27+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 9 16 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 9 16 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 9 16 10+ , srcInfoPoints = []+ }+ "x"))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 12 16 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 16 11 16 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 16 12 16 16+ , SrcSpan "tests/examples/PartialSignatures.hs" 16 16 16 17+ ]+ }+ "plus")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 18 16 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 18 16 19+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 20 16 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 16 20 16 21 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 22 16 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 22 16 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 16 22 16 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 16 22 16 23+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 24 16 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 16 24 16 25+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 16 24 16 25+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 16 26 16 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 16 26 16 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 16 26 16 27+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 19 1 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 19 11 19 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 19 1 19 10+ , srcInfoPoints = []+ }+ "addAndOr3"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 19 14 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 19 16 19 18 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 19 14 19 15+ , srcInfoPoints = []+ }+ Nothing)+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 19 19 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 19 21 19 23 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 19 19 19 20+ , srcInfoPoints = []+ }+ Nothing)+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 19 24 19 25+ , srcInfoPoints = []+ }+ Nothing)))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 1 22 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 21 3 21 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 1 22 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 21 3 21 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 1 20 10+ , srcInfoPoints = []+ }+ "addAndOr3")+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 11 20 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 20 11 20 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 13 20 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 16 20 17+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 12 20 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 12 20 13+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 15 20 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 15 20 16+ , srcInfoPoints = []+ }+ "b")+ ]+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 18 20 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 20 18 20 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 20 20 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 23 20 24+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 19 20 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 19 20 20+ , srcInfoPoints = []+ }+ "c")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 22 20 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 22 20 23+ , srcInfoPoints = []+ }+ "d")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 25 20 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 20 25 20 26 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 27 20 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 20 27 20 28+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 38 20 39+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 46 20 47+ ]+ }+ Boxed+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 28 20 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 28 20 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 28 20 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 28 20 29+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 30 20 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 20 30 20 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 31 20 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 35 20 36+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 30 20 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 20 30 20 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 31 20 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 20 35 20 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 31 20 35+ , srcInfoPoints = []+ }+ "plus")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 37 20 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 37 20 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 37 20 38+ , srcInfoPoints = []+ }+ "d")))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 40 20 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 40 20 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 40 20 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 40 20 41+ , srcInfoPoints = []+ }+ "b")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 42 20 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 42 20 44+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 42 20 44+ , srcInfoPoints = []+ }+ "||")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 45 20 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 45 20 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 20 45 20 46+ , srcInfoPoints = []+ }+ "c")))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 9 22 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 21 9 21 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 22 9 22 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 25 1 25 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 9 21 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 21 14 21 16 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 9 21 13+ , srcInfoPoints = []+ }+ "plus"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 17 21 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 21 21 21 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 17 21 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 17 21 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 17 21 20+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 24 21 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 21 28 21 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 24 21 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 24 21 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 21 24 21 27+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 31 21 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 21 31 21 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 21 31 21 34+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 9 22 27+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 9 22 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 9 22 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 9 22 10+ , srcInfoPoints = []+ }+ "x"))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 12 22 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 22 11 22 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 22 12 22 16+ , SrcSpan "tests/examples/PartialSignatures.hs" 22 16 22 17+ ]+ }+ "plus")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 18 22 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 18 22 19+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 20 22 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 22 20 22 21 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 22 22 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 22 22 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 22 22 22 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 22 22 22 23+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 24 22 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 22 24 22 25+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 22 24 22 25+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 22 26 22 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 22 26 22 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 22 26 22 27+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 1 25 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 25 11 25 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 1 25 10+ , srcInfoPoints = []+ }+ "addAndOr4"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 14 25 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 25 22 25 24 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 14 25 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 25 14 25 15+ , SrcSpan "tests/examples/PartialSignatures.hs" 25 20 25 21+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 15 25 20+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 15 25 18+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 15 25 16+ , srcInfoPoints = []+ }+ Nothing)+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 17 25 18+ , srcInfoPoints = []+ }+ Nothing))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 19 25 20+ , srcInfoPoints = []+ }+ Nothing)))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 25 25 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 25 33 25 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 25 25 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 25 25 25 26+ , SrcSpan "tests/examples/PartialSignatures.hs" 25 31 25 32+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 26 25 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 26 25 29+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 26 25 27+ , srcInfoPoints = []+ }+ Nothing)+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 28 25 29+ , srcInfoPoints = []+ }+ Nothing))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 30 25 31+ , srcInfoPoints = []+ }+ Nothing)))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 36 25 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 25 36 25 37+ , SrcSpan "tests/examples/PartialSignatures.hs" 25 42 25 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 37 25 42+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 37 25 40+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 37 25 38+ , srcInfoPoints = []+ }+ Nothing)+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 39 25 40+ , srcInfoPoints = []+ }+ Nothing))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 25 41 25 42+ , srcInfoPoints = []+ }+ Nothing)))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 1 28 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 27 3 27 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 1 28 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 27 3 27 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 1 26 10+ , srcInfoPoints = []+ }+ "addAndOr4")+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 11 26 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 26 11 26 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 13 26 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 16 26 17+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 12 26 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 12 26 13+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 15 26 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 15 26 16+ , srcInfoPoints = []+ }+ "b")+ ]+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 18 26 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 26 18 26 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 20 26 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 23 26 24+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 19 26 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 19 26 20+ , srcInfoPoints = []+ }+ "c")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 22 26 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 22 26 23+ , srcInfoPoints = []+ }+ "d")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 25 26 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 26 25 26 26 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 27 26 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 26 27 26 28+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 38 26 39+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 46 26 47+ ]+ }+ Boxed+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 28 26 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 28 26 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 28 26 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 28 26 29+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 30 26 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 26 30 26 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 31 26 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 35 26 36+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 30 26 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 26 30 26 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 31 26 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 26 35 26 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 31 26 35+ , srcInfoPoints = []+ }+ "plus")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 37 26 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 37 26 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 37 26 38+ , srcInfoPoints = []+ }+ "d")))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 40 26 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 40 26 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 40 26 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 40 26 41+ , srcInfoPoints = []+ }+ "b")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 42 26 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 42 26 44+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 42 26 44+ , srcInfoPoints = []+ }+ "||")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 45 26 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 45 26 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 26 45 26 46+ , srcInfoPoints = []+ }+ "c")))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 9 28 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 27 9 27 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 28 9 28 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 31 1 31 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 9 27 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 27 14 27 16 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 9 27 13+ , srcInfoPoints = []+ }+ "plus"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 17 27 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 27 21 27 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 17 27 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 17 27 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 17 27 20+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 24 27 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 27 28 27 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 24 27 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 24 27 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 27 24 27 27+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 31 27 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 27 31 27 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 27 31 27 34+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 9 28 27+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 9 28 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 9 28 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 9 28 10+ , srcInfoPoints = []+ }+ "x"))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 12 28 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 28 11 28 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 28 12 28 16+ , SrcSpan "tests/examples/PartialSignatures.hs" 28 16 28 17+ ]+ }+ "plus")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 18 28 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 18 28 19+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 20 28 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 28 20 28 21 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 22 28 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 22 28 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 28 22 28 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 28 22 28 23+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 24 28 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 28 24 28 25+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 28 24 28 25+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 28 26 28 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 28 26 28 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 28 26 28 27+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 1 31 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 31 11 31 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 1 31 10+ , srcInfoPoints = []+ }+ "addAndOr5"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 14 31 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 31 21 31 23 ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 14 31 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 31 14 31 15+ , SrcSpan "tests/examples/PartialSignatures.hs" 31 16 31 17+ , SrcSpan "tests/examples/PartialSignatures.hs" 31 19 31 20+ ]+ }+ Boxed+ [ TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 15 31 16+ , srcInfoPoints = []+ }+ Nothing+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 18 31 19+ , srcInfoPoints = []+ }+ Nothing+ ])+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 24 31 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 31 31 31 33 ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 24 31 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 31 24 31 25+ , SrcSpan "tests/examples/PartialSignatures.hs" 31 26 31 27+ , SrcSpan "tests/examples/PartialSignatures.hs" 31 29 31 30+ ]+ }+ Boxed+ [ TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 25 31 26+ , srcInfoPoints = []+ }+ Nothing+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 28 31 29+ , srcInfoPoints = []+ }+ Nothing+ ])+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 34 31 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 31 34 31 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 31 36 31 37+ , SrcSpan "tests/examples/PartialSignatures.hs" 31 39 31 40+ ]+ }+ Boxed+ [ TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 35 31 36+ , srcInfoPoints = []+ }+ Nothing+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 31 38 31 39+ , srcInfoPoints = []+ }+ Nothing+ ])))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 1 34 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 33 3 33 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 1 34 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 33 3 33 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 1 32 10+ , srcInfoPoints = []+ }+ "addAndOr5")+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 11 32 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 32 11 32 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 13 32 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 16 32 17+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 12 32 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 12 32 13+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 15 32 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 15 32 16+ , srcInfoPoints = []+ }+ "b")+ ]+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 18 32 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 32 18 32 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 20 32 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 23 32 24+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 19 32 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 19 32 20+ , srcInfoPoints = []+ }+ "c")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 22 32 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 22 32 23+ , srcInfoPoints = []+ }+ "d")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 25 32 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 32 25 32 26 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 27 32 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 32 27 32 28+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 38 32 39+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 46 32 47+ ]+ }+ Boxed+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 28 32 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 28 32 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 28 32 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 28 32 29+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 30 32 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 32 30 32 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 31 32 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 35 32 36+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 30 32 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 32 30 32 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 31 32 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 32 35 32 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 31 32 35+ , srcInfoPoints = []+ }+ "plus")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 37 32 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 37 32 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 37 32 38+ , srcInfoPoints = []+ }+ "d")))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 40 32 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 40 32 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 40 32 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 40 32 41+ , srcInfoPoints = []+ }+ "b")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 42 32 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 42 32 44+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 42 32 44+ , srcInfoPoints = []+ }+ "||")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 45 32 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 45 32 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 32 45 32 46+ , srcInfoPoints = []+ }+ "c")))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 9 34 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 33 9 33 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 34 9 34 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 37 1 37 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 9 33 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 33 14 33 16 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 9 33 13+ , srcInfoPoints = []+ }+ "plus"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 17 33 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 33 21 33 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 17 33 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 17 33 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 17 33 20+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 24 33 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 33 28 33 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 24 33 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 24 33 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 33 24 33 27+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 31 33 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 33 31 33 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 33 31 33 34+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 9 34 27+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 9 34 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 9 34 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 9 34 10+ , srcInfoPoints = []+ }+ "x"))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 12 34 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 34 11 34 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 34 12 34 16+ , SrcSpan "tests/examples/PartialSignatures.hs" 34 16 34 17+ ]+ }+ "plus")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 18 34 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 18 34 19+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 20 34 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 34 20 34 21 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 22 34 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 22 34 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 34 22 34 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 34 22 34 23+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 24 34 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 34 24 34 25+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 34 24 34 25+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 34 26 34 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 34 26 34 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 34 26 34 27+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 1 37 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 37 11 37 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 1 37 10+ , srcInfoPoints = []+ }+ "addAndOr6"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 14 37 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 37 23 37 25 ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 14 37 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 37 14 37 15+ , SrcSpan "tests/examples/PartialSignatures.hs" 37 18 37 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 37 21 37 22+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 15 37 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 15 37 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 15 37 18+ , srcInfoPoints = []+ }+ "Int"))+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 20 37 21+ , srcInfoPoints = []+ }+ Nothing+ ])+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 26 37 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 37 36 37 38 ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 26 37 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 37 26 37 27+ , SrcSpan "tests/examples/PartialSignatures.hs" 37 31 37 32+ , SrcSpan "tests/examples/PartialSignatures.hs" 37 34 37 35+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 27 37 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 27 37 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 27 37 31+ , srcInfoPoints = []+ }+ "Bool"))+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 33 37 34+ , srcInfoPoints = []+ }+ Nothing+ ])+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 39 37 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 37 39 37 40+ , SrcSpan "tests/examples/PartialSignatures.hs" 37 50 37 51+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 40 37 50+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 40 37 45+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 40 37 41+ , srcInfoPoints = []+ }+ Nothing)+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 42 37 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 42 37 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 42 37 45+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 46 37 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 46 37 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 37 46 37 50+ , srcInfoPoints = []+ }+ "Bool")))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 1 40 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 39 3 39 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 1 40 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 39 3 39 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 1 38 10+ , srcInfoPoints = []+ }+ "addAndOr6")+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 11 38 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 38 11 38 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 13 38 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 16 38 17+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 12 38 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 12 38 13+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 15 38 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 15 38 16+ , srcInfoPoints = []+ }+ "b")+ ]+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 18 38 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 38 18 38 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 20 38 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 23 38 24+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 19 38 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 19 38 20+ , srcInfoPoints = []+ }+ "c")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 22 38 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 22 38 23+ , srcInfoPoints = []+ }+ "d")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 25 38 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 38 25 38 26 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 27 38 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 38 27 38 28+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 38 38 39+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 46 38 47+ ]+ }+ Boxed+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 28 38 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 28 38 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 28 38 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 28 38 29+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 30 38 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 38 30 38 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 31 38 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 35 38 36+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 30 38 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 38 30 38 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 31 38 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 38 35 38 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 31 38 35+ , srcInfoPoints = []+ }+ "plus")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 37 38 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 37 38 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 37 38 38+ , srcInfoPoints = []+ }+ "d")))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 40 38 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 40 38 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 40 38 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 40 38 41+ , srcInfoPoints = []+ }+ "b")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 42 38 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 42 38 44+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 42 38 44+ , srcInfoPoints = []+ }+ "||")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 45 38 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 45 38 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 38 45 38 46+ , srcInfoPoints = []+ }+ "c")))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 9 40 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 39 9 39 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 40 9 40 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 43 1 43 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 9 39 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 39 14 39 16 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 9 39 13+ , srcInfoPoints = []+ }+ "plus"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 17 39 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 39 21 39 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 17 39 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 17 39 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 17 39 20+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 24 39 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 39 28 39 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 24 39 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 24 39 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 39 24 39 27+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 31 39 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 39 31 39 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 39 31 39 34+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 9 40 27+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 9 40 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 9 40 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 9 40 10+ , srcInfoPoints = []+ }+ "x"))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 12 40 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 40 11 40 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 40 12 40 16+ , SrcSpan "tests/examples/PartialSignatures.hs" 40 16 40 17+ ]+ }+ "plus")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 18 40 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 18 40 19+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 20 40 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 40 20 40 21 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 22 40 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 22 40 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 40 22 40 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 40 22 40 23+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 24 40 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 40 24 40 25+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 40 24 40 25+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 40 26 40 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 40 26 40 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 40 26 40 27+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 43 1 43 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 43 5 43 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 43 1 43 4+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 43 8 43 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 43 10 43 12 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 43 8 43 9+ , srcInfoPoints = []+ }+ Nothing)+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 43 13 43 14+ , srcInfoPoints = []+ }+ Nothing))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 1 44 14+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 1 44 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 1 44 4+ , srcInfoPoints = []+ }+ "bar")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 5 44 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 5 44 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 7 44 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 44 7 44 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 9 44 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 9 44 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 9 44 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 9 44 12+ , srcInfoPoints = []+ }+ "not")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 13 44 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 13 44 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 44 13 44 14+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 47 1 47 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 47 7 47 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 47 1 47 6+ , srcInfoPoints = []+ }+ "alpha"+ ]+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 47 10 47 11+ , srcInfoPoints = []+ }+ Nothing)+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 48 1 48 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 48 1 48 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 48 1 48 6+ , srcInfoPoints = []+ }+ "alpha"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 48 7 48 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 48 7 48 8 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 48 9 48 10+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 48 9 48 10+ , srcInfoPoints = []+ }+ 3+ "3")))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 51 1 51 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 51 7 51 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 51 1 51 6+ , srcInfoPoints = []+ }+ "bravo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 16+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]+ }+ Nothing))))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 51 15 51 16+ , srcInfoPoints = []+ }+ Nothing))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 52 1 52 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 52 1 52 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 52 1 52 6+ , srcInfoPoints = []+ }+ "bravo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 52 7 52 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 52 7 52 8 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 52 9 52 10+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 52 9 52 10+ , srcInfoPoints = []+ }+ 3+ "3")))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 55 1 55 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 55 7 55 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 55 1 55 6+ , srcInfoPoints = []+ }+ "bravo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 16+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]+ }+ Nothing))))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 55 15 55 16+ , srcInfoPoints = []+ }+ Nothing))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 56 1 56 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 56 1 56 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 56 1 56 6+ , srcInfoPoints = []+ }+ "bravo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 56 7 56 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 56 7 56 8 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 56 9 56 10+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 56 9 56 10+ , srcInfoPoints = []+ }+ 3+ "3")))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 1 58 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 58 7 58 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 1 58 6+ , srcInfoPoints = []+ }+ "barry"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 10 58 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 58 13 58 15 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 10 58 12+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 11 58 12+ , srcInfoPoints = []+ }+ "a")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 16 58 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 58 16 58 17+ , SrcSpan "tests/examples/PartialSignatures.hs" 58 22 58 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 58 28 58 29+ ]+ }+ Boxed+ [ TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 17 58 22+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 17 58 19+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 18 58 19+ , srcInfoPoints = []+ }+ "b")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 20 58 22+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 21 58 22+ , srcInfoPoints = []+ }+ "a")))+ , TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 24 58 28+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 24 58 26+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 25 58 26+ , srcInfoPoints = []+ }+ "b")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 58 27 58 28+ , srcInfoPoints = []+ }+ Nothing)+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 1 59 30+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 1 59 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 1 59 6+ , srcInfoPoints = []+ }+ "barry")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 7 59 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 7 59 8+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 9 59 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 59 9 59 10 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 11 59 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 59 11 59 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 59 20 59 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 59 29 59 30+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 12 59 20+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 12 59 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 12 59 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 12 59 16+ , srcInfoPoints = []+ }+ "Left")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 17 59 20+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 17 59 20+ , srcInfoPoints = []+ }+ "x"+ "x"))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 22 59 29+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 22 59 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 22 59 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 22 59 27+ , srcInfoPoints = []+ }+ "Right")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 28 59 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 28 59 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 59 28 59 29+ , srcInfoPoints = []+ }+ "x")))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 1 61 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 5 61 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 1 61 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 26+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+ ]+ }+ (TyEquals+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16+ , srcInfoPoints = []+ }+ "Bool")))))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 20 61 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 20 61 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 22 61 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 25 61 26+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 21 61 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 21 61 22+ , srcInfoPoints = []+ }+ "a")+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 24 61 25+ , srcInfoPoints = []+ }+ Nothing+ ]))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 1 62 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 1 62 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 1 62 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 5 62 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 62 5 62 6 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 7 62 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 62 7 62 8+ , SrcSpan "tests/examples/PartialSignatures.hs" 62 12 62 13+ , SrcSpan "tests/examples/PartialSignatures.hs" 62 19 62 20+ ]+ }+ Boxed+ [ Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 8 62 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 8 62 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 8 62 12+ , srcInfoPoints = []+ }+ "True"))+ , Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 14 62 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 14 62 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 62 14 62 19+ , srcInfoPoints = []+ }+ "False"))+ ]))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 65 1 65 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 65 7 65 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 65 1 65 6+ , srcInfoPoints = []+ }+ "every"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 65 10 65 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 65 12 65 14 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 65 10 65 11+ , srcInfoPoints = []+ }+ Nothing)+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 65 15 65 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 65 17 65 19 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 65 15 65 16+ , srcInfoPoints = []+ }+ Nothing)+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 65 20 65 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 65 20 65 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 65 20 65 24+ , srcInfoPoints = []+ }+ "Bool")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 66 1 67 35+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 66 1 66 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 66 1 66 6+ , srcInfoPoints = []+ }+ "every")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 66 7 66 8+ , srcInfoPoints = []+ }+ , PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 66 9 66 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 66 9 66 10+ , SrcSpan "tests/examples/PartialSignatures.hs" 66 10 66 11+ ]+ }+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 66 12 66 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 66 12 66 13 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 66 14 66 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 66 14 66 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 66 14 66 18+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 1 67 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 1 67 6+ , srcInfoPoints = []+ }+ "every")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 7 67 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 7 67 8+ , srcInfoPoints = []+ }+ "p")+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 9 67 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 67 9 67 10+ , SrcSpan "tests/examples/PartialSignatures.hs" 67 14 67 15+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 10 67 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 10 67 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 10 67 11+ , srcInfoPoints = []+ }+ "x"))+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 11 67 12+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 11 67 12+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 12 67 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 12 67 14+ , srcInfoPoints = []+ }+ "xs")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 16 67 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 67 16 67 17 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 18 67 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 18 67 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 18 67 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 18 67 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 18 67 19+ , srcInfoPoints = []+ }+ "p")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 20 67 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 20 67 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 20 67 21+ , srcInfoPoints = []+ }+ "x"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 22 67 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 22 67 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 22 67 24+ , srcInfoPoints = []+ }+ "&&")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 25 67 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 25 67 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 25 67 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 25 67 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 25 67 30+ , srcInfoPoints = []+ }+ "every")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 31 67 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 31 67 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 31 67 32+ , srcInfoPoints = []+ }+ "p"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 33 67 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 33 67 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 67 33 67 35+ , srcInfoPoints = []+ }+ "xs"))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 1 69 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 69 7 69 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 1 69 6+ , srcInfoPoints = []+ }+ "every"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 10 69 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 69 23 69 25 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 10 69 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 69 10 69 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 69 21 69 22+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 11 69 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 69 14 69 16 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 11 69 13+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 12 69 13+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 17 69 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 17 69 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 17 69 21+ , srcInfoPoints = []+ }+ "Bool")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 26 69 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 69 31 69 33 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 26 69 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 69 26 69 27+ , SrcSpan "tests/examples/PartialSignatures.hs" 69 29 69 30+ ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 27 69 29+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 28 69 29+ , srcInfoPoints = []+ }+ "a"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 34 69 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 34 69 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 69 34 69 38+ , srcInfoPoints = []+ }+ "Bool")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 70 1 71 35+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 70 1 70 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 70 1 70 6+ , srcInfoPoints = []+ }+ "every")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 70 7 70 8+ , srcInfoPoints = []+ }+ , PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 70 9 70 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 70 9 70 10+ , SrcSpan "tests/examples/PartialSignatures.hs" 70 10 70 11+ ]+ }+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 70 12 70 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 70 12 70 13 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 70 14 70 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 70 14 70 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 70 14 70 18+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 1 71 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 1 71 6+ , srcInfoPoints = []+ }+ "every")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 7 71 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 7 71 8+ , srcInfoPoints = []+ }+ "p")+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 9 71 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 71 9 71 10+ , SrcSpan "tests/examples/PartialSignatures.hs" 71 14 71 15+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 10 71 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 10 71 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 10 71 11+ , srcInfoPoints = []+ }+ "x"))+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 11 71 12+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 11 71 12+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 12 71 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 12 71 14+ , srcInfoPoints = []+ }+ "xs")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 16 71 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 71 16 71 17 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 18 71 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 18 71 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 18 71 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 18 71 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 18 71 19+ , srcInfoPoints = []+ }+ "p")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 20 71 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 20 71 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 20 71 21+ , srcInfoPoints = []+ }+ "x"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 22 71 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 22 71 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 22 71 24+ , srcInfoPoints = []+ }+ "&&")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 25 71 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 25 71 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 25 71 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 25 71 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 25 71 30+ , srcInfoPoints = []+ }+ "every")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 31 71 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 31 71 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 31 71 32+ , srcInfoPoints = []+ }+ "p"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 33 71 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 33 71 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 71 33 71 35+ , srcInfoPoints = []+ }+ "xs"))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 74 1 74 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 74 5 74 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 74 1 74 4+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 74 8 74 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 74 13 74 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 74 8 74 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 74 8 74 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 74 8 74 12+ , srcInfoPoints = []+ }+ "Bool")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 74 16 74 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 74 16 74 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 74 16 74 20+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 1 75 17+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 1 75 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 1 75 4+ , srcInfoPoints = []+ }+ "bar")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 5 75 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 5 75 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 7 75 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 75 7 75 8 ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 9 75 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 75 9 75 10+ , SrcSpan "tests/examples/PartialSignatures.hs" 75 16 75 17+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 10 75 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 75 12 75 14 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 10 75 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 10 75 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 10 75 11+ , srcInfoPoints = []+ }+ "x")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 75 15 75 16+ , srcInfoPoints = []+ }+ Nothing))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 77 1 77 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 77 5 77 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 77 1 77 4+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 77 8 77 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 77 11 77 13 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 77 8 77 10+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 77 9 77 10+ , srcInfoPoints = []+ }+ "a")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 77 14 77 16+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 77 15 77 16+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 1 79 25+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 1 78 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 1 78 4+ , srcInfoPoints = []+ }+ "bar")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 5 78 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 5 78 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 5 78 9+ , srcInfoPoints = []+ }+ "True"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 11 78 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 78 11 78 12 ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 13 78 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 78 13 78 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 78 25 78 26+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 14 78 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 78 20 78 22 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 14 78 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 14 78 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 14 78 19+ , srcInfoPoints = []+ }+ "False")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 23 78 25+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 78 24 78 25+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 1 79 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 1 79 4+ , srcInfoPoints = []+ }+ "bar")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 5 79 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 5 79 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 5 79 10+ , srcInfoPoints = []+ }+ "False"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 11 79 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 79 11 79 12 ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 13 79 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 79 13 79 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 79 24 79 25+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 14 79 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 79 19 79 21 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 14 79 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 14 79 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 14 79 18+ , srcInfoPoints = []+ }+ "True")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 22 79 24+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 79 23 79 24+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 1 82 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 82 10 82 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 1 82 9+ , srcInfoPoints = []+ }+ "arbitCs1"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 29+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]+ }+ Nothing))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 18 82 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 82 20 82 22 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 18 82 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 18 82 19+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 23 82 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 23 82 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 23 82 29+ , srcInfoPoints = []+ }+ "String")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 1 83 44+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 1 83 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 1 83 9+ , srcInfoPoints = []+ }+ "arbitCs1")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 10 83 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 10 83 11+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 12 83 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 83 12 83 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 14 83 44+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 14 83 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 14 83 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 14 83 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 14 83 18+ , srcInfoPoints = []+ }+ "show")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 19 83 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 83 19 83 20+ , SrcSpan "tests/examples/PartialSignatures.hs" 83 26 83 27+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 20 83 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 20 83 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 20 83 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 83 20 83 24+ , srcInfoPoints = []+ }+ "succ")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 25 83 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 25 83 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 83 25 83 26+ , srcInfoPoints = []+ }+ "x"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 28 83 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 28 83 30+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 28 83 30+ , srcInfoPoints = []+ }+ "++")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 31 83 44+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 31 83 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 31 83 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 31 83 35+ , srcInfoPoints = []+ }+ "show")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 36 83 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 83 36 83 37+ , SrcSpan "tests/examples/PartialSignatures.hs" 83 43 83 44+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 37 83 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 37 83 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 37 83 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 83 37 83 38+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 39 83 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 39 83 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 83 39 83 41+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 42 83 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 83 42 83 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 83 42 83 43+ , srcInfoPoints = []+ }+ "x"))))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 1 85 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 85 10 85 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 1 85 9+ , srcInfoPoints = []+ }+ "arbitCs2"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 13 85 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 13 85 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 85 13 85 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 85 20 85 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 85 23 85 24+ , SrcSpan "tests/examples/PartialSignatures.hs" 85 25 85 27+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 22 85 23+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 22 85 23+ , srcInfoPoints = []+ }+ Nothing)+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 28 85 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 85 30 85 32 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 28 85 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 28 85 29+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 33 85 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 33 85 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 33 85 39+ , srcInfoPoints = []+ }+ "String")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 1 86 24+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 1 86 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 1 86 9+ , srcInfoPoints = []+ }+ "arbitCs2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 10 86 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 10 86 11+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 12 86 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 86 12 86 13 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 14 86 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 14 86 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 14 86 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 14 86 22+ , srcInfoPoints = []+ }+ "arbitCs1")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 23 86 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 23 86 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 86 23 86 24+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 1 88 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 88 10 88 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 1 88 9+ , srcInfoPoints = []+ }+ "arbitCs3"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 13 88 47+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 13 88 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 88 13 88 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 88 20 88 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 88 28 88 29+ , SrcSpan "tests/examples/PartialSignatures.hs" 88 31 88 32+ , SrcSpan "tests/examples/PartialSignatures.hs" 88 33 88 35+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+ , srcInfoPoints = []+ }+ "Enum")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 30 88 31+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 30 88 31+ , srcInfoPoints = []+ }+ Nothing)+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 36 88 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 88 38 88 40 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 36 88 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 36 88 37+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 41 88 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 41 88 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 41 88 47+ , srcInfoPoints = []+ }+ "String")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 1 89 24+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 1 89 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 1 89 9+ , srcInfoPoints = []+ }+ "arbitCs3")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 10 89 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 10 89 11+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 12 89 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 89 12 89 13 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 14 89 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 14 89 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 14 89 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 14 89 22+ , srcInfoPoints = []+ }+ "arbitCs1")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 23 89 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 23 89 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 89 23 89 24+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 1 91 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 91 10 91 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 1 91 9+ , srcInfoPoints = []+ }+ "arbitCs4"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 13 91 37+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 13 91 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 91 13 91 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 91 18 91 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 91 21 91 22+ , SrcSpan "tests/examples/PartialSignatures.hs" 91 23 91 25+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 20 91 21+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 20 91 21+ , srcInfoPoints = []+ }+ Nothing)+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 26 91 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 91 28 91 30 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 26 91 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 26 91 27+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 31 91 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 31 91 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 31 91 37+ , srcInfoPoints = []+ }+ "String")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 1 92 24+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 1 92 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 1 92 9+ , srcInfoPoints = []+ }+ "arbitCs4")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 10 92 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 10 92 11+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 12 92 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 92 12 92 13 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 14 92 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 14 92 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 14 92 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 14 92 22+ , srcInfoPoints = []+ }+ "arbitCs1")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 23 92 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 23 92 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 92 23 92 24+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 1 94 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 94 10 94 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 1 94 9+ , srcInfoPoints = []+ }+ "arbitCs5"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 13 94 53+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 13 94 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 94 13 94 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 94 18 94 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 94 26 94 27+ , SrcSpan "tests/examples/PartialSignatures.hs" 94 34 94 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 94 37 94 38+ , SrcSpan "tests/examples/PartialSignatures.hs" 94 39 94 41+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+ , srcInfoPoints = []+ }+ "Enum")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 36 94 37+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 36 94 37+ , srcInfoPoints = []+ }+ Nothing)+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 42 94 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 94 44 94 46 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 42 94 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 42 94 43+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 47 94 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 47 94 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 47 94 53+ , srcInfoPoints = []+ }+ "String")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 1 95 24+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 1 95 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 1 95 9+ , srcInfoPoints = []+ }+ "arbitCs5")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 10 95 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 10 95 11+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 12 95 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 95 12 95 13 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 14 95 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 14 95 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 14 95 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 14 95 22+ , srcInfoPoints = []+ }+ "arbitCs1")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 23 95 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 23 95 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 95 23 95 24+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 1 98 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 98 5 98 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 1 98 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 19+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]+ }+ Nothing))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 13 98 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 13 98 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 13 98 19+ , srcInfoPoints = []+ }+ "String"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 99 1 99 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 99 1 99 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 99 1 99 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 99 5 99 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 99 5 99 6 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 99 7 99 10+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 99 7 99 10+ , srcInfoPoints = []+ }+ "x"+ "x")))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 105 1 105 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 105 5 105 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 105 1 105 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 14+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]+ }+ Nothing))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 105 13 105 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 105 13 105 14+ , srcInfoPoints = []+ }+ "a")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 106 1 106 8+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 106 1 106 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 106 1 106 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 106 5 106 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 106 5 106 6 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 106 7 106 8+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 106 7 106 8+ , srcInfoPoints = []+ }+ 3+ "3")))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 109 1 109 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 109 5 109 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 109 1 109 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 14+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]+ }+ Nothing))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 109 13 109 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 109 13 109 14+ , srcInfoPoints = []+ }+ "a")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 110 1 110 8+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 110 1 110 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 110 1 110 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 110 5 110 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 110 5 110 6 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 110 7 110 8+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 110 7 110 8+ , srcInfoPoints = []+ }+ 3+ "3")))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 112 1 112 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 112 6 112 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 112 1 112 5+ , srcInfoPoints = []+ }+ "fall"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 112 9 112 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 112 9 112 15+ , SrcSpan "tests/examples/PartialSignatures.hs" 112 18 112 19+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 112 16 112 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 112 16 112 17+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 112 20 112 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 112 22 112 24 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 112 20 112 21+ , srcInfoPoints = []+ }+ Nothing)+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 112 25 112 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 112 25 112 26+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 113 1 113 11+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 113 1 113 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 113 1 113 5+ , srcInfoPoints = []+ }+ "fall")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 113 6 113 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 113 6 113 7+ , srcInfoPoints = []+ }+ "v")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 113 8 113 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 113 8 113 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 113 10 113 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 113 10 113 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 113 10 113 11+ , srcInfoPoints = []+ }+ "v"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 115 1 115 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 115 5 115 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 115 1 115 4+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 115 8 115 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 115 11 115 13 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 115 8 115 10+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 115 9 115 10+ , srcInfoPoints = []+ }+ "a")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 115 14 115 16+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 115 15 115 16+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 1 116 14+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 1 116 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 1 116 4+ , srcInfoPoints = []+ }+ "bar")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 5 116 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 5 116 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 7 116 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 116 7 116 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 9 116 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 9 116 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 9 116 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 9 116 12+ , srcInfoPoints = []+ }+ "not")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 13 116 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 13 116 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 116 13 116 14+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 1 118 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 118 5 118 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 1 118 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 8 118 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 118 31 118 33 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 8 118 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 118 8 118 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 118 29 118 30+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 9 118 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 118 9 118 15+ , SrcSpan "tests/examples/PartialSignatures.hs" 118 17 118 18+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 16 118 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 16 118 17+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 19 118 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 118 23 118 25 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 19 118 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 118 19 118 20+ , SrcSpan "tests/examples/PartialSignatures.hs" 118 21 118 22+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 20 118 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 20 118 21+ , srcInfoPoints = []+ }+ "a")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 26 118 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 118 26 118 27+ , SrcSpan "tests/examples/PartialSignatures.hs" 118 28 118 29+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 27 118 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 27 118 28+ , srcInfoPoints = []+ }+ "a"))))))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 118 34 118 35+ , srcInfoPoints = []+ }+ Nothing))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 1 119 40+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 1 119 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 1 119 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 5 119 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 5 119 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 7 119 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 119 7 119 8 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 9 119 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 119 9 119 10+ , SrcSpan "tests/examples/PartialSignatures.hs" 119 25 119 26+ , SrcSpan "tests/examples/PartialSignatures.hs" 119 39 119 40+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 10 119 25+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 10 119 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 10 119 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 10 119 11+ , srcInfoPoints = []+ }+ "x")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 12 119 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 119 12 119 13+ , SrcSpan "tests/examples/PartialSignatures.hs" 119 17 119 18+ , SrcSpan "tests/examples/PartialSignatures.hs" 119 24 119 25+ ]+ }+ [ Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 13 119 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 13 119 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 119 13 119 17+ , srcInfoPoints = []+ }+ "True"))+ , Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 19 119 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 19 119 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 119 19 119 24+ , srcInfoPoints = []+ }+ "False"))+ ])+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 27 119 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 27 119 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 27 119 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 27 119 28+ , srcInfoPoints = []+ }+ "x")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 29 119 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 119 29 119 30+ , SrcSpan "tests/examples/PartialSignatures.hs" 119 33 119 34+ , SrcSpan "tests/examples/PartialSignatures.hs" 119 38 119 39+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 30 119 33+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 30 119 33+ , srcInfoPoints = []+ }+ 'a'+ "a")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 35 119 38+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 119 35 119 38+ , srcInfoPoints = []+ }+ 'b'+ "b")+ ])+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 1 121 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 121 5 121 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 1 121 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 8 121 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 121 31 121 33 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 8 121 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 121 8 121 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 121 29 121 30+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 9 121 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 121 9 121 15+ , SrcSpan "tests/examples/PartialSignatures.hs" 121 17 121 18+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 16 121 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 16 121 17+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 19 121 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 121 23 121 25 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 19 121 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 121 19 121 20+ , SrcSpan "tests/examples/PartialSignatures.hs" 121 21 121 22+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 20 121 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 20 121 21+ , srcInfoPoints = []+ }+ "a")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 26 121 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 121 26 121 27+ , SrcSpan "tests/examples/PartialSignatures.hs" 121 28 121 29+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 27 121 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 27 121 28+ , srcInfoPoints = []+ }+ "a"))))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 34 121 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 121 34 121 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 121 36 121 37+ , SrcSpan "tests/examples/PartialSignatures.hs" 121 41 121 42+ ]+ }+ Boxed+ [ TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 35 121 36+ , srcInfoPoints = []+ }+ Nothing+ , TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 38 121 41+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 38 121 39+ , srcInfoPoints = []+ }+ Nothing)+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 121 40 121 41+ , srcInfoPoints = []+ }+ Nothing)+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 1 122 40+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 1 122 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 1 122 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 5 122 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 5 122 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 7 122 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 122 7 122 8 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 9 122 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 122 9 122 10+ , SrcSpan "tests/examples/PartialSignatures.hs" 122 25 122 26+ , SrcSpan "tests/examples/PartialSignatures.hs" 122 39 122 40+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 10 122 25+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 10 122 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 10 122 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 10 122 11+ , srcInfoPoints = []+ }+ "x")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 12 122 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 122 12 122 13+ , SrcSpan "tests/examples/PartialSignatures.hs" 122 17 122 18+ , SrcSpan "tests/examples/PartialSignatures.hs" 122 24 122 25+ ]+ }+ [ Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 13 122 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 13 122 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 122 13 122 17+ , srcInfoPoints = []+ }+ "True"))+ , Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 19 122 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 19 122 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 122 19 122 24+ , srcInfoPoints = []+ }+ "False"))+ ])+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 27 122 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 27 122 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 27 122 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 27 122 28+ , srcInfoPoints = []+ }+ "x")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 29 122 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 122 29 122 30+ , SrcSpan "tests/examples/PartialSignatures.hs" 122 33 122 34+ , SrcSpan "tests/examples/PartialSignatures.hs" 122 38 122 39+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 30 122 33+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 30 122 33+ , srcInfoPoints = []+ }+ 'a'+ "a")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 35 122 38+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 122 35 122 38+ , srcInfoPoints = []+ }+ 'b'+ "b")+ ])+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 1 125 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 125 9 125 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 1 125 8+ , srcInfoPoints = []+ }+ "monoLoc"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 12 125 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 125 12 125 18+ , SrcSpan "tests/examples/PartialSignatures.hs" 125 20 125 21+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 19 125 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 19 125 20+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 22 125 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 125 24 125 26 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 22 125 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 22 125 23+ , srcInfoPoints = []+ }+ "a"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 27 125 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 125 27 125 28+ , SrcSpan "tests/examples/PartialSignatures.hs" 125 39 125 40+ , SrcSpan "tests/examples/PartialSignatures.hs" 125 47 125 48+ ]+ }+ Boxed+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 28 125 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 125 28 125 29+ , SrcSpan "tests/examples/PartialSignatures.hs" 125 30 125 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 125 38 125 39+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ "a")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 32 125 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 32 125 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 32 125 38+ , srcInfoPoints = []+ }+ "String"))+ ]+ , TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 41 125 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 125 41 125 42+ , SrcSpan "tests/examples/PartialSignatures.hs" 125 43 125 44+ , SrcSpan "tests/examples/PartialSignatures.hs" 125 46 125 47+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 42 125 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 42 125 43+ , srcInfoPoints = []+ }+ "a")+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 125 45 125 46+ , srcInfoPoints = []+ }+ Nothing+ ]+ ])))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 1 129 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 127 3 127 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 1 129 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 127 3 127 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 1 126 8+ , srcInfoPoints = []+ }+ "monoLoc")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 9 126 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 9 126 10+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 11 126 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 126 11 126 12 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 13 126 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 126 13 126 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 126 21 126 22+ , SrcSpan "tests/examples/PartialSignatures.hs" 126 30 126 31+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 14 126 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 14 126 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 14 126 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 14 126 15+ , srcInfoPoints = []+ }+ "g")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 16 126 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 16 126 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 16 126 20+ , srcInfoPoints = []+ }+ "True")))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 23 126 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 23 126 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 23 126 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 23 126 24+ , srcInfoPoints = []+ }+ "g")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 25 126 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 25 126 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 126 25 126 30+ , srcInfoPoints = []+ }+ "False")))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 128 5 129 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 128 5 128 5+ , SrcSpan "tests/examples/PartialSignatures.hs" 129 5 129 5+ , SrcSpan "tests/examples/PartialSignatures.hs" 151 1 151 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 128 5 128 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 128 7 128 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 128 5 128 6+ , srcInfoPoints = []+ }+ "g"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 128 10 128 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 128 12 128 14 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 128 10 128 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 128 10 128 11+ , srcInfoPoints = []+ }+ "t"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 128 15 128 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 128 15 128 16+ , SrcSpan "tests/examples/PartialSignatures.hs" 128 17 128 18+ , SrcSpan "tests/examples/PartialSignatures.hs" 128 25 128 26+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 128 16 128 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 128 16 128 17+ , srcInfoPoints = []+ }+ "a")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 128 19 128 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 128 19 128 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 128 19 128 25+ , srcInfoPoints = []+ }+ "String"))+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 129 5 129 21+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 129 5 129 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 129 5 129 6+ , srcInfoPoints = []+ }+ "g")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 129 7 129 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 129 9 129 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 129 9 129 10 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 129 11 129 21+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 129 11 129 12+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 129 13 129 14+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 129 20 129 21+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 129 12 129 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 129 12 129 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 129+ 12+ 129+ 13+ , srcInfoPoints = []+ }+ "x"))+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 129 15 129 20+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 129 15 129 20+ , srcInfoPoints = []+ }+ "foo"+ "foo")+ ]))+ Nothing+ ]+ ]))+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 1 151 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 1 151 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 6 151 21+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 6 151 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 6 151 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 6 151 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 6 151 15+ , srcInfoPoints = []+ }+ "NukeMonad"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 16 151 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 16 151 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 18 151 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 18 151 19+ , srcInfoPoints = []+ }+ "b")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 20 151 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 151 20 151 21+ , srcInfoPoints = []+ }+ "c")))+ []+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 1 156 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 153 1 153 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 153 34 153 39+ , SrcSpan "tests/examples/PartialSignatures.hs" 154 3 154 3+ , SrcSpan "tests/examples/PartialSignatures.hs" 156 1 156 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 10 153 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 10 153 33+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 10 153 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 10 153 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 10 153 17+ , srcInfoPoints = []+ }+ "Functor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 18 153 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 153 18 153 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 153 32 153 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 19 153 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 19 153 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 19 153 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 19 153 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 19 153 28+ , srcInfoPoints = []+ }+ "NukeMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 29 153 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 29 153 30+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 31 153 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 153 31 153 32+ , srcInfoPoints = []+ }+ "b"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 154 3 154 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 154 3 154 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 154 3 154 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 154 3 154 7+ , srcInfoPoints = []+ }+ "fmap"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 154 8 154 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 154 8 154 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 154 10 154 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 154 10 154 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 154 10 154 19+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 1 160 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 156 1 156 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 156 38 156 43+ , SrcSpan "tests/examples/PartialSignatures.hs" 157 3 157 3+ , SrcSpan "tests/examples/PartialSignatures.hs" 158 3 158 3+ , SrcSpan "tests/examples/PartialSignatures.hs" 160 1 160 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 10 156 37+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 10 156 37+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 10 156 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 10 156 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 10 156 21+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 22 156 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 156 22 156 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 156 36 156 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 23 156 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 23 156 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 23 156 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 23 156 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 23 156 32+ , srcInfoPoints = []+ }+ "NukeMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 33 156 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 33 156 34+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 35 156 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 156 35 156 36+ , srcInfoPoints = []+ }+ "b"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 157 3 157 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 157 3 157 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 157 3 157 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 157 3 157 7+ , srcInfoPoints = []+ }+ "pure"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 157 8 157 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 157 8 157 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 157 10 157 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 157 10 157 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 157 10 157 19+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 158 3 158 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 158 3 158 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 158 3 158 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 158 3 158 4+ , SrcSpan "tests/examples/PartialSignatures.hs" 158 4 158 7+ , SrcSpan "tests/examples/PartialSignatures.hs" 158 7 158 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 158 4 158 7+ , srcInfoPoints = []+ }+ "<*>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 158 9 158 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 158 9 158 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 158 11 158 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 158 11 158 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 158 11 158 20+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 1 165 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 160 1 160 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 160 32 160 37+ , SrcSpan "tests/examples/PartialSignatures.hs" 161 3 161 3+ , SrcSpan "tests/examples/PartialSignatures.hs" 162 3 162 3+ , SrcSpan "tests/examples/PartialSignatures.hs" 165 1 165 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 10 160 31+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 10 160 31+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 10 160 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 10 160 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 10 160 15+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 16 160 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 160 16 160 17+ , SrcSpan "tests/examples/PartialSignatures.hs" 160 30 160 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 17 160 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 17 160 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 17 160 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 17 160 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 17 160 26+ , srcInfoPoints = []+ }+ "NukeMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 27 160 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 27 160 28+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 29 160 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 160 29 160 30+ , srcInfoPoints = []+ }+ "b"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 161 3 161 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 161 3 161 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 161 3 161 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 161 3 161 9+ , srcInfoPoints = []+ }+ "return"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 161 10 161 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 161 10 161 11 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 161 12 161 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 161 12 161 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 161 12 161 21+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 162 3 162 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 162 3 162 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 162 3 162 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 162 3 162 4+ , SrcSpan "tests/examples/PartialSignatures.hs" 162 4 162 7+ , SrcSpan "tests/examples/PartialSignatures.hs" 162 7 162 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 162 4 162 7+ , srcInfoPoints = []+ }+ ">>="))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 162 9 162 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 162 9 162 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 162 11 162 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 162 11 162 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 162 11 162 20+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing)+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 1 165 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 165 12 165 14 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 1 165 11+ , srcInfoPoints = []+ }+ "isMeltdown"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 15 165 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 15 165 38+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 15 165 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 15 165 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 15 165 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 15 165 24+ , srcInfoPoints = []+ }+ "NukeMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 25 165 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 25 165 31+ , srcInfoPoints = []+ }+ "param1")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 32 165 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 32 165 38+ , srcInfoPoints = []+ }+ "param2")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 39 165 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 39 165 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 165 39 165 43+ , srcInfoPoints = []+ }+ "Bool"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 166 1 166 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 166 1 166 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 166 1 166 11+ , srcInfoPoints = []+ }+ "isMeltdown"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 166 12 166 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 166 12 166 13 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 166 14 166 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 166 14 166 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 166 14 166 23+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 1 168 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 168 16 168 18 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 1 168 15+ , srcInfoPoints = []+ }+ "unlessMeltdown"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 19 168 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 168 26 168 28 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 19 168 25+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 19 168 22+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 20 168 22+ , srcInfoPoints = []+ }+ "nm")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 23 168 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 168 23 168 24+ , SrcSpan "tests/examples/PartialSignatures.hs" 168 24 168 25+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 23 168 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 168 23 168 24+ , SrcSpan "tests/examples/PartialSignatures.hs" 168 24 168 25+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 23 168 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 168 23 168 24+ , SrcSpan "tests/examples/PartialSignatures.hs" 168 24 168 25+ ]+ }))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 30 168 36+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 30 168 33+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 31 168 33+ , srcInfoPoints = []+ }+ "nm")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 34 168 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 168 34 168 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 168 35 168 36+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 34 168 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 168 34 168 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 168 35 168 36+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 168 34 168 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 168 34 168 35+ , SrcSpan "tests/examples/PartialSignatures.hs" 168 35 168 36+ ]+ })))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 1 170 49+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 1 170 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 1 169 15+ , srcInfoPoints = []+ }+ "unlessMeltdown")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 16 169 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 16 169 17+ , srcInfoPoints = []+ }+ "c")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 18 170 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 169 18 169 19 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 20 170 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 169 20 169 22+ , SrcSpan "tests/examples/PartialSignatures.hs" 169 23 169 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 170 23 170 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 174 1 174 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 23 169 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 169 25 169 27 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 23 169 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 23 169 24+ , srcInfoPoints = []+ }+ "m"))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 28 169 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 28 169 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 169 28 169 38+ , srcInfoPoints = []+ }+ "isMeltdown")))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 170 23 170 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 170 23 170 25+ , SrcSpan "tests/examples/PartialSignatures.hs" 170 28 170 32+ , SrcSpan "tests/examples/PartialSignatures.hs" 170 43 170 47+ ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 170 23 170 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 170 23 170 25+ , SrcSpan "tests/examples/PartialSignatures.hs" 170 28 170 32+ , SrcSpan "tests/examples/PartialSignatures.hs" 170 43 170 47+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 170 26 170 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 170 26 170 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 170 26 170 27+ , srcInfoPoints = []+ }+ "m")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 170 33 170 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 170 33 170 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 170 33 170 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 170 33 170 39+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 170 40 170 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 170 40 170 41+ , SrcSpan "tests/examples/PartialSignatures.hs" 170 41 170 42+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 170 40 170 42+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 170 40 170 41+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 170 41 170 42+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 170 40 170 42+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 170 40 170 41+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 170 41 170 42+ ]+ }))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 170 48 170 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 170 48 170 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 170 48 170 49+ , srcInfoPoints = []+ }+ "c"))))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 1 174 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 174 9 174 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 1 174 8+ , srcInfoPoints = []+ }+ "monoLoc"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 12 174 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 174 12 174 18+ , SrcSpan "tests/examples/PartialSignatures.hs" 174 20 174 21+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 19 174 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 19 174 20+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 22 174 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 174 24 174 26 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 22 174 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 22 174 23+ , srcInfoPoints = []+ }+ "a"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 27 174 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 174 27 174 28+ , SrcSpan "tests/examples/PartialSignatures.hs" 174 39 174 40+ , SrcSpan "tests/examples/PartialSignatures.hs" 174 52 174 53+ ]+ }+ Boxed+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 28 174 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 174 28 174 29+ , SrcSpan "tests/examples/PartialSignatures.hs" 174 30 174 31+ , SrcSpan "tests/examples/PartialSignatures.hs" 174 38 174 39+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 29 174 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 29 174 30+ , srcInfoPoints = []+ }+ "a")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 32 174 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 32 174 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 32 174 38+ , srcInfoPoints = []+ }+ "String"))+ ]+ , TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 41 174 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 174 41 174 42+ , SrcSpan "tests/examples/PartialSignatures.hs" 174 43 174 44+ , SrcSpan "tests/examples/PartialSignatures.hs" 174 51 174 52+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 42 174 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 42 174 43+ , srcInfoPoints = []+ }+ "a")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 45 174 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 45 174 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 174 45 174 51+ , srcInfoPoints = []+ }+ "String"))+ ]+ ])))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 1 179 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 176 3 176 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 1 179 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 176 3 176 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 1 175 8+ , srcInfoPoints = []+ }+ "monoLoc")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 9 175 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 9 175 10+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 11 175 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 175 11 175 12 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 13 175 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 175 13 175 14+ , SrcSpan "tests/examples/PartialSignatures.hs" 175 21 175 22+ , SrcSpan "tests/examples/PartialSignatures.hs" 175 28 175 29+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 14 175 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 14 175 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 14 175 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 14 175 15+ , srcInfoPoints = []+ }+ "g")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 16 175 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 16 175 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 16 175 20+ , srcInfoPoints = []+ }+ "True")))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 23 175 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 23 175 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 23 175 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 23 175 24+ , srcInfoPoints = []+ }+ "g")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 25 175 28+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 175 25 175 28+ , srcInfoPoints = []+ }+ 'v'+ "v"))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 178 5 179 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 178 5 178 5+ , SrcSpan "tests/examples/PartialSignatures.hs" 179 5 179 5+ , SrcSpan "tests/examples/PartialSignatures.hs" 183 1 183 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 178 5 178 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 178 7 178 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 178 5 178 6+ , srcInfoPoints = []+ }+ "g"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 178 10 178 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 178 12 178 14 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 178 10 178 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 178 10 178 11+ , srcInfoPoints = []+ }+ "b"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 178 15 178 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 178 15 178 16+ , SrcSpan "tests/examples/PartialSignatures.hs" 178 17 178 18+ , SrcSpan "tests/examples/PartialSignatures.hs" 178 20 178 21+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 178 16 178 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 178 16 178 17+ , srcInfoPoints = []+ }+ "a")+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 178 19 178 20+ , srcInfoPoints = []+ }+ Nothing+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 179 5 179 21+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 179 5 179 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 179 5 179 6+ , srcInfoPoints = []+ }+ "g")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 179 7 179 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 179 7 179 8+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 179 9 179 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 179 9 179 10 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 179 11 179 21+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 179 11 179 12+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 179 13 179 14+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 179 20 179 21+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 179 12 179 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 179 12 179 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 179+ 12+ 179+ 13+ , srcInfoPoints = []+ }+ "x"))+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 179 15 179 20+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 179 15 179 20+ , srcInfoPoints = []+ }+ "foo"+ "foo")+ ]))+ Nothing+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 1 183 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 183 5 183 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 1 183 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 8 183 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 183 16 183 18 ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 8 183 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 183 8 183 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 183 11 183 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 183 14 183 15+ ]+ }+ Boxed+ [ TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 9 183 11+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 10 183 11+ , srcInfoPoints = []+ }+ "a"))+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 13 183 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 13 183 14+ , srcInfoPoints = []+ }+ "b")+ ])+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 19 183 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 183 19 183 20+ , SrcSpan "tests/examples/PartialSignatures.hs" 183 21 183 22+ , SrcSpan "tests/examples/PartialSignatures.hs" 183 25 183 26+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 20 183 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 20 183 21+ , srcInfoPoints = []+ }+ "a")+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 23 183 25+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 183 24 183 25+ , srcInfoPoints = []+ }+ "b"))+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 1 184 20+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 1 184 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 1 184 4+ , srcInfoPoints = []+ }+ "foo")+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 5 184 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 184 5 184 6+ , SrcSpan "tests/examples/PartialSignatures.hs" 184 7 184 8+ , SrcSpan "tests/examples/PartialSignatures.hs" 184 10 184 11+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 6 184 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 6 184 7+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 9 184 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 9 184 10+ , srcInfoPoints = []+ }+ "y")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 12 184 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 184 12 184 13 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 14 184 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 184 14 184 15+ , SrcSpan "tests/examples/PartialSignatures.hs" 184 16 184 17+ , SrcSpan "tests/examples/PartialSignatures.hs" 184 19 184 20+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 15 184 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 15 184 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 15 184 16+ , srcInfoPoints = []+ }+ "x"))+ , Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 18 184 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 18 184 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 184 18 184 19+ , srcInfoPoints = []+ }+ "y"))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 1 187 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 187 3 187 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 1 187 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 6 187 27+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 6 187 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 187 6 187 7+ , SrcSpan "tests/examples/PartialSignatures.hs" 187 8 187 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 187 10 187 12+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 6 187 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 187 6 187 7+ , SrcSpan "tests/examples/PartialSignatures.hs" 187 8 187 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 187 10 187 12+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 7 187 8+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 7 187 8+ , srcInfoPoints = []+ }+ Nothing)))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 13 187 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 187 15 187 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 13 187 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 13 187 14+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 18 187 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 187 20 187 22 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 18 187 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 18 187 19+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 23 187 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 23 187 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 23 187 27+ , srcInfoPoints = []+ }+ "Bool"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 1 188 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 1 188 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 1 188 2+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 3 188 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 3 188 4+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 5 188 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 5 188 6+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 7 188 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 188 7 188 8 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 9 188 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 9 188 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 9 188 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 9 188 10+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 11 188 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 11 188 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 11 188 13+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 14 188 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 14 188 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 188 14 188 15+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 191 1 191 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 191 5 191 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 191 1 191 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 191 8 191 9+ , srcInfoPoints = []+ }+ Nothing)+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 1 192 19+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 1 192 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 1 192 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 1 192 5+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 6 192 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 6 192 9+ , srcInfoPoints = []+ }+ "foo")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 10 192 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 192 10 192 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 12 192 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 12 192 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 12 192 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 12 192 16+ , srcInfoPoints = []+ }+ "Just")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 17 192 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 17 192 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 192 17 192 19+ , srcInfoPoints = []+ }+ "id")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 195 1 195 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 195 5 195 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 195 1 195 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 195 8 195 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 195 13 195 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 195 8 195 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 195 8 195 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 195 8 195 12+ , srcInfoPoints = []+ }+ "Bool")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 195 16 195 17+ , srcInfoPoints = []+ }+ Nothing))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 1 196 19+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 1 196 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 1 196 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 1 196 5+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 6 196 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 6 196 9+ , srcInfoPoints = []+ }+ "foo")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 10 196 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 196 10 196 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 12 196 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 12 196 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 12 196 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 12 196 16+ , srcInfoPoints = []+ }+ "Just")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 17 196 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 17 196 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 196 17 196 19+ , srcInfoPoints = []+ }+ "id")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 198 1 198 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 198 5 198 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 198 1 198 4+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 198 8 198 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 198 13 198 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 198 8 198 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 198 8 198 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 198 8 198 12+ , srcInfoPoints = []+ }+ "Bool")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 198 16 198 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 198 16 198 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 198 16 198 20+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 1 199 20+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 1 199 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 1 199 4+ , srcInfoPoints = []+ }+ "bar")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 5 199 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 199 5 199 6+ , SrcSpan "tests/examples/PartialSignatures.hs" 199 12 199 13+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 6 199 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 199 8 199 10 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 6 199 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 6 199 7+ , srcInfoPoints = []+ }+ "x"))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 11 199 12+ , srcInfoPoints = []+ }+ Nothing))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 14 199 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 199 14 199 15 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 16 199 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 16 199 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 199 16 199 20+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 202 1 202 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 202 5 202 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 202 1 202 4+ , srcInfoPoints = []+ }+ "orr"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 202 8 202 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 202 10 202 12 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 202 8 202 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 202 8 202 9+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 202 13 202 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 202 15 202 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 202 13 202 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 202 13 202 14+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 202 18 202 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 202 18 202 19+ , srcInfoPoints = []+ }+ "a"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 203 1 203 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 203 1 203 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 203 1 203 4+ , srcInfoPoints = []+ }+ "orr"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 203 5 203 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 203 5 203 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 203 7 203 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 203 7 203 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 203 7 203 16+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 205 1 205 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 205 3 205 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 205 1 205 2+ , srcInfoPoints = []+ }+ "g"+ ]+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 205 6 205 7+ , srcInfoPoints = []+ }+ Nothing)+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 1 206 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 1 206 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 1 206 2+ , srcInfoPoints = []+ }+ "g"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 3 206 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 206 3 206 4 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 5 206 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 5 206 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 5 206 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 5 206 6+ , srcInfoPoints = []+ }+ "f")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 7 206 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 206 7 206 8+ , SrcSpan "tests/examples/PartialSignatures.hs" 206 8 206 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 206 11 206 12+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 7 206 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 206 7 206 8+ , SrcSpan "tests/examples/PartialSignatures.hs" 206 8 206 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 206 11 206 12+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 8 206 11+ , srcInfoPoints = []+ }+ "orr")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 13 206 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 13 206 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 206 13 206 17+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 208 1 208 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 208 3 208 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 208 1 208 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 208 6 208 7+ , srcInfoPoints = []+ }+ Nothing)+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 209 1 209 6+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 209 1 209 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 209 1 209 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 209 3 209 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 209 3 209 4 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 209 5 209 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 209 5 209 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 209 5 209 6+ , srcInfoPoints = []+ }+ "g"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 212 1 212 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 212 7 212 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 212 1 212 6+ , srcInfoPoints = []+ }+ "test3"+ ]+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 212 10 212 11+ , srcInfoPoints = []+ }+ Nothing)+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 1 217 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 1 217 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 1 213 6+ , srcInfoPoints = []+ }+ "test3")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 7 213 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 7 213 8+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 9 217 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 213 9 213 10 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 11 217 16+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 11 214 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 11 213 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 11 213 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 11 213 16+ , srcInfoPoints = []+ }+ "const")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 17 214 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 213 17 213 18+ , SrcSpan "tests/examples/PartialSignatures.hs" 214 39 214 40+ ]+ }+ (Let+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 18 214 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 213 18 213 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 214 31 214 33+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 213 22 214 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 213 22 213 22+ , SrcSpan "tests/examples/PartialSignatures.hs" 214 22 214 22+ , SrcSpan "tests/examples/PartialSignatures.hs" 214 31 214 31+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 213 22 213 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 213 24 213 26+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 213 22 213 23+ , srcInfoPoints = []+ }+ "x"+ ]+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 213 27 213 29+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 213+ 28+ 213+ 29+ , srcInfoPoints = []+ }+ "b")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 214 22 214 30+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 214 22 214 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 214+ 22+ 214+ 23+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 214 24 214 30+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 214 24 214 25+ ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 214+ 26+ 214+ 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 214+ 26+ 214+ 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 214+ 26+ 214+ 30+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ])+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 214 34 214 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 214 34 214 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 214 34 214 39+ , srcInfoPoints = []+ }+ "False"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 214 41 214 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 214 41 214 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 214 41 214 42+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 215 11 217 16+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 215 11 216 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 215 11 215 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 215 11 215 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 215 11 215 16+ , srcInfoPoints = []+ }+ "const")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 215 17 216 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 215 17 215 18+ , SrcSpan "tests/examples/PartialSignatures.hs" 216 37 216 38+ ]+ }+ (Let+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 215 18 216 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 215 18 215 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 216 30 216 32+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 215 22 216 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 215 22 215 22+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 216 22 216 22+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 216 30 216 30+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 215 22 215 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 215 24 215 26+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 215+ 22+ 215+ 23+ , srcInfoPoints = []+ }+ "x"+ ]+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 215+ 27+ 215+ 29+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 215+ 28+ 215+ 29+ , srcInfoPoints = []+ }+ "b")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 216 22 216 29+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 216+ 22+ 216+ 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 216+ 22+ 216+ 23+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 216+ 24+ 216+ 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 216+ 24+ 216+ 25+ ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 216+ 26+ 216+ 29+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 216+ 26+ 216+ 29+ , srcInfoPoints = []+ }+ 'a'+ "a")))+ Nothing+ ])+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 216 33 216 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 216 33 216 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 216 33 216 37+ , srcInfoPoints = []+ }+ "True"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 216 39 216 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 216 39 216 40+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 216 39 216 40+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 217 11 217 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 217 11 217 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 217 11 217 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 217 11 217 14+ , srcInfoPoints = []+ }+ "not")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 217 15 217 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 217 15 217 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 217 15 217 16+ , srcInfoPoints = []+ }+ "x")))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 224 1 224 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 224 5 224 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 224 1 224 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 224 8 224 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 224 11 224 13 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 224 8 224 10+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 224 9 224 10+ , srcInfoPoints = []+ }+ "a")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 224 14 224 15+ , srcInfoPoints = []+ }+ Nothing))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 1 228 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 1 228 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 1 225 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 5 225 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 5 225 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 7 228 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 225 7 225 8 ]+ }+ (Let+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 9 228 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 225 9 225 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 228 9 228 11+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 13 227 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 225 13 225 13+ , SrcSpan "tests/examples/PartialSignatures.hs" 226 13 226 13+ , SrcSpan "tests/examples/PartialSignatures.hs" 227 13 227 13+ , SrcSpan "tests/examples/PartialSignatures.hs" 228 9 228 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 13 225 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 13 225 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 13 225 14+ , srcInfoPoints = []+ }+ "v"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 15 225 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 225 15 225 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 225 17 225 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 225 17 225 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 225 17 225 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 225+ 17+ 225+ 20+ , srcInfoPoints = []+ }+ "not")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 225 21 225 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 225 21 225 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 225+ 21+ 225+ 22+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 226 13 226 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 226 15 226 17 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 226 13 226 14+ , srcInfoPoints = []+ }+ "g"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 226 18 226 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 226 21 226 23 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 226 18 226 20+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 226 19 226 20+ , srcInfoPoints = []+ }+ "a")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 226 24 226 26+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 226 25 226 26+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 227 13 227 20+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 227 13 227 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 227 13 227 14+ , srcInfoPoints = []+ }+ "g")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 227 15 227 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 227 15 227 16+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 227 17 227 20+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 227 17 227 18+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 227 19 227 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 227 19 227 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 227+ 19+ 227+ 20+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ ])+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 228 12 228 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 228 12 228 13+ , SrcSpan "tests/examples/PartialSignatures.hs" 228 18 228 19+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 228 13 228 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 228 13 228 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 228 13 228 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 228 13 228 14+ , srcInfoPoints = []+ }+ "g")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 228 15 228 18+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 228 15 228 18+ , srcInfoPoints = []+ }+ 'x'+ "x"))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 1 230 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 230 9 230 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 1 230 8+ , srcInfoPoints = []+ }+ "showTwo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 35+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+ , srcInfoPoints = []+ }+ "Show")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 17 230 19+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 18 230 19+ , srcInfoPoints = []+ }+ "a")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 23 230 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 230 26 230 28 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 23 230 25+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 24 230 25+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 29 230 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 29 230 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 29 230 35+ , srcInfoPoints = []+ }+ "String")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 1 231 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 1 231 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 1 231 8+ , srcInfoPoints = []+ }+ "showTwo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 9 231 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 9 231 10+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 11 231 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 231 11 231 12 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 13 231 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 13 231 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 13 231 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 13 231 17+ , srcInfoPoints = []+ }+ "show")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 18 231 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 18 231 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 231 18 231 19+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 234 1 234 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 234 5 234 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 234 1 234 4+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 234 8 234 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 234 10 234 12 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 234 8 234 9+ , srcInfoPoints = []+ }+ Nothing)+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 234 13 234 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 234 13 234 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 234 13 234 17+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 235 1 235 13+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 235 1 235 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 235 1 235 4+ , srcInfoPoints = []+ }+ "bar")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 235 5 235 6+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 235 7 235 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 235 7 235 8 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 235 9 235 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 235 9 235 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 235 9 235 13+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 1 238 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 238 25 238 26 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 1 238 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 6 238 24+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 6 238 22+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 6 238 19+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 6 238 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 6 238 15+ , srcInfoPoints = []+ }+ "GenParser"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 16 238 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 16 238 19+ , srcInfoPoints = []+ }+ "tok")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 20 238 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 20 238 22+ , srcInfoPoints = []+ }+ "st")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 23 238 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 23 238 24+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 27 238 45+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 27 238 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 27 238 36+ , srcInfoPoints = []+ }+ "GenParser")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 37 238 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 37 238 40+ , srcInfoPoints = []+ }+ "tok")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 41 238 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 41 238 43+ , srcInfoPoints = []+ }+ "st")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 44 238 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 238 44 238 45+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 1 240 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 240 11 240 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 1 240 10+ , srcInfoPoints = []+ }+ "skipMany'"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 14 240 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 240 33 240 35 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 14 240 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 14 240 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 14 240 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 14 240 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 14 240 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 14 240 23+ , srcInfoPoints = []+ }+ "GenParser")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 24 240 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 24 240 27+ , srcInfoPoints = []+ }+ "tok")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 28 240 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 28 240 30+ , srcInfoPoints = []+ }+ "st")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 31 240 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 31 240 32+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 36 240 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 36 240 52+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 36 240 49+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 36 240 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 36 240 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 36 240 45+ , srcInfoPoints = []+ }+ "GenParser")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 46 240 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 46 240 49+ , srcInfoPoints = []+ }+ "tok")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 50 240 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 50 240 52+ , srcInfoPoints = []+ }+ "st")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 53 240 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 240 53 240 54+ , SrcSpan "tests/examples/PartialSignatures.hs" 240 54 240 55+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 53 240 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 240 53 240 54+ , SrcSpan "tests/examples/PartialSignatures.hs" 240 54 240 55+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 240 53 240 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 240 53 240 54+ , SrcSpan "tests/examples/PartialSignatures.hs" 240 54 240 55+ ]+ })))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 241 1 241 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 241 1 241 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 241 1 241 10+ , srcInfoPoints = []+ }+ "skipMany'"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 241 11 241 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 241 11 241 12 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 241 13 241 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 241 13 241 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 241 13 241 22+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 243 1 243 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 243 10 243 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 243 1 243 9+ , srcInfoPoints = []+ }+ "skipMany"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 243 13 243 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 243 15 243 17 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 243 13 243 14+ , srcInfoPoints = []+ }+ Nothing)+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 243 18 243 22+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 243 18 243 19+ , srcInfoPoints = []+ }+ Nothing)+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 243 20 243 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 243 20 243 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 243 21 243 22+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 243 20 243 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 243 20 243 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 243 21 243 22+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 243 20 243 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 243 20 243 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 243 21 243 22+ ]+ })))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 244 1 244 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 244 1 244 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 244 1 244 9+ , srcInfoPoints = []+ }+ "skipMany"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 244 10 244 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 244 10 244 11 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 244 12 244 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 244 12 244 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 244 12 244 21+ , srcInfoPoints = []+ }+ "skipMany'"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 1 246 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 246 19 246 21 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 1 246 18+ , srcInfoPoints = []+ }+ "somethingShowable"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 40+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+ , srcInfoPoints = []+ }+ "Show")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 27 246 29+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 28 246 29+ , srcInfoPoints = []+ }+ "x")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 33 246 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 246 36 246 38 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 33 246 35+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 34 246 35+ , srcInfoPoints = []+ }+ "x")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 39 246 40+ , srcInfoPoints = []+ }+ Nothing)))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 1 247 35+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 1 247 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 1 247 18+ , srcInfoPoints = []+ }+ "somethingShowable")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 19 247 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 19 247 20+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 21 247 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 247 21 247 22 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 23 247 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 23 247 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 23 247 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 23 247 27+ , srcInfoPoints = []+ }+ "show")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 28 247 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 247 28 247 29+ , SrcSpan "tests/examples/PartialSignatures.hs" 247 34 247 35+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 29 247 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 29 247 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 29 247 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 29 247 32+ , srcInfoPoints = []+ }+ "not")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 33 247 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 33 247 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 247 33 247 34+ , srcInfoPoints = []+ }+ "x")))))))+ Nothing+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 1 251 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 251 10 251 11 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 1 251 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 6 251 9+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 6 251 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 6 251 7+ , srcInfoPoints = []+ }+ "I"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 8 251 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 8 251 9+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 12 251 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 12 251 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 12 251 13+ , srcInfoPoints = []+ }+ "I")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 14 251 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 251 14 251 15+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 252 1 255 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 252 1 252 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 252 20 252 25+ , SrcSpan "tests/examples/PartialSignatures.hs" 253 5 253 5+ , SrcSpan "tests/examples/PartialSignatures.hs" 255 1 255 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 252 10 252 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 252 10 252 19+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 252 10 252 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 252 10 252 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 252 10 252 17+ , srcInfoPoints = []+ }+ "Functor")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 252 18 252 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 252 18 252 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 252 18 252 19+ , srcInfoPoints = []+ }+ "I")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 5 253 27+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 5 253 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 5 253 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 5 253 9+ , srcInfoPoints = []+ }+ "fmap")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 10 253 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 10 253 11+ , srcInfoPoints = []+ }+ "f")+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 12 253 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 253 12 253 13+ , SrcSpan "tests/examples/PartialSignatures.hs" 253 16 253 17+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 13 253 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 13 253 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 253 13 253 14+ , srcInfoPoints = []+ }+ "I"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 15 253 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 253 15 253 16+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 18 253 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 253 18 253 19 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 20 253 27+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 20 253 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 253 20 253 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 253 20 253 21+ , srcInfoPoints = []+ }+ "I")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 253 22 253 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 253 22 253 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 253 26 253 27+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 253 23 253 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 253 23 253 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 253+ 23+ 253+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 253+ 23+ 253+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 253 25 253 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 253+ 25+ 253+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 253+ 25+ 253+ 26+ , srcInfoPoints = []+ }+ "a")))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 1 255 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 255 15 255 16 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 1 255 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 9 255 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 9 255 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 9 255 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 9 255 10+ , srcInfoPoints = []+ }+ "B"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 11 255 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 11 255 12+ , srcInfoPoints = []+ }+ "t")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 13 255 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 13 255 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 17 255 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 17 255 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 17 255 18+ , srcInfoPoints = []+ }+ "B")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 19 255 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 255 19 255 20+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 1 259 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 256 1 256 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 256 24 256 29+ , SrcSpan "tests/examples/PartialSignatures.hs" 257 5 257 5+ , SrcSpan "tests/examples/PartialSignatures.hs" 259 1 259 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 10 256 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 10 256 23+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 10 256 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 10 256 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 10 256 17+ , srcInfoPoints = []+ }+ "Functor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 18 256 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 256 18 256 19+ , SrcSpan "tests/examples/PartialSignatures.hs" 256 22 256 23+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 19 256 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 19 256 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 19 256 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 19 256 20+ , srcInfoPoints = []+ }+ "B")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 21 256 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 256 21 256 22+ , srcInfoPoints = []+ }+ "t"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 5 257 27+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 5 257 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 5 257 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 5 257 9+ , srcInfoPoints = []+ }+ "fmap")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 10 257 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 10 257 11+ , srcInfoPoints = []+ }+ "f")+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 12 257 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 257 12 257 13+ , SrcSpan "tests/examples/PartialSignatures.hs" 257 16 257 17+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 13 257 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 13 257 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 257 13 257 14+ , srcInfoPoints = []+ }+ "B"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 15 257 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 257 15 257 16+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 18 257 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 257 18 257 19 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 20 257 27+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 20 257 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 257 20 257 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 257 20 257 21+ , srcInfoPoints = []+ }+ "B")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 257 22 257 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 257 22 257 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 257 26 257 27+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 257 23 257 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 257 23 257 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 257+ 23+ 257+ 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 257+ 23+ 257+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 257 25 257 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 257+ 25+ 257+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 257+ 25+ 257+ 26+ , srcInfoPoints = []+ }+ "a")))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 1 259 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 259 13 259 14 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 1 259 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 9 259 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 9 259 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 9 259 10+ , srcInfoPoints = []+ }+ "H"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 11 259 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 11 259 12+ , srcInfoPoints = []+ }+ "f")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 15 259 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 15 259 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 15 259 16+ , srcInfoPoints = []+ }+ "H")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 17 259 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 259 17 259 18+ , SrcSpan "tests/examples/PartialSignatures.hs" 259 22 259 23+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 18 259 22+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 18 259 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 18 259 19+ , srcInfoPoints = []+ }+ "f"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 20 259 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 259 20 259 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 259 21 259 22+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 20 259 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 259 20 259 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 259 21 259 22+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 259 20 259 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 259 20 259 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 259 21 259 22+ ]+ }))))+ ])+ ]+ []+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 261 1 261 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 261 4 261 6 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 261 1 261 3+ , srcInfoPoints = []+ }+ "h1"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 13+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]+ }+ Nothing))))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 261 12 261 13+ , srcInfoPoints = []+ }+ Nothing))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 1 263 42+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 1 263 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 1 263 3+ , srcInfoPoints = []+ }+ "h1")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 4 263 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 4 263 5+ , srcInfoPoints = []+ }+ "f")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 6 263 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 6 263 7+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 8 263 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 263 8 263 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 10 263 42+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 10 263 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 263 10 263 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 263 30 263 31+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 11 263 30+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 11 263 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 11 263 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 11 263 12+ , srcInfoPoints = []+ }+ "H")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 13 263 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 13 263 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 13 263 14+ , srcInfoPoints = []+ }+ ".")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 15 263 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 15 263 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 15 263 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 263 15 263 19+ , srcInfoPoints = []+ }+ "fmap")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 20 263 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 263 20 263 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 263 29 263 30+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 21 263 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 263 21 263 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 263 21 263 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 263+ 21+ 263+ 26+ , srcInfoPoints = []+ }+ "const")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 263 27 263 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 263 27 263 28+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 263 28 263 29+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 263 27 263 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 263+ 27+ 263+ 28+ , SrcSpan+ "tests/examples/PartialSignatures.hs"+ 263+ 28+ 263+ 29+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 263+ 27+ 263+ 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 263+ 27+ 263+ 28+ , SrcSpan+ "tests/examples/PartialSignatures.hs"+ 263+ 28+ 263+ 29+ ]+ }))))))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 32 263 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 263 32 263 33+ , SrcSpan "tests/examples/PartialSignatures.hs" 263 41 263 42+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 33 263 41+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 33 263 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 33 263 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 33 263 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 263 33 263 37+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 38 263 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 38 263 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 263 38 263 39+ , srcInfoPoints = []+ }+ "f"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 40 263 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 40 263 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 263 40 263 41+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 265 1 265 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 265 4 265 6 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 265 1 265 3+ , srcInfoPoints = []+ }+ "h2"+ ]+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 265 7 265 8+ , srcInfoPoints = []+ }+ Nothing)+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 1 267 42+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 1 267 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 1 267 3+ , srcInfoPoints = []+ }+ "h2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 4 267 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 4 267 5+ , srcInfoPoints = []+ }+ "f")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 6 267 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 6 267 7+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 8 267 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 267 8 267 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 10 267 42+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 10 267 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 267 10 267 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 267 30 267 31+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 11 267 30+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 11 267 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 11 267 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 11 267 12+ , srcInfoPoints = []+ }+ "H")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 13 267 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 13 267 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 13 267 14+ , srcInfoPoints = []+ }+ ".")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 15 267 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 15 267 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 15 267 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 267 15 267 19+ , srcInfoPoints = []+ }+ "fmap")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 20 267 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 267 20 267 21+ , SrcSpan "tests/examples/PartialSignatures.hs" 267 29 267 30+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 21 267 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 267 21 267 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 267 21 267 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 267+ 21+ 267+ 26+ , srcInfoPoints = []+ }+ "const")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 267 27 267 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 267 27 267 28+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 267 28 267 29+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 267 27 267 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 267+ 27+ 267+ 28+ , SrcSpan+ "tests/examples/PartialSignatures.hs"+ 267+ 28+ 267+ 29+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 267+ 27+ 267+ 29+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 267+ 27+ 267+ 28+ , SrcSpan+ "tests/examples/PartialSignatures.hs"+ 267+ 28+ 267+ 29+ ]+ }))))))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 32 267 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 267 32 267 33+ , SrcSpan "tests/examples/PartialSignatures.hs" 267 41 267 42+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 33 267 41+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 33 267 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 33 267 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 33 267 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 267 33 267 37+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 38 267 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 38 267 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 267 38 267 39+ , srcInfoPoints = []+ }+ "f"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 40 267 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 40 267 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 267 40 267 41+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 1 269 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 269 6 269 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 1 269 5+ , srcInfoPoints = []+ }+ "app1"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 9 269 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 9 269 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 9 269 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 9 269 10+ , srcInfoPoints = []+ }+ "H")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 11 269 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 269 11 269 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 269 15 269 16+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 12 269 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 12 269 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 12 269 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 12 269 13+ , srcInfoPoints = []+ }+ "B")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 14 269 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 269 14 269 15+ , srcInfoPoints = []+ }+ "t")))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 1 270 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 1 270 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 1 270 5+ , srcInfoPoints = []+ }+ "app1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 6 270 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 270 6 270 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 8 270 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 8 270 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 8 270 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 8 270 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 8 270 10+ , srcInfoPoints = []+ }+ "h1")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 11 270 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 270 11 270 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 270 17 270 18+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 12 270 17+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 12 270 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 12 270 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 12 270 13+ , srcInfoPoints = []+ }+ "H")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 14 270 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 14 270 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 14 270 15+ , srcInfoPoints = []+ }+ ".")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 16 270 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 16 270 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 16 270 17+ , srcInfoPoints = []+ }+ "I"))))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 19 270 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 270 19 270 20+ , SrcSpan "tests/examples/PartialSignatures.hs" 270 24 270 25+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 20 270 24+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 20 270 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 20 270 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 20 270 21+ , srcInfoPoints = []+ }+ "B")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 22 270 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 270 22 270 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 270 23 270 24+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 22 270 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 270 22 270 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 270 23 270 24+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 270 22 270 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 270 22 270 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 270 23 270 24+ ]+ })))))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 1 272 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 272 6 272 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 1 272 5+ , srcInfoPoints = []+ }+ "app2"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 9 272 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 9 272 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 9 272 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 9 272 10+ , srcInfoPoints = []+ }+ "H")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 11 272 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 272 11 272 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 272 15 272 16+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 12 272 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 12 272 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 12 272 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 12 272 13+ , srcInfoPoints = []+ }+ "B")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 14 272 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 272 14 272 15+ , srcInfoPoints = []+ }+ "t")))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 1 273 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 1 273 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 1 273 5+ , srcInfoPoints = []+ }+ "app2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 6 273 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 273 6 273 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 8 273 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 8 273 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 8 273 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 8 273 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 8 273 10+ , srcInfoPoints = []+ }+ "h2")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 11 273 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 273 11 273 12+ , SrcSpan "tests/examples/PartialSignatures.hs" 273 17 273 18+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 12 273 17+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 12 273 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 12 273 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 12 273 13+ , srcInfoPoints = []+ }+ "H")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 14 273 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 14 273 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 14 273 15+ , srcInfoPoints = []+ }+ ".")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 16 273 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 16 273 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 16 273 17+ , srcInfoPoints = []+ }+ "I"))))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 19 273 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 273 19 273 20+ , SrcSpan "tests/examples/PartialSignatures.hs" 273 24 273 25+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 20 273 24+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 20 273 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 20 273 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 20 273 21+ , srcInfoPoints = []+ }+ "B")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 22 273 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 273 22 273 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 273 23 273 24+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 22 273 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 273 22 273 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 273 23 273 24+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 273 22 273 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 273 22 273 23+ , SrcSpan "tests/examples/PartialSignatures.hs" 273 23 273 24+ ]+ })))))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 276 1 279 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 277 3 277 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 276 1 279 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 277 3 277 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 276 1 276 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 276 5 276 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 276 5 276 6+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 276 7 276 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 276 7 276 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 276 9 276 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 276 9 276 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 276 9 276 10+ , srcInfoPoints = []+ }+ "g"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 277 9 279 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 277 9 277 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 282 1 282 0+ ]+ }+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 277 9 279 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 278 11 278 16 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 277 9 279 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 278 11 278 16 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 277 9 277 10+ , srcInfoPoints = []+ }+ "g")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 277 11 277 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 277 11 277 12+ , srcInfoPoints = []+ }+ "r")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 277 13 277 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 277 13 277 14 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 277 15 277 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 277 15 277 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 277 15 277 16+ , srcInfoPoints = []+ }+ "x"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 278 17 279 22+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 278 17 278 17+ , SrcSpan+ "tests/examples/PartialSignatures.hs" 279 17 279 17+ , SrcSpan "tests/examples/PartialSignatures.hs" 282 1 282 0+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 278 17 278 23+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs" 278 19 278 21+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 278+ 17+ 278+ 18+ , srcInfoPoints = []+ }+ "x"+ ]+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 278 22 278 23+ , srcInfoPoints = []+ }+ Nothing)+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 279 17 279 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 279 17 279 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 279+ 17+ 279+ 18+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs" 279 19 279 22+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 279+ 19+ 279+ 20+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 279+ 21+ 279+ 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 279+ 21+ 279+ 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PartialSignatures.hs"+ 279+ 21+ 279+ 22+ , srcInfoPoints = []+ }+ "r"))))+ Nothing+ ]))+ ]+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 1 282 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 282 5 282 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 1 282 4+ , srcInfoPoints = []+ }+ "unc"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 8 282 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 282 22 282 24 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 8 282 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 282 8 282 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 282 20 282 21+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 9 282 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 282 11 282 13 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 9 282 10+ , srcInfoPoints = []+ }+ Nothing)+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 14 282 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 282 16 282 18 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 14 282 15+ , srcInfoPoints = []+ }+ Nothing)+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 19 282 20+ , srcInfoPoints = []+ }+ Nothing))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 25 282 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 282 32 282 34 ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 25 282 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 282 25 282 26+ , SrcSpan "tests/examples/PartialSignatures.hs" 282 27 282 28+ , SrcSpan "tests/examples/PartialSignatures.hs" 282 30 282 31+ ]+ }+ Boxed+ [ TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 26 282 27+ , srcInfoPoints = []+ }+ Nothing+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 29 282 30+ , srcInfoPoints = []+ }+ Nothing+ ])+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 282 35 282 36+ , srcInfoPoints = []+ }+ Nothing)))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 283 1 283 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 283 1 283 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 283 1 283 4+ , srcInfoPoints = []+ }+ "unc"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 283 5 283 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 283 5 283 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 283 7 283 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 283 7 283 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 283 7 283 14+ , srcInfoPoints = []+ }+ "uncurry"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 1 285 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 285 5 285 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 1 285 4+ , srcInfoPoints = []+ }+ "unc"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 8 285 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 285 25 285 27 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 8 285 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 285 8 285 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 285 23 285 24+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 9 285 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 285 12 285 14 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 9 285 11+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 10 285 11+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 15 285 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 285 18 285 20 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 15 285 17+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 16 285 17+ , srcInfoPoints = []+ }+ "b")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 21 285 23+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 22 285 23+ , srcInfoPoints = []+ }+ "c"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 28 285 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 285 37 285 39 ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 28 285 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 285 28 285 29+ , SrcSpan "tests/examples/PartialSignatures.hs" 285 31 285 32+ , SrcSpan "tests/examples/PartialSignatures.hs" 285 35 285 36+ ]+ }+ Boxed+ [ TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 29 285 31+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 30 285 31+ , srcInfoPoints = []+ }+ "a"))+ , TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 33 285 35+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 34 285 35+ , srcInfoPoints = []+ }+ "b"))+ ])+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 40 285 42+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 285 41 285 42+ , srcInfoPoints = []+ }+ "c")))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 286 1 286 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 286 1 286 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 286 1 286 4+ , srcInfoPoints = []+ }+ "unc"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 286 5 286 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 286 5 286 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 286 7 286 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 286 7 286 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 286 7 286 14+ , srcInfoPoints = []+ }+ "uncurry"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 1 289 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 289 5 289 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 1 289 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 8 289 31+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 8 289 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 289 8 289 9+ , SrcSpan "tests/examples/PartialSignatures.hs" 289 16 289 17+ , SrcSpan "tests/examples/PartialSignatures.hs" 289 19 289 20+ , SrcSpan "tests/examples/PartialSignatures.hs" 289 21 289 23+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+ , srcInfoPoints = []+ }+ "Show")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 14 289 16+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 15 289 16+ , srcInfoPoints = []+ }+ "a"))))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 18 289 19+ , srcInfoPoints = []+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 18 289 19+ , srcInfoPoints = []+ }+ Nothing)+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 24 289 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 289 27 289 29 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 24 289 26+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 25 289 26+ , srcInfoPoints = []+ }+ "a")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 30 289 31+ , srcInfoPoints = []+ }+ Nothing)))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 1 290 22+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 1 290 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 1 290 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 5 290 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 5 290 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 7 290 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 290 7 290 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 9 290 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 9 290 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 9 290 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 9 290 13+ , srcInfoPoints = []+ }+ "show")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 14 290 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 290 14 290 15+ , SrcSpan "tests/examples/PartialSignatures.hs" 290 21 290 22+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 15 290 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 15 290 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 15 290 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 15 290 19+ , srcInfoPoints = []+ }+ "succ")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 20 290 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 20 290 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 290 20 290 21+ , srcInfoPoints = []+ }+ "x")))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 292 1 292 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 292 5 292 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 292 1 292 4+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 292 8 292 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 292 10 292 12 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 292 8 292 9+ , srcInfoPoints = []+ }+ Nothing)+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 292 13 292 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 292 15 292 17 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 292 13 292 14+ , srcInfoPoints = []+ }+ Nothing)+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 292 18 292 19+ , srcInfoPoints = []+ }+ Nothing)))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 1 293 14+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 1 293 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 1 293 4+ , srcInfoPoints = []+ }+ "bar")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 5 293 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 5 293 6+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 7 293 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 7 293 8+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 9 293 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 293 9 293 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 11 293 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 11 293 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 11 293 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 11 293 12+ , srcInfoPoints = []+ }+ "y")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 13 293 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 13 293 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 293 13 293 14+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 101 1 101 24)+ " No extra constraints"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 131 1 131 84)+ " Test case for (fixed) bug that previously generated the following error message:"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 133 1 133 31)+ " LocalDefinitionBug.hs:9:16:"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 134 1 134 95)+ " GHC internal error: \8216a\8217 is not in scope during type checking, but it passed the renamer"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 135 1 135 63)+ " tcl_env of environment: [alA :-> Type variable \8216_\8217 = _,"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 136 1 136 73)+ " alC :-> Identifier[x::a, <NotTopLevel>],"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 137 1 137 63)+ " alE :-> Type variable \8216t\8217 = t,"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 138 1 138 62)+ " rjF :-> Identifier[monoLoc::a"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 139 1 139 102)+ " -> ((a, String), (a, _)), <NotTopLevel>]]"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 140 1 140 60)+ " In the type signature for \8216g\8217: g :: t -> (a, String)"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 141 1 141 37)+ " In an equation for \8216monoLoc\8217:"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 142 1 142 21)+ " monoLoc x"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 143 1 143 33)+ " = (g True, g False)"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 144 1 144 19)+ " where"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 145 1 145 39)+ " g :: t -> (a, String)"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 146 1 146 34)+ " g _ = (x, \"foo\")"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 149 1 149 64)+ " Fixed by using tcExtendTyVarEnv2 instead of tcExtendTyVarEnv"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 177 5 177 35)+ " g :: b -> (a, String) -- #1"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 178 22 178 27)+ " #2"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 181 1 181 51)+ " For #2, we should infer the same type as in #1."+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 220 1 220 74)+ " The named wildcards aren't scoped as the ScopedTypeVariables extension"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 221 1 221 79)+ " isn't enabled, of which the behaviour is copied. Thus, the _a annotation of"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 222 1 222 70)+ " x, which must be Bool, isn't the same as the _a in g, which is now"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 223 1 223 21)+ " generalised over."+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 248 1 248 33)+ " Inferred type: Bool -> String"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 262 1 262 44)+ " h :: Functor m => (a -> b) -> m a -> H m"+ , Comment+ False+ (SrcSpan "tests/examples/PartialSignatures.hs" 266 1 266 45)+ " h2 :: Functor m => (a -> b) -> m a -> H m"+ ]+ )
+ tests/examples/PartialSignatures.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PartialSignatures.hs.prettyprinter.golden view
@@ -0,0 +1,236 @@+{-# LANGUAGE GADTs, NamedWildCards, ScopedTypeVariables #-}++bar :: Int -> _ Int+bar x = Foo True () x++addAndOr1 :: _+addAndOr1 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y++addAndOr2 :: _ -> _+addAndOr2 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y++addAndOr3 :: _ -> _ -> _+addAndOr3 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y++addAndOr4 :: (_ _ _) -> (_ _ _) -> (_ _ _)+addAndOr4 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y++addAndOr5 :: (_, _) -> (_, _) -> (_, _)+addAndOr5 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y++addAndOr6 :: (Int, _) -> (Bool, _) -> (_ Int Bool)+addAndOr6 (a, b) (c, d) = (a `plus` d, b || c)+ where plus :: Int -> Int -> Int+ x `plus` y = x + y++bar :: _ -> _+bar x = not x++alpha :: _+alpha = 3++bravo :: _ => _+bravo = 3++bravo :: _ => _+bravo = 3++barry :: _a -> (_b _a, _b _)+barry x = (Left "x", Right x)++foo :: a ~ Bool => (a, _)+foo = (True, False)++every :: _ -> _ -> Bool+every _ [] = True+every p (x : xs) = p x && every p xs++every :: (_a -> Bool) -> [_a] -> Bool+every _ [] = True+every p (x : xs) = p x && every p xs++bar :: Bool -> Bool+bar x = (x :: _)++bar :: _a -> _a+bar True = (False :: _a)+bar False = (True :: _a)++arbitCs1 :: _ => a -> String+arbitCs1 x = show (succ x) ++ show (x == x)++arbitCs2 :: (Show a, _) => a -> String+arbitCs2 x = arbitCs1 x++arbitCs3 :: (Show a, Enum a, _) => a -> String+arbitCs3 x = arbitCs1 x++arbitCs4 :: (Eq a, _) => a -> String+arbitCs4 x = arbitCs1 x++arbitCs5 :: (Eq a, Enum a, Show a, _) => a -> String+arbitCs5 x = arbitCs1 x++foo :: _ => String+foo = "x"++foo :: _ => a+foo = 3++foo :: _ => a+foo = 3++fall :: forall a . _ -> a+fall v = v++bar :: _a -> _a+bar x = not x++foo :: (forall a . [a] -> [a]) -> _+foo x = (x [True, False], x ['a', 'b'])++foo :: (forall a . [a] -> [a]) -> (_, _ _)+foo x = (x [True, False], x ['a', 'b'])++monoLoc :: forall a . a -> ((a, String), (a, _))+monoLoc x = (g True, g False)+ where g :: t -> (a, String)+ g _ = (x, "foo")++data NukeMonad a b c++instance Functor (NukeMonad a b) where+ fmap = undefined++instance Applicative (NukeMonad a b) where+ pure = undefined+ (<*>) = undefined++instance Monad (NukeMonad a b) where+ return = undefined+ (>>=) = undefined++isMeltdown :: NukeMonad param1 param2 Bool+isMeltdown = undefined++unlessMeltdown :: _nm () -> _nm ()+unlessMeltdown c+ = do m <- isMeltdown+ if m then return () else c++monoLoc :: forall a . a -> ((a, String), (a, String))+monoLoc x = (g True, g 'v')+ where g :: b -> (a, _)+ g y = (x, "foo")++foo :: (_a, b) -> (a, _b)+foo (x, y) = (x, y)++f :: (_) => a -> a -> Bool+f x y = x == y++foo :: _+Just foo = Just id++foo :: Bool -> _+Just foo = Just id++bar :: Bool -> Bool+bar (x :: _) = True++orr :: a -> a -> a+orr = undefined++g :: _+g = f `orr` True++f :: _+f = g++test3 :: _+test3 x+ = const+ (let x :: _b+ x = True+ in False)+ $+ const+ (let x :: _b+ x = 'a'+ in True)+ $ not x++foo :: _a -> _+foo x+ = let v = not x+ + g :: _a -> _a+ g x = x+ in (g 'x')++showTwo :: Show _a => _a -> String+showTwo x = show x++bar :: _ -> Bool+bar _ = True++data GenParser tok st a = GenParser tok st a++skipMany' :: GenParser tok st a -> GenParser tok st ()+skipMany' = undefined++skipMany :: _ -> _ ()+skipMany = skipMany'++somethingShowable :: Show _x => _x -> _+somethingShowable x = show (not x)++data I a = I a++instance Functor I where+ fmap f (I a) = I (f a)++newtype B t a = B a++instance Functor (B t) where+ fmap f (B a) = B (f a)++newtype H f = H (f ())++h1 :: _ => _+h1 f b = (H . fmap (const ())) (fmap f b)++h2 :: _+h2 f b = (H . fmap (const ())) (fmap f b)++app1 :: H (B t)+app1 = h1 (H . I) (B ())++app2 :: H (B t)+app2 = h2 (H . I) (B ())+foo f = g+ where g r = x+ where x :: _+ x = r++unc :: (_ -> _ -> _) -> (_, _) -> _+unc = uncurry++unc :: (_a -> _b -> _c) -> (_a, _b) -> _c+unc = uncurry++foo :: (Show _a, _) => _a -> _+foo x = show (succ x)++bar :: _ -> _ -> _+bar x y = y x
+ tests/examples/PatSynFix.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE PatternSynonyms #-}+pattern A <- (True, True) where A = (not $ False && True, True)+exp = not $ False && True
+ tests/examples/PatSynFix.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatSynFix.hs.parser.golden view
@@ -0,0 +1,381 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 1+ , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 1+ , SrcSpan "tests/examples/PatSynFix.hs" 4 1 4 1+ , SrcSpan "tests/examples/PatSynFix.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 13+ , SrcSpan "tests/examples/PatSynFix.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ []+ [ PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 8+ , SrcSpan "tests/examples/PatSynFix.hs" 2 11 2 13+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ "A"))+ [])+ (PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 14 2 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 2 14 2 15+ , SrcSpan "tests/examples/PatSynFix.hs" 2 19 2 20+ , SrcSpan "tests/examples/PatSynFix.hs" 2 25 2 26+ ]+ }+ Boxed+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19+ , srcInfoPoints = []+ }+ "True"))+ []+ , PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25+ , srcInfoPoints = []+ }+ "True"))+ []+ ])+ (ExplicitBidirectional+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 27 3 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 2 27 2 32+ , SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 33+ , SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 64+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34+ , srcInfoPoints = []+ }+ "A"))+ [])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 35 2 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 2 35 2 36 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 37 2 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 2 37 2 38+ , SrcSpan "tests/examples/PatSynFix.hs" 2 57 2 58+ , SrcSpan "tests/examples/PatSynFix.hs" 2 63 2 64+ ]+ }+ Boxed+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 57+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41+ , srcInfoPoints = []+ }+ "not")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 57+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49+ , srcInfoPoints = []+ }+ "False")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52+ , srcInfoPoints = []+ }+ "&&")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57+ , srcInfoPoints = []+ }+ "True"))))+ , Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63+ , srcInfoPoints = []+ }+ "True"))+ ]))+ Nothing+ ])+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "exp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 5 3 26+ , srcInfoPoints = [ SrcSpan "tests/examples/PatSynFix.hs" 3 5 3 6 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10+ , srcInfoPoints = []+ }+ "not")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 26+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ "False")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21+ , srcInfoPoints = []+ }+ "&&")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26+ , srcInfoPoints = []+ }+ "True"))))))+ Nothing+ ]+ , []+ )
+ tests/examples/PatSynFix.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatSynFix.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE PatternSynonyms #-}++pattern A <- (True, True)+ where A = (not $ False && True, True)+exp = not $ False && True
+ tests/examples/PatternSplice.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+module PatternSpliceTest where++foo :: Int -> Bool+foo $( [p| 42 |] ) = True+foo _ = False
+ tests/examples/PatternSplice.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSplice.hs.parser.golden view
@@ -0,0 +1,235 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 1 1 1 1+ , SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatternSplice.hs" 4 1 4 1+ , SrcSpan "tests/examples/PatternSplice.hs" 5 1 5 1+ , SrcSpan "tests/examples/PatternSplice.hs" 6 1 6 1+ , SrcSpan "tests/examples/PatternSplice.hs" 7 1 7 1+ , SrcSpan "tests/examples/PatternSplice.hs" 7 1 7 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 7+ , SrcSpan "tests/examples/PatternSplice.hs" 2 26 2 31+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 2 8 2 25+ , srcInfoPoints = []+ }+ "PatternSpliceTest")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 1 1 1 13+ , SrcSpan "tests/examples/PatternSplice.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 1 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 4 5 4 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 4 12 4 14 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 11+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 15 4 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 15 4 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 15 4 19+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 1 6 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 1 5 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ "foo")+ [ PSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 7+ , SrcSpan "tests/examples/PatternSplice.hs" 5 18 5 19+ ]+ }+ (ParenSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 7+ , SrcSpan "tests/examples/PatternSplice.hs" 5 18 5 19+ ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 11+ , SrcSpan "tests/examples/PatternSplice.hs" 5 15 5 17+ ]+ }+ (PatBracket+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 11+ , SrcSpan "tests/examples/PatternSplice.hs" 5 15 5 17+ ]+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSplice.hs" 5 12 5 14+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSplice.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ 42+ "42")))))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 20 5 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 5 20 5 21 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 22 5 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 22 5 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 22 5 26+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 1 6 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ "foo")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 5 6 6+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 20 6 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 6 20 6 21 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 22 6 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 22 6 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 22 6 27+ , srcInfoPoints = []+ }+ "False"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/PatternSplice.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSplice.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+module PatternSpliceTest where++foo :: Int -> Bool+foo $( [p| 42 |] ) = True+foo _ = False
+ tests/examples/PatternSynonymImport.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE PatternSynonyms #-}++module Main (pattern Foo, pattern (:>)) where++import Foo (pattern Foo, pattern (:>))
+ tests/examples/PatternSynonymImport.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSynonymImport.hs.parser.golden view
@@ -0,0 +1,208 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 1 1 1 1+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 3 1 3 1+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 3 1 3 1+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 5 1 5 1+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 6 1 6 1+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 6 1 6 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 1 3 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 1 3 7+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 3 41 3 46+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 8 3 12+ , srcInfoPoints = []+ }+ "Main")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 13 3 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 13 3 14+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 3 25 3 26+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 3 39 3 40+ ]+ }+ [ EAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 14 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 14 3 21 ]+ }+ (PatternNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 14 3 21+ , srcInfoPoints = []+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 22 3 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 22 3 25+ , srcInfoPoints = []+ }+ "Foo"))+ , EAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 27 3 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 27 3 34 ]+ }+ (PatternNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 27 3 34+ , srcInfoPoints = []+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 35 3 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 35 3 36+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 3 36 3 38+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 3 38 3 39+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 3 36 3 38+ , srcInfoPoints = []+ }+ ":>"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 1 1 1 13+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 1 5 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 1 5 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 8 5 11+ , srcInfoPoints = []+ }+ "Foo"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 12 5 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 12 5 13+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 5 24 5 25+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 5 38 5 39+ ]+ }+ False+ [ IAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 13 5 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 13 5 20+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 5 21 5 24+ ]+ }+ (PatternNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 13 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 13 5 20 ]+ })+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 21 5 24+ , srcInfoPoints = []+ }+ "Foo")+ , IAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 26 5 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 26 5 33+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 5 34 5 38+ ]+ }+ (PatternNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 26 5 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 26 5 33 ]+ })+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 34 5 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymImport.hs" 5 34 5 35+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 5 35 5 37+ , SrcSpan "tests/examples/PatternSynonymImport.hs" 5 37 5 38+ ]+ }+ ":>")+ ])+ }+ ]+ []+ , []+ )
+ tests/examples/PatternSynonymImport.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSynonymImport.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE PatternSynonyms #-}+module Main (pattern Foo, pattern (:>)) where+import Foo (pattern Foo, pattern (:>))
+ tests/examples/PatternSynonymSignatures.hs view
@@ -0,0 +1,15 @@+{-# LANGUAGE PatternSynonyms #-}+++pattern Syn :: Typ++pattern Syn :: () => () => Typ++pattern Syn :: Show a => Show b => Typ++pattern Syn :: Show b => Typ++pattern Syn :: Show b => () => Typ++pattern Syn :: () => Show b => Typ+
+ tests/examples/PatternSynonymSignatures.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSynonymSignatures.hs.parser.golden view
@@ -0,0 +1,607 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 1 1 16 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 1 1 1 1+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 1 4 1+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 1 4 1+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 1 4 1+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 1 6 1+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 1 8 1+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 1 10 1+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 1 12 1+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 1 14 1+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 16 1 16 1+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 16 1 16 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 1 1 1 13+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ []+ [ PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 1 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 1 4 8+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 13 4 15+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ "Syn"+ ]+ Nothing+ Nothing+ Nothing+ Nothing+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 16 4 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 16 4 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 16 4 19+ , srcInfoPoints = []+ }+ "Typ")))+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 1 6 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 1 6 8+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 13 6 15+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 9 6 12+ , srcInfoPoints = []+ }+ "Syn"+ ]+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 16 6 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 16 6 17+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 17 6 18+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 19 6 21+ ]+ }))+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 22 6 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 22 6 23+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 23 6 24+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 25 6 27+ ]+ }))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 28 6 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 28 6 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 28 6 31+ , srcInfoPoints = []+ }+ "Typ")))+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 1 8 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 1 8 8+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 13 8 15+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 9 8 12+ , srcInfoPoints = []+ }+ "Syn"+ ]+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32+ , srcInfoPoints = []+ }+ "b"))))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 36 8 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 36 8 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 36 8 39+ , srcInfoPoints = []+ }+ "Typ")))+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 1 10 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 1 10 8+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 13 10 15+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 9 10 12+ , srcInfoPoints = []+ }+ "Syn"+ ]+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22+ , srcInfoPoints = []+ }+ "b"))))))+ Nothing+ Nothing+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 26 10 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 26 10 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 26 10 29+ , srcInfoPoints = []+ }+ "Typ")))+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 1 12 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 1 12 8+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 13 12 15+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 9 12 12+ , srcInfoPoints = []+ }+ "Syn"+ ]+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22+ , srcInfoPoints = []+ }+ "b"))))))+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 26 12 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 26 12 27+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 27 12 28+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 29 12 31+ ]+ }))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 32 12 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 32 12 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 32 12 35+ , srcInfoPoints = []+ }+ "Typ")))+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 1 14 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 1 14 8+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 13 14 15+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 9 14 12+ , srcInfoPoints = []+ }+ "Syn"+ ]+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 16 14 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 16 14 17+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 17 14 18+ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 19 14 21+ ]+ }))+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28+ , srcInfoPoints = []+ }+ "b"))))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 32 14 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 32 14 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 32 14 35+ , srcInfoPoints = []+ }+ "Typ")))+ ]+ , []+ )
+ tests/examples/PatternSynonymSignatures.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSynonymSignatures.hs.prettyprinter.golden view
@@ -0,0 +1,13 @@+{-# LANGUAGE PatternSynonyms #-}++pattern Syn :: Typ++pattern Syn :: () => () => Typ++pattern Syn :: Show a => Show b => Typ++pattern Syn :: Show b => Typ++pattern Syn :: Show b => () => Typ++pattern Syn :: () => Show b => Typ
+ tests/examples/PatternSynonyms.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE PatternSynonyms #-}++pattern A = Nothing++pattern B a = Just a++pattern a :+: b = (a,b)++pattern Tuple a b = (a,b)++pattern A = Nothing++pattern B a = Just a++pattern a :+: b = (a,b)+
+ tests/examples/PatternSynonyms.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSynonyms.hs.parser.golden view
@@ -0,0 +1,575 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 1 1 17 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 1 1 1 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 3 1 3 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 3 1 3 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 3 1 3 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 5 1 5 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 7 1 7 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 9 1 9 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 11 1 11 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 13 1 13 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 15 1 15 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 17 1 17 1+ , SrcSpan "tests/examples/PatternSynonyms.hs" 17 1 17 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 1 1 1 13+ , SrcSpan "tests/examples/PatternSynonyms.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ []+ [ PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 3 1 3 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 3 1 3 8+ , SrcSpan "tests/examples/PatternSynonyms.hs" 3 11 3 12+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ "A"))+ [])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 3 13 3 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 3 13 3 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 3 13 3 20+ , srcInfoPoints = []+ }+ "Nothing"))+ [])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 1 5 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 5 1 5 8+ , SrcSpan "tests/examples/PatternSynonyms.hs" 5 13 5 14+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 9 5 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ "B"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ "a")+ ])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 15 5 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 15 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 15 5 19+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 20 5 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 5 20 5 21+ , srcInfoPoints = []+ }+ "a")+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 1 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 7 1 7 8+ , SrcSpan "tests/examples/PatternSynonyms.hs" 7 17 7 18+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 9 7 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ "a"))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 11 7 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 11 7 14+ , srcInfoPoints = []+ }+ ":+:"))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 15 7 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 15 7 16+ , srcInfoPoints = []+ }+ "b")))+ (PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 19 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 7 19 7 20+ , SrcSpan "tests/examples/PatternSynonyms.hs" 7 21 7 22+ , SrcSpan "tests/examples/PatternSynonyms.hs" 7 23 7 24+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 20 7 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 20 7 21+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 22 7 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 7 22 7 23+ , srcInfoPoints = []+ }+ "b")+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 1 9 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 9 1 9 8+ , SrcSpan "tests/examples/PatternSynonyms.hs" 9 19 9 20+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 9 9 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 9 9 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 9 9 14+ , srcInfoPoints = []+ }+ "Tuple"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 15 9 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 15 9 16+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 17 9 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 17 9 18+ , srcInfoPoints = []+ }+ "b")+ ])+ (PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 21 9 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 9 21 9 22+ , SrcSpan "tests/examples/PatternSynonyms.hs" 9 23 9 24+ , SrcSpan "tests/examples/PatternSynonyms.hs" 9 25 9 26+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 22 9 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 22 9 23+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 24 9 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 9 24 9 25+ , srcInfoPoints = []+ }+ "b")+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 11 1 11 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 11 1 11 8+ , SrcSpan "tests/examples/PatternSynonyms.hs" 11 14 11 15+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 11 12 11 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 11 12 11 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 11 12 11 13+ , srcInfoPoints = []+ }+ "A"))+ [])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 11 16 11 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 11 16 11 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 11 16 11 23+ , srcInfoPoints = []+ }+ "Nothing"))+ [])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 1 13 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 13 1 13 8+ , SrcSpan "tests/examples/PatternSynonyms.hs" 13 16 13 17+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 9 13 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ "B"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 11 13 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 11 13 12+ , srcInfoPoints = []+ }+ "a")+ ])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 18 13 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 18 13 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 18 13 22+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 23 13 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 13 23 13 24+ , srcInfoPoints = []+ }+ "a")+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 1 15 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 15 1 15 8+ , SrcSpan "tests/examples/PatternSynonyms.hs" 15 17 15 18+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 9 15 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ "a"))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 11 15 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 11 15 14+ , srcInfoPoints = []+ }+ ":+:"))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ "b")))+ (PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 23 15 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms.hs" 15 23 15 24+ , SrcSpan "tests/examples/PatternSynonyms.hs" 15 25 15 26+ , SrcSpan "tests/examples/PatternSynonyms.hs" 15 27 15 28+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 24 15 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 24 15 25+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 26 15 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms.hs" 15 26 15 27+ , srcInfoPoints = []+ }+ "b")+ ])+ ImplicitBidirectional+ ]+ , []+ )
+ tests/examples/PatternSynonyms.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSynonyms.hs.prettyprinter.golden view
@@ -0,0 +1,15 @@+{-# LANGUAGE PatternSynonyms #-}++pattern A = Nothing++pattern B a = Just a++pattern a :+: b = (a, b)++pattern Tuple a b = (a, b)++pattern A = Nothing++pattern B a = Just a++pattern a :+: b = (a, b)
+ tests/examples/PatternSynonyms2.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, KindSignatures #-}+module Foo (pattern Single) where++++pattern Single x <- [x]+ where Single 4 = [x]+ Single 5 = [x]++pattern Double x = [x]++++++single :: [a] -> Maybe a+single (Single x) = Just x+single _ = Nothing
+ tests/examples/PatternSynonyms2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSynonyms2.hs.parser.golden view
@@ -0,0 +1,664 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 1 1 19 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 1 1 1 1+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 6 1 6 1+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 10 1 10 1+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 16 1 16 1+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 17 1 17 1+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 18 1 18 1+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 19 1 19 1+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 19 1 19 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 2 1 2 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 2 1 2 7+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 2 29 2 34+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 2 8 2 11+ , srcInfoPoints = []+ }+ "Foo")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 2 12 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 2 12 2 13+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 2 27 2 28+ ]+ }+ [ EAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 2 13 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 2 13 2 20 ]+ }+ (PatternNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 2 13 2 20+ , srcInfoPoints = []+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 2 21 2 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 2 21 2 27+ , srcInfoPoints = []+ }+ "Single"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 1 1 1 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 1 1 1 13+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 1 29 1 30+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 1 50 1 51+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 1 68 1 71+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 1 31 1 50+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 1 52 1 66+ , srcInfoPoints = []+ }+ "KindSignatures"+ ]+ ]+ []+ [ PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 1 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 1 6 8+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 6 18 6 20+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 9 6 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 9 6 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 9 6 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ "x")+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 21 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 21 6 22+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 6 23 6 24+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 22 6 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 6 22 6 23+ , srcInfoPoints = []+ }+ "x")+ ])+ (ExplicitBidirectional+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 3 10 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 3 7 8+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 7 9 7 9+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 8 9 8 9+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 10 1 10 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 9 7 23+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 9 7 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 9 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 9 7 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 16 7 17+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ 4+ "4")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 18 7 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 18 7 19 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 20 7 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 20 7 21+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 7 22 7 23+ ]+ }+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 21 7 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 21 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 7 21 7 22+ , srcInfoPoints = []+ }+ "x"))+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 9 8 23+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 9 8 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 9 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 9 8 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 16 8 17+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ 5+ "5")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 18 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 18 8 19 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 20 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 20 8 21+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 8 22 8 23+ ]+ }+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ "x"))+ ]))+ Nothing+ ])+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 1 10 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 1 10 8+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 10 18 10 19+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 9 10 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 9 10 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 9 10 15+ , srcInfoPoints = []+ }+ "Double"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 16 10 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 16 10 17+ , srcInfoPoints = []+ }+ "x")+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 20 10 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 20 10 21+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 10 22 10 23+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 21 10 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 10 21 10 22+ , srcInfoPoints = []+ }+ "x")+ ])+ ImplicitBidirectional+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 1 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 8 16 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 1 16 7+ , srcInfoPoints = []+ }+ "single"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 11 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 15 16 17 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 11 16 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 11 16 12+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 16 13 16 14+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 12 16 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 12 16 13+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 18 16 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 18 16 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 18 16 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 18 16 23+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 24 16 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 16 24 16 25+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 1 18 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 1 17 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 1 17 7+ , srcInfoPoints = []+ }+ "single")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 8 17 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 8 17 9+ , SrcSpan "tests/examples/PatternSynonyms2.hs" 17 17 17 18+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 9 17 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 9 17 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 9 17 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 16 17 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 16 17 17+ , srcInfoPoints = []+ }+ "x")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 19 17 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 19 17 20 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 21 17 27+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 21 17 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 21 17 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 21 17 25+ , srcInfoPoints = []+ }+ "Just")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 26 17 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 26 17 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 17 26 17 27+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 18 1 18 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 18 1 18 7+ , srcInfoPoints = []+ }+ "single")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 18 8 18 9+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 18 10 18 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms2.hs" 18 10 18 11 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 18 12 18 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 18 12 18 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms2.hs" 18 12 18 19+ , srcInfoPoints = []+ }+ "Nothing"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/PatternSynonyms2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSynonyms2.hs.prettyprinter.golden view
@@ -0,0 +1,13 @@+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, KindSignatures+ #-}+module Foo (pattern Single) where++pattern Single x <- [x]+ where Single 4 = [x]+ Single 5 = [x]++pattern Double x = [x]++single :: [a] -> Maybe a+single (Single x) = Just x+single _ = Nothing
+ tests/examples/PatternSynonyms3.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE PatternSynonyms, BangPatterns, PolyKinds, DataKinds, GADTs,+ FlexibleContexts, ViewPatterns #-}+{-# LANGUAGE ExplicitForAll #-}++pattern Single x <- [x]+++single :: [a] -> Maybe a+single (Single x) = Just x+single _ = Nothing++pattern Single :: a -> [a]+pattern Single x = [x]+++pattern Single :: () => (Show a) => a -> [a]+pattern Single x = [x]++f :: (Show a) => [a] -> a+f (Single x) = x++pattern SinglePair :: (a, a) -> [(a, a)]+pattern SinglePair x = [x]++f :: (Show a) => [(a, a)] -> String+f (SinglePair x) = show x++pattern Q = D++pattern C :: a -> X Maybe (Maybe a)+pattern C x = Y (Just x)+++pattern Syn :: forall a b c . () => () => Int++pattern C :: (Show (a, Bool)) => a -> X Maybe (Maybe (a, Bool))+pattern C x = Y (Just (x, True))++pattern P :: T Bool b+pattern P <- MkT True++pattern D :: a -> T (Maybe a) Bool+pattern D x = MkT (Just x)+++pattern P a b = Just (a, b)++pattern Single x = [x]++pattern a :+: b = (a, b)+++pattern P x <- MkT 42 x+++pattern P x y <- MkT x y++pattern P x <- MkT (f -> True) x++data T where+ MkT :: b -> (b -> Bool) -> T++pattern P x f <- MkT x f++pattern Single x <- [x]++pattern P <- Just True++pattern P = 42+++pattern P = ()+++pattern Single x <- [x]+
+ tests/examples/PatternSynonyms3.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSynonyms3.hs.parser.golden view
@@ -0,0 +1,3805 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 1 1 77 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 1 1 1 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 3 1 3 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 5 1 5 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 5 1 5 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 5 1 5 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 8 1 8 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 9 1 9 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 10 1 10 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 12 1 12 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 13 1 13 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 1 16 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 17 1 17 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 19 1 19 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 20 1 20 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 22 1 22 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 23 1 23 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 1 25 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 26 1 26 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 28 1 28 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 30 1 30 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 31 1 31 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 1 34 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 1 36 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 37 1 37 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 39 1 39 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 40 1 40 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 42 1 42 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 43 1 43 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 46 1 46 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 48 1 48 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 50 1 50 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 53 1 53 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 56 1 56 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 58 1 58 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 60 1 60 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 63 1 63 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 65 1 65 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 67 1 67 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 69 1 69 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 72 1 72 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 75 1 75 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 77 1 77 1+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 77 1 77 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 1 1 2 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 1 1 1 13+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 1 29 1 30+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 1 43 1 44+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 1 54 1 55+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 1 65 1 66+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 1 72 1 73+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 2 18 2 19+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 2 33 2 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 1 31 1 43+ , srcInfoPoints = []+ }+ "BangPatterns"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 1 45 1 54+ , srcInfoPoints = []+ }+ "PolyKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 1 56 1 65+ , srcInfoPoints = []+ }+ "DataKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 1 67 1 72+ , srcInfoPoints = []+ }+ "GADTs"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 2 2 2 18+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 2 20 2 32+ , srcInfoPoints = []+ }+ "ViewPatterns"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 3 1 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 3 1 3 13+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 3 29 3 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 3 14 3 28+ , srcInfoPoints = []+ }+ "ExplicitForAll"+ ]+ ]+ []+ [ PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 1 5 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 1 5 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 5 18 5 20+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 9 5 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 9 5 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 9 5 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ "x")+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 21 5 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 21 5 22+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 5 23 5 24+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 22 5 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 5 22 5 23+ , srcInfoPoints = []+ }+ "x")+ ])+ Unidirectional+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 1 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 8 8 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 1 8 7+ , srcInfoPoints = []+ }+ "single"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 11 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 15 8 17 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 11 8 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 11 8 12+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 8 13 8 14+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 12 8 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 12 8 13+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 18 8 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 18 8 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 18 8 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 18 8 23+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 24 8 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 8 24 8 25+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 1 10 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 1 9 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 1 9 7+ , srcInfoPoints = []+ }+ "single")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 8 9 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 8 9 9+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 9 17 9 18+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 9 9 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 9 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 9 9 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ "x")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 19 9 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 19 9 20 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 21 9 27+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 21 9 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 21 9 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 21 9 25+ , srcInfoPoints = []+ }+ "Just")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 26 9 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 26 9 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 9 26 9 27+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 10 1 10 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 10 1 10 7+ , srcInfoPoints = []+ }+ "single")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 10 8 10 9+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 10 10 10 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 10 10 10 11 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 10 12 10 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 10 12 10 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 10 12 10 19+ , srcInfoPoints = []+ }+ "Nothing"))))+ Nothing+ ]+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 1 12 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 1 12 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 12 16 12 18+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 9 12 15+ , srcInfoPoints = []+ }+ "Single"+ ]+ Nothing+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 19 12 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 21 12 23 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 19 12 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 19 12 20+ , srcInfoPoints = []+ }+ "a"))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 24 12 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 24 12 25+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 12 26 12 27+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 25 12 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 25 12 26+ , srcInfoPoints = []+ }+ "a"))))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 1 13 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 1 13 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 13 18 13 19+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 9 13 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 9 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 9 13 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ "x")+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 20 13 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 20 13 21+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 13 22 13 23+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 21 13 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 13 21 13 22+ , srcInfoPoints = []+ }+ "x")+ ])+ ImplicitBidirectional+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 1 16 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 1 16 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 16 16 18+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 9 16 15+ , srcInfoPoints = []+ }+ "Single"+ ]+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 19 16 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 19 16 20+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 20 16 21+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 22 16 24+ ]+ }))+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 25 16 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 25 16 26+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 32 16 33+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 34 16 36+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 25 16 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 25 16 26+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 32 16 33+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 34 16 36+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32+ , srcInfoPoints = []+ }+ "a")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 37 16 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 39 16 41 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 37 16 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 37 16 38+ , srcInfoPoints = []+ }+ "a"))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 42 16 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 42 16 43+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 44 16 45+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 43 16 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 43 16 44+ , srcInfoPoints = []+ }+ "a"))))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 1 17 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 1 17 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 17 18 17 19+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 9 17 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 9 17 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 9 17 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 16 17 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 16 17 17+ , srcInfoPoints = []+ }+ "x")+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 20 17 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 20 17 21+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 17 22 17 23+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 21 17 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 17 21 17 22+ , srcInfoPoints = []+ }+ "x")+ ])+ ImplicitBidirectional+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 1 19 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 3 19 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 1 19 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 6 19 26+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 6 19 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 6 19 7+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 19 13 19 14+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 19 15 19 17+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 6 19 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 6 19 7+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 19 13 19 14+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 19 15 19 17+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13+ , srcInfoPoints = []+ }+ "a")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 18 19 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 22 19 24 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 18 19 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 18 19 19+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 19 20 19 21+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 19 19 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 19 19 20+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 25 19 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 25 19 26+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 1 20 17+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 1 20 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 1 20 2+ , srcInfoPoints = []+ }+ "f")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 3 20 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 3 20 4+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 20 12 20 13+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 4 20 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 4 20 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 4 20 10+ , srcInfoPoints = []+ }+ "Single"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 11 20 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 11 20 12+ , srcInfoPoints = []+ }+ "x")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 14 20 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 14 20 15 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 16 20 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 16 20 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 20 16 20 17+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 1 22 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 1 22 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 22 20 22 22+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 9 22 19+ , srcInfoPoints = []+ }+ "SinglePair"+ ]+ Nothing+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 23 22 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 30 22 32 ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 23 22 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 23 22 24+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 22 25 22 26+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 22 28 22 29+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 24 22 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 24 22 25+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 27 22 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 27 22 28+ , srcInfoPoints = []+ }+ "a")+ ])+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 33 22 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 33 22 34+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 22 40 22 41+ ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 34 22 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 34 22 35+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 22 36 22 37+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 22 39 22 40+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 35 22 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 35 22 36+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 38 22 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 38 22 39+ , srcInfoPoints = []+ }+ "a")+ ])))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 1 23 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 1 23 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 23 22 23 23+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 9 23 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 9 23 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 9 23 19+ , srcInfoPoints = []+ }+ "SinglePair"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 20 23 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 20 23 21+ , srcInfoPoints = []+ }+ "x")+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 24 23 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 24 23 25+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 23 26 23 27+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 25 23 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 23 25 23 26+ , srcInfoPoints = []+ }+ "x")+ ])+ ImplicitBidirectional+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 1 25 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 3 25 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 1 25 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 6 25 36+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 6 25 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 6 25 7+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 13 25 14+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 15 25 17+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 6 25 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 6 25 7+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 13 25 14+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 15 25 17+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13+ , srcInfoPoints = []+ }+ "a")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 18 25 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 27 25 29 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 18 25 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 18 25 19+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 25 25 26+ ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 19 25 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 19 25 20+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 21 25 22+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 24 25 25+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 20 25 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 20 25 21+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 23 25 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 23 25 24+ , srcInfoPoints = []+ }+ "a")+ ]))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 30 25 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 30 25 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 30 25 36+ , srcInfoPoints = []+ }+ "String")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 1 26 26+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 1 26 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 1 26 2+ , srcInfoPoints = []+ }+ "f")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 3 26 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 3 26 4+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 26 16 26 17+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 4 26 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 4 26 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 4 26 14+ , srcInfoPoints = []+ }+ "SinglePair"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 15 26 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 15 26 16+ , srcInfoPoints = []+ }+ "x")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 18 26 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 18 26 19 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 20 26 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 20 26 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 20 26 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 20 26 24+ , srcInfoPoints = []+ }+ "show")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 25 26 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 25 26 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 26 25 26 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 28 1 28 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 28 1 28 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 28 11 28 12+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 28 9 28 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 28 9 28 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 28 9 28 10+ , srcInfoPoints = []+ }+ "Q"))+ [])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 28 13 28 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 28 13 28 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 28 13 28 14+ , srcInfoPoints = []+ }+ "D"))+ [])+ ImplicitBidirectional+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 1 30 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 1 30 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 30 11 30 13+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 9 30 10+ , srcInfoPoints = []+ }+ "C"+ ]+ Nothing+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 14 30 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 16 30 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 14 30 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 14 30 15+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 19 30 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 19 30 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 19 30 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 19 30 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 19 30 20+ , srcInfoPoints = []+ }+ "X")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 21 30 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 21 30 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 21 30 26+ , srcInfoPoints = []+ }+ "Maybe"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 27 30 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 27 30 28+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 30 35 30 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 28 30 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 28 30 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 28 30 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 28 30 33+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 34 30 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 34 30 35+ , srcInfoPoints = []+ }+ "a"))))))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 1 31 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 1 31 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 31 13 31 14+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 9 31 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 9 31 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 9 31 10+ , srcInfoPoints = []+ }+ "C"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 11 31 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 11 31 12+ , srcInfoPoints = []+ }+ "x")+ ])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 15 31 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 15 31 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 15 31 16+ , srcInfoPoints = []+ }+ "Y"))+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 17 31 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 17 31 18+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 31 24 31 25+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 18 31 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 18 31 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 18 31 22+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 23 31 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 31 23 31 24+ , srcInfoPoints = []+ }+ "x")+ ])+ ])+ ImplicitBidirectional+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 1 34 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 1 34 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 13 34 15+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 16 34 22+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 32 34 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 9 34 12+ , srcInfoPoints = []+ }+ "Syn"+ ]+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 23 34 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 23 34 24+ , srcInfoPoints = []+ }+ "a")+ , UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 25 34 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 25 34 26+ , srcInfoPoints = []+ }+ "b")+ , UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 27 34 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 27 34 28+ , srcInfoPoints = []+ }+ "c")+ ])+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 34 34 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 34 34 35+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 35 34 36+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 37 34 39+ ]+ }))+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 40 34 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 40 34 41+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 41 34 42+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 43 34 45+ ]+ }))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 46 34 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 46 34 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 46 34 49+ , srcInfoPoints = []+ }+ "Int")))+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 1 36 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 1 36 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 11 36 13+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 9 36 10+ , srcInfoPoints = []+ }+ "C"+ ]+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 14 36 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 14 36 15+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 29 36 30+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 31 36 33+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 14 36 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 14 36 15+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 29 36 30+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 31 36 33+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+ , srcInfoPoints = []+ }+ "Show")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 21+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 22 36 23+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 28 36 29+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22+ , srcInfoPoints = []+ }+ "a")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+ , srcInfoPoints = []+ }+ "Bool"))+ ]))))))+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 34 36 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 36 36 38 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 34 36 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 34 36 35+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 39 36 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 39 36 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 39 36 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 39 36 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 39 36 40+ , srcInfoPoints = []+ }+ "X")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 41 36 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 41 36 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 41 36 46+ , srcInfoPoints = []+ }+ "Maybe"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 47 36 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 47 36 48+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 63 36 64+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 48 36 63+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 48 36 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 48 36 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 48 36 53+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 54 36 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 54 36 55+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 56 36 57+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 62 36 63+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 55 36 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 55 36 56+ , srcInfoPoints = []+ }+ "a")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 58 36 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 58 36 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 58 36 62+ , srcInfoPoints = []+ }+ "Bool"))+ ])))))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 1 37 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 1 37 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 37 13 37 14+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 9 37 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 9 37 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 9 37 10+ , srcInfoPoints = []+ }+ "C"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 11 37 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 11 37 12+ , srcInfoPoints = []+ }+ "x")+ ])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 15 37 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 15 37 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 15 37 16+ , srcInfoPoints = []+ }+ "Y"))+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 17 37 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 17 37 18+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 37 32 37 33+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 18 37 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 18 37 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 18 37 22+ , srcInfoPoints = []+ }+ "Just"))+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 23 37 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 23 37 24+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 37 25 37 26+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 37 31 37 32+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 24 37 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 24 37 25+ , srcInfoPoints = []+ }+ "x")+ , PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 27 37 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 27 37 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 37 27 37 31+ , srcInfoPoints = []+ }+ "True"))+ []+ ]+ ])+ ])+ ImplicitBidirectional+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 1 39 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 1 39 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 39 11 39 13+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 9 39 10+ , srcInfoPoints = []+ }+ "P"+ ]+ Nothing+ Nothing+ Nothing+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 14 39 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 14 39 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 14 39 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 14 39 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 14 39 15+ , srcInfoPoints = []+ }+ "T")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 16 39 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 16 39 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 16 39 20+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 21 39 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 21 39 22+ , srcInfoPoints = []+ }+ "b")))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 1 40 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 1 40 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 40 11 40 13+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 9 40 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 9 40 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 9 40 10+ , srcInfoPoints = []+ }+ "P"))+ [])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 14 40 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 14 40 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 14 40 17+ , srcInfoPoints = []+ }+ "MkT"))+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 18 40 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 18 40 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 40 18 40 22+ , srcInfoPoints = []+ }+ "True"))+ []+ ])+ Unidirectional+ , PatSynSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 1 42 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 1 42 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 42 11 42 13+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 9 42 10+ , srcInfoPoints = []+ }+ "D"+ ]+ Nothing+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 14 42 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 16 42 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 14 42 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 14 42 15+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 19 42 35+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 19 42 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 19 42 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 19 42 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 19 42 20+ , srcInfoPoints = []+ }+ "T")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 21 42 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 21 42 22+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 42 29 42 30+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 22 42 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 22 42 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 22 42 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 22 42 27+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 28 42 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 28 42 29+ , srcInfoPoints = []+ }+ "a")))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 31 42 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 31 42 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 31 42 35+ , srcInfoPoints = []+ }+ "Bool")))))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 1 43 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 1 43 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 43 13 43 14+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 9 43 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 9 43 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 9 43 10+ , srcInfoPoints = []+ }+ "D"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 11 43 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 11 43 12+ , srcInfoPoints = []+ }+ "x")+ ])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 15 43 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 15 43 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 15 43 18+ , srcInfoPoints = []+ }+ "MkT"))+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 19 43 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 19 43 20+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 43 26 43 27+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 20 43 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 20 43 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 20 43 24+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 25 43 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 43 25 43 26+ , srcInfoPoints = []+ }+ "x")+ ])+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 1 46 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 1 46 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 46 15 46 16+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 9 46 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 9 46 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 9 46 10+ , srcInfoPoints = []+ }+ "P"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 11 46 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 11 46 12+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 13 46 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 13 46 14+ , srcInfoPoints = []+ }+ "b")+ ])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 17 46 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 17 46 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 17 46 21+ , srcInfoPoints = []+ }+ "Just"))+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 22 46 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 22 46 23+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 46 24 46 25+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 46 27 46 28+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 23 46 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 23 46 24+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 26 46 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 46 26 46 27+ , srcInfoPoints = []+ }+ "b")+ ]+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 1 48 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 1 48 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 48 18 48 19+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 9 48 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 9 48 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 9 48 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 16 48 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 16 48 17+ , srcInfoPoints = []+ }+ "x")+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 20 48 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 20 48 21+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 48 22 48 23+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 21 48 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 48 21 48 22+ , srcInfoPoints = []+ }+ "x")+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 1 50 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 1 50 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 50 17 50 18+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 9 50 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 9 50 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 9 50 10+ , srcInfoPoints = []+ }+ "a"))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 11 50 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 11 50 14+ , srcInfoPoints = []+ }+ ":+:"))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 15 50 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 15 50 16+ , srcInfoPoints = []+ }+ "b")))+ (PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 19 50 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 19 50 20+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 50 21 50 22+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 50 24 50 25+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 20 50 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 20 50 21+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 23 50 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 50 23 50 24+ , srcInfoPoints = []+ }+ "b")+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 1 53 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 1 53 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 53 13 53 15+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 9 53 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 9 53 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 9 53 10+ , srcInfoPoints = []+ }+ "P"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 11 53 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 11 53 12+ , srcInfoPoints = []+ }+ "x")+ ])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 16 53 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 16 53 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 16 53 19+ , srcInfoPoints = []+ }+ "MkT"))+ [ PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 20 53 22+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 20 53 22+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 20 53 22+ , srcInfoPoints = []+ }+ 42+ "42")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 23 53 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 53 23 53 24+ , srcInfoPoints = []+ }+ "x")+ ])+ Unidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 1 56 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 1 56 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 56 15 56 17+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 9 56 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 9 56 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 9 56 10+ , srcInfoPoints = []+ }+ "P"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 11 56 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 11 56 12+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 13 56 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 13 56 14+ , srcInfoPoints = []+ }+ "y")+ ])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 18 56 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 18 56 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 18 56 21+ , srcInfoPoints = []+ }+ "MkT"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 22 56 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 22 56 23+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 24 56 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 56 24 56 25+ , srcInfoPoints = []+ }+ "y")+ ])+ Unidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 1 58 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 1 58 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 58 13 58 15+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 9 58 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 9 58 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 9 58 10+ , srcInfoPoints = []+ }+ "P"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 11 58 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 11 58 12+ , srcInfoPoints = []+ }+ "x")+ ])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 16 58 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 16 58 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 16 58 19+ , srcInfoPoints = []+ }+ "MkT"))+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 20 58 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 20 58 21+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 58 30 58 31+ ]+ }+ (PViewPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 21 58 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 23 58 25 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 21 58 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 21 58 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 21 58 22+ , srcInfoPoints = []+ }+ "f")))+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 26 58 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 26 58 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 26 58 30+ , srcInfoPoints = []+ }+ "True"))+ []))+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 32 58 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 58 32 58 33+ , srcInfoPoints = []+ }+ "x")+ ])+ Unidirectional+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 60 1 63 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 60 8 60 13+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 61 5 61 5+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 63 1 63 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 60 1 60 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 60 6 60 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 60 6 60 7+ , srcInfoPoints = []+ }+ "T"))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 5 61 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 9 61 11 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 5 61 8+ , srcInfoPoints = []+ }+ "MkT")+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 12 61 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 14 61 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 12 61 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 12 61 13+ , srcInfoPoints = []+ }+ "b"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 17 61 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 29 61 31 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 17 61 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 17 61 18+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 61 27 61 28+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 18 61 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 20 61 22 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 18 61 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 18 61 19+ , srcInfoPoints = []+ }+ "b"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 23 61 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 23 61 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 23 61 27+ , srcInfoPoints = []+ }+ "Bool")))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 32 61 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 32 61 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 61 32 61 33+ , srcInfoPoints = []+ }+ "T")))))+ ]+ []+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 1 63 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 1 63 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 63 15 63 17+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 9 63 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 9 63 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 9 63 10+ , srcInfoPoints = []+ }+ "P"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 11 63 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 11 63 12+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 13 63 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 13 63 14+ , srcInfoPoints = []+ }+ "f")+ ])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 18 63 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 18 63 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 18 63 21+ , srcInfoPoints = []+ }+ "MkT"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 22 63 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 22 63 23+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 24 63 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 63 24 63 25+ , srcInfoPoints = []+ }+ "f")+ ])+ Unidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 1 65 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 1 65 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 65 18 65 20+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 9 65 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 9 65 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 9 65 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 16 65 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 16 65 17+ , srcInfoPoints = []+ }+ "x")+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 21 65 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 21 65 22+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 65 23 65 24+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 22 65 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 65 22 65 23+ , srcInfoPoints = []+ }+ "x")+ ])+ Unidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 1 67 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 1 67 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 67 11 67 13+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 9 67 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 9 67 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 9 67 10+ , srcInfoPoints = []+ }+ "P"))+ [])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 14 67 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 14 67 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 14 67 18+ , srcInfoPoints = []+ }+ "Just"))+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 19 67 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 19 67 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 67 19 67 23+ , srcInfoPoints = []+ }+ "True"))+ []+ ])+ Unidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 69 1 69 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 69 1 69 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 69 11 69 12+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 69 9 69 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 69 9 69 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 69 9 69 10+ , srcInfoPoints = []+ }+ "P"))+ [])+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 69 13 69 15+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 69 13 69 15+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 69 13 69 15+ , srcInfoPoints = []+ }+ 42+ "42"))+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 1 72 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 1 72 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 72 11 72 12+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 9 72 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 9 72 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 9 72 10+ , srcInfoPoints = []+ }+ "P"))+ [])+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 13 72 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 13 72 14+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 72 14 72 15+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 13 72 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 13 72 14+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 72 14 72 15+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 13 72 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 72 13 72 14+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 72 14 72 15+ ]+ }))+ [])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 1 75 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 1 75 8+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 75 18 75 20+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 9 75 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 9 75 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 9 75 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 16 75 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 16 75 17+ , srcInfoPoints = []+ }+ "x")+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 21 75 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 21 75 22+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 75 23 75 24+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 22 75 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 75 22 75 23+ , srcInfoPoints = []+ }+ "x")+ ])+ Unidirectional+ ]+ , []+ )
+ tests/examples/PatternSynonyms3.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSynonyms3.hs.prettyprinter.golden view
@@ -0,0 +1,74 @@+{-# LANGUAGE PatternSynonyms, BangPatterns, PolyKinds, DataKinds,+ GADTs, FlexibleContexts, ViewPatterns #-}+{-# LANGUAGE ExplicitForAll #-}++pattern Single x <- [x]++single :: [a] -> Maybe a+single (Single x) = Just x+single _ = Nothing++pattern Single :: a -> [a]++pattern Single x = [x]++pattern Single :: () => (Show a) => a -> [a]++pattern Single x = [x]++f :: (Show a) => [a] -> a+f (Single x) = x++pattern SinglePair :: (a, a) -> [(a, a)]++pattern SinglePair x = [x]++f :: (Show a) => [(a, a)] -> String+f (SinglePair x) = show x++pattern Q = D++pattern C :: a -> X Maybe (Maybe a)++pattern C x = Y (Just x)++pattern Syn :: forall a b c . () => () => Int++pattern C :: (Show (a, Bool)) => a -> X Maybe (Maybe (a, Bool))++pattern C x = Y (Just (x, True))++pattern P :: T Bool b++pattern P <- MkT True++pattern D :: a -> T (Maybe a) Bool++pattern D x = MkT (Just x)++pattern P a b = Just (a, b)++pattern Single x = [x]++pattern a :+: b = (a, b)++pattern P x <- MkT 42 x++pattern P x y <- MkT x y++pattern P x <- MkT (f -> True) x++data T where+ MkT :: b -> (b -> Bool) -> T++pattern P x f <- MkT x f++pattern Single x <- [x]++pattern P <- Just True++pattern P = 42++pattern P = ()++pattern Single x <- [x]
+ tests/examples/PolyKindSigs.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE GADTs #-}+--{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PolyKinds #-}++module Test where++data Foo :: * -> * where+ Foo :: Foo a
+ tests/examples/PolyKindSigs.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PolyKindSigs.hs.parser.golden view
@@ -0,0 +1,163 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKindSigs.hs" 1 1 1 1+ , SrcSpan "tests/examples/PolyKindSigs.hs" 3 1 3 1+ , SrcSpan "tests/examples/PolyKindSigs.hs" 5 1 5 1+ , SrcSpan "tests/examples/PolyKindSigs.hs" 5 1 5 1+ , SrcSpan "tests/examples/PolyKindSigs.hs" 7 1 7 1+ , SrcSpan "tests/examples/PolyKindSigs.hs" 9 1 9 1+ , SrcSpan "tests/examples/PolyKindSigs.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 5 1 5 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKindSigs.hs" 5 1 5 7+ , SrcSpan "tests/examples/PolyKindSigs.hs" 5 13 5 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 5 8 5 12+ , srcInfoPoints = []+ }+ "Test")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKindSigs.hs" 1 1 1 13+ , SrcSpan "tests/examples/PolyKindSigs.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 1 14 1 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 3 1 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKindSigs.hs" 3 1 3 13+ , SrcSpan "tests/examples/PolyKindSigs.hs" 3 29 3 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 3 14 3 23+ , srcInfoPoints = []+ }+ "PolyKinds"+ ]+ ]+ []+ [ GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 1 9 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKindSigs.hs" 7 10 7 12+ , SrcSpan "tests/examples/PolyKindSigs.hs" 7 20 7 25+ , SrcSpan "tests/examples/PolyKindSigs.hs" 8 3 8 3+ , SrcSpan "tests/examples/PolyKindSigs.hs" 9 1 9 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 1 7 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 6 7 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 6 7 9+ , srcInfoPoints = []+ }+ "Foo"))+ (Just+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 13 7 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKindSigs.hs" 7 15 7 17 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 13 7 14+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 18 7 19+ , srcInfoPoints = []+ })))+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 8 3 8 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKindSigs.hs" 8 7 8 9 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 8 3 8 6+ , srcInfoPoints = []+ }+ "Foo")+ Nothing+ Nothing+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 8 10 8 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 8 10 8 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 8 10 8 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 8 10 8 13+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ "a")))+ ]+ []+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/PolyKindSigs.hs" 2 1 2 34)+ "{-# LANGUAGE KindSignatures #-}"+ ]+ )
+ tests/examples/PolyKindSigs.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PolyKindSigs.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE GADTs #-}+{-# LANGUAGE PolyKinds #-}+module Test where++data Foo :: * -> * where+ Foo :: Foo a
+ tests/examples/PolyKinds.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE PolyKinds #-}+data Proxy t = Proxy++class Typeable t where+ typeOf :: Proxy t -> TypeRep++instance Typeable Int where typeOf _ = TypeRep+instance Typeable [] where typeOf _ = TypeRep
+ tests/examples/PolyKinds.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PolyKinds.hs.parser.golden view
@@ -0,0 +1,437 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 1 1 1 1+ , SrcSpan "tests/examples/PolyKinds.hs" 2 1 2 1+ , SrcSpan "tests/examples/PolyKinds.hs" 2 1 2 1+ , SrcSpan "tests/examples/PolyKinds.hs" 2 1 2 1+ , SrcSpan "tests/examples/PolyKinds.hs" 4 1 4 1+ , SrcSpan "tests/examples/PolyKinds.hs" 7 1 7 1+ , SrcSpan "tests/examples/PolyKinds.hs" 8 1 8 1+ , SrcSpan "tests/examples/PolyKinds.hs" 9 1 9 1+ , SrcSpan "tests/examples/PolyKinds.hs" 9 1 9 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 1 1 1 13+ , SrcSpan "tests/examples/PolyKinds.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "PolyKinds"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 1 2 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 2 14 2 15 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 1 2 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 6 2 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 6 2 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 6 2 11+ , srcInfoPoints = []+ }+ "Proxy"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ "t")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 16 2 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 16 2 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 16 2 21+ , srcInfoPoints = []+ }+ "Proxy")+ [])+ ]+ []+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 1 5 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 4 1 4 6+ , SrcSpan "tests/examples/PolyKinds.hs" 4 18 4 23+ , SrcSpan "tests/examples/PolyKinds.hs" 5 3 5 3+ , SrcSpan "tests/examples/PolyKinds.hs" 7 1 7 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 7 4 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 7 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 7 4 15+ , srcInfoPoints = []+ }+ "Typeable"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ "t")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 3 5 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 5 10 5 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 3 5 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 5 10 5 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 3 5 9+ , srcInfoPoints = []+ }+ "typeOf"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 13 5 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 5 21 5 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 13 5 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 13 5 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 13 5 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 13 5 18+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ "t")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 24 5 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 24 5 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 24 5 31+ , srcInfoPoints = []+ }+ "TypeRep")))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 1 8 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 7 1 7 9+ , SrcSpan "tests/examples/PolyKinds.hs" 7 24 7 29+ , SrcSpan "tests/examples/PolyKinds.hs" 7 30 7 30+ , SrcSpan "tests/examples/PolyKinds.hs" 8 1 8 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 10 7 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 10 7 22+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 10 7 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 10 7 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 10 7 18+ , srcInfoPoints = []+ }+ "Typeable")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ "Int")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 30 7 48+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 30 7 48+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 30 7 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 30 7 36+ , srcInfoPoints = []+ }+ "typeOf")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 37 7 38+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 39 7 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 7 39 7 40 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 41 7 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 41 7 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PolyKinds.hs" 7 41 7 48+ , srcInfoPoints = []+ }+ "TypeRep"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 1 9 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 8 1 8 9+ , SrcSpan "tests/examples/PolyKinds.hs" 8 24 8 29+ , SrcSpan "tests/examples/PolyKinds.hs" 8 30 8 30+ , SrcSpan "tests/examples/PolyKinds.hs" 9 1 9 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 10 8 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 10 8 21+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 10 8 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 10 8 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 10 8 18+ , srcInfoPoints = []+ }+ "Typeable")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 20+ , SrcSpan "tests/examples/PolyKinds.hs" 8 20 8 21+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 20+ , SrcSpan "tests/examples/PolyKinds.hs" 8 20 8 21+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 20+ , SrcSpan "tests/examples/PolyKinds.hs" 8 20 8 21+ ]+ })))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 30 8 48+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 30 8 48+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 30 8 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 30 8 36+ , srcInfoPoints = []+ }+ "typeOf")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 37 8 38+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 39 8 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PolyKinds.hs" 8 39 8 40 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 41 8 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 41 8 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PolyKinds.hs" 8 41 8 48+ , srcInfoPoints = []+ }+ "TypeRep"))))+ Nothing+ ])+ ])+ ]+ , []+ )
+ tests/examples/PolyKinds.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PolyKinds.hs.prettyprinter.golden view
@@ -0,0 +1,12 @@+{-# LANGUAGE PolyKinds #-}++data Proxy t = Proxy++class Typeable t where+ typeOf :: Proxy t -> TypeRep++instance Typeable Int where+ typeOf _ = TypeRep++instance Typeable [] where+ typeOf _ = TypeRep
+ tests/examples/Ppr048.hs view
@@ -0,0 +1,10 @@+module Ppr048 where++{-# SCc foo #-}+foo :: Int -> Int+foo x = x++{-# SCc foo2 "label" #-}+foo2 :: ()+foo2 = ()+
+ tests/examples/Ppr048.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
+ tests/examples/Ppr048.hs.parser.golden view
@@ -0,0 +1,2 @@+ParseFailed+ (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
+ tests/examples/Ppr048.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
+ tests/examples/Ppr048.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
tests/examples/PrimitiveIntHexLiteral.hs.parser.golden view
@@ -1,1 +1,112 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 1, srcSpanStartColumn = 24, srcSpanEndLine = 1, srcSpanEndColumn = 27}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = []}) "MagicHash"]] [] [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 34}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7}, srcInfoPoints = []}) "minInt")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 10, srcSpanEndLine = 2, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 10, srcSpanEndLine = 2, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 10, srcSpanEndLine = 2, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 10, srcSpanEndLine = 2, srcSpanEndColumn = 12}, srcInfoPoints = []}) "I#"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 13, srcSpanEndLine = 2, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 13, srcSpanEndLine = 2, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 33, srcSpanEndLine = 2, srcSpanEndColumn = 34}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 14, srcSpanEndLine = 2, srcSpanEndColumn = 33}, srcInfoPoints = []}) (PrimInt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/PrimitiveIntHexLiteral.hs", srcSpanStartLine = 2, srcSpanStartColumn = 14, srcSpanEndLine = 2, srcSpanEndColumn = 33}, srcInfoPoints = []}) 9223372036854775808 "0x8000000000000000"))))) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 1 1 1 1+ , SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 1 2 1+ , SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 1 2 1+ , SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 1 2 1+ , SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 3 1 3 1+ , SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 3 1 3 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 1 1 1 13+ , SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "MagicHash"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 1 2 34+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 1 2 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 1 2 7+ , srcInfoPoints = []+ }+ "minInt"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 8 2 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 8 2 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 10 2 34+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 10 2 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 10 2 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 10 2 12+ , srcInfoPoints = []+ }+ "I#")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 13 2 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 13 2 14+ , SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 33 2 34+ ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 14 2 33+ , srcInfoPoints = []+ }+ (PrimInt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PrimitiveIntHexLiteral.hs" 2 14 2 33+ , srcInfoPoints = []+ }+ 9223372036854775808+ "0x8000000000000000")))))+ Nothing+ ]+ , []+ )
tests/examples/PrimitiveIntHexLiteral.hs.prettyparser.golden view
@@ -1,1 +1,10 @@-Match+Roundtrip test failed++AST 1:++Module () Nothing [LanguagePragma () [Ident () "MagicHash"]] [] [PatBind () (PVar () (Ident () "minInt")) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "I#"))) (Paren () (Lit () (PrimInt () 9223372036854775808 "0x8000000000000000"))))) Nothing]++AST 2:++Module () Nothing [LanguagePragma () [Ident () "MagicHash"]] [] [PatBind () (PVar () (Ident () "minInt")) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "I#"))) (Paren () (Lit () (PrimInt () 9223372036854775808 "9223372036854775808"))))) Nothing]+
tests/examples/PrimitiveIntHexLiteral.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE MagicHash #-}-module Main (main) where minInt = I# (9223372036854775808#)
+ tests/examples/PromotedSpace.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE DataKinds #-}+module PromotedSpace where++-- Promoted list containing promoted constructor with quote+type PL1 = '[ 'True ]++-- Promoted list containing promoted list+type PL2 = '[ '[Int] ]++-- Promoted list containing promoted tuple+type PL3 = '[ '(Int, Bool) ]++-- Promoted tuple containing promoted constructor with quote+type PT1 = '( 'True, False )++-- Promoted tuple containing promoted list+type PT2 = '( '[Int], Bool )++-- Promoted tuple containing promoted tuple+type PT3 = '( '(Int, Bool), Char )
+ tests/examples/PromotedSpace.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PromotedSpace.hs.parser.golden view
@@ -0,0 +1,617 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 1 21 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 21 1 21 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 21 1 21 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 7+ , SrcSpan "tests/examples/PromotedSpace.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "PromotedSpace")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ ]+ []+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 10 5 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ "PL1"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 21 5 22+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 21 5 22+ ]+ }+ True+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 16 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 16 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 16 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 16 5 20+ , srcInfoPoints = []+ }+ "True")))+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 10 8 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ "PL2"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 22 8 23+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 22 8 23+ ]+ }+ True+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 20 8 21+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 20 8 21+ ]+ }+ True+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+ , srcInfoPoints = []+ }+ "Int"))+ ])+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 10 11 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 11 6 11 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 11 6 11 9+ , srcInfoPoints = []+ }+ "PL3"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 28 11 29+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 28 11 29+ ]+ }+ True+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 20 11 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 26 11 27+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 20 11 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 26 11 27+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+ , srcInfoPoints = []+ }+ "Bool"))+ ])+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 10 14 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 14 6 14 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 14 6 14 9+ , srcInfoPoints = []+ }+ "PT1"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 20 14 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 28 14 29+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 20 14 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 28 14 29+ ]+ }+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 16 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 16 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 16 14 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 16 14 20+ , srcInfoPoints = []+ }+ "True")))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+ , srcInfoPoints = []+ }+ "False"))+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 10 17 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 17 6 17 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 17 6 17 9+ , srcInfoPoints = []+ }+ "PT2"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 21 17 22+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 28 17 29+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 21 17 22+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 28 17 29+ ]+ }+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 20 17 21+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 20 17 21+ ]+ }+ True+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+ , srcInfoPoints = []+ }+ "Int"))+ ])+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ "Bool"))+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 10 20 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 20 6 20 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 20 6 20 9+ , srcInfoPoints = []+ }+ "PT3"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 27 20 28+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 34 20 35+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 27 20 28+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 34 20 35+ ]+ }+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 20 20 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 26 20 27+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 20 20 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 26 20 27+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+ , srcInfoPoints = []+ }+ "Bool"))+ ])+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+ , srcInfoPoints = []+ }+ "Char"))+ ]))+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 4 1 4 60)+ " Promoted list containing promoted constructor with quote"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 7 1 7 42)+ " Promoted list containing promoted list"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 10 1 10 43)+ " Promoted list containing promoted tuple"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 13 1 13 61)+ " Promoted tuple containing promoted constructor with quote"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 16 1 16 43)+ " Promoted tuple containing promoted list"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 19 1 19 44)+ " Promoted tuple containing promoted tuple"+ ]+ )
+ tests/examples/PromotedSpace.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PromotedSpace.hs.prettyprinter.golden view
@@ -0,0 +1,14 @@+{-# LANGUAGE DataKinds #-}+module PromotedSpace where++type PL1 = '[ 'True]++type PL2 = '[ '[Int]]++type PL3 = '[ '(Int, Bool)]++type PT1 = '( 'True, False)++type PT2 = '( '[Int], Bool)++type PT3 = '( '(Int, Bool), Char)
tests/examples/QQType.hs view
@@ -4,4 +4,4 @@ import Language.Haskell.TH x :: DecsQ-x = [d| instance Show $(conT (mkName \"Int\")) |]+x = [d| instance Show $(conT (mkName "Int")) |]
tests/examples/QQType.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/QQType.hs", srcLine = 7, srcColumn = 23}) "Parse error: $("+Match
tests/examples/QQType.hs.parser.golden view
@@ -1,1 +1,278 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/QQType.hs", srcLine = 7, srcColumn = 23}) "Parse error: $("+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QQType.hs" 1 1 1 1+ , SrcSpan "tests/examples/QQType.hs" 2 1 2 1+ , SrcSpan "tests/examples/QQType.hs" 2 1 2 1+ , SrcSpan "tests/examples/QQType.hs" 4 1 4 1+ , SrcSpan "tests/examples/QQType.hs" 6 1 6 1+ , SrcSpan "tests/examples/QQType.hs" 7 1 7 1+ , SrcSpan "tests/examples/QQType.hs" 8 1 8 1+ , SrcSpan "tests/examples/QQType.hs" 8 1 8 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 2 1 2 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QQType.hs" 2 1 2 7+ , SrcSpan "tests/examples/QQType.hs" 2 15 2 20+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 2 8 2 14+ , srcInfoPoints = []+ }+ "QQType")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 1 1 1 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QQType.hs" 1 1 1 13+ , SrcSpan "tests/examples/QQType.hs" 1 31 1 32+ , SrcSpan "tests/examples/QQType.hs" 1 48 1 49+ , SrcSpan "tests/examples/QQType.hs" 1 62 1 65+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 1 14 1 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 1 33 1 48+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 1 50 1 61+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 4 1 4 27+ , srcInfoPoints = [ SrcSpan "tests/examples/QQType.hs" 4 1 4 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 4 8 4 27+ , srcInfoPoints = []+ }+ "Language.Haskell.TH"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 6 1 6 11+ , srcInfoPoints = [ SrcSpan "tests/examples/QQType.hs" 6 3 6 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 6 1 6 2+ , srcInfoPoints = []+ }+ "x"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 6 6 6 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 6 6 6 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 6 6 6 11+ , srcInfoPoints = []+ }+ "DecsQ")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 1 7 48+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 1 7 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 1 7 2+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 3 7 48+ , srcInfoPoints = [ SrcSpan "tests/examples/QQType.hs" 7 3 7 4 ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 5 7 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QQType.hs" 7 5 7 8+ , SrcSpan "tests/examples/QQType.hs" 7 46 7 48+ ]+ }+ (DeclBracket+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 5 7 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QQType.hs" 7 9 7 9+ , SrcSpan "tests/examples/QQType.hs" 7 46 7 46+ , SrcSpan "tests/examples/QQType.hs" 7 46 7 48+ ]+ }+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 9 7 45+ , srcInfoPoints = [ SrcSpan "tests/examples/QQType.hs" 7 9 7 17 ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 18 7 45+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 18 7 45+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 18 7 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 18 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 18 7 22+ , srcInfoPoints = []+ }+ "Show")))+ (TySplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 23 7 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QQType.hs" 7 23 7 25+ , SrcSpan "tests/examples/QQType.hs" 7 44 7 45+ ]+ }+ (ParenSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 23 7 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QQType.hs" 7 23 7 25+ , SrcSpan "tests/examples/QQType.hs" 7 44 7 45+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QQType.hs" 7 25 7 44+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QQType.hs" 7 25 7 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QQType.hs" 7 25 7 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QQType.hs" 7 25 7 29+ , srcInfoPoints = []+ }+ "conT")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QQType.hs" 7 30 7 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QQType.hs" 7 30 7 31+ , SrcSpan "tests/examples/QQType.hs" 7 43 7 44+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QQType.hs" 7 31 7 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QQType.hs" 7 31 7 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QQType.hs" 7 31 7 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QQType.hs" 7 31 7 37+ , srcInfoPoints = []+ }+ "mkName")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QQType.hs" 7 38 7 43+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QQType.hs" 7 38 7 43+ , srcInfoPoints = []+ }+ "Int"+ "Int")))))))))+ Nothing+ ])))+ Nothing+ ]+ , []+ )
tests/examples/QQType.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/QQType.hs", srcLine = 7, srcColumn = 23}) "Parse error: $("+Match
tests/examples/QQType.hs.prettyprinter.golden view
@@ -1,1 +1,9 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/QQType.hs", srcLine = 7, srcColumn = 23}) "Parse error: $("+{-# LANGUAGE FlexibleInstances, TemplateHaskell, QuasiQuotes #-}+module QQType where+import Language.Haskell.TH++x :: DecsQ+x = [d|+ + instance Show $( conT (mkName "Int") )+ |]
tests/examples/QualifiedDot.hs.parser.golden view
@@ -1,1 +1,87 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 1, srcSpanStartColumn = 21, srcSpanEndLine = 1, srcSpanEndColumn = 26}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 20}, srcInfoPoints = []}) "QualifiedDot") Nothing Nothing)) [] [] [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 8}, srcInfoPoints = []}) "twoDots")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 10}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 21, srcSpanEndLine = 3, srcSpanEndColumn = 22}]}) (Qual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 21, srcSpanEndLine = 3, srcSpanEndColumn = 22}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 21, srcSpanEndLine = 3, srcSpanEndColumn = 22}]}) "Prelude") (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/QualifiedDot.hs", srcSpanStartLine = 3, srcSpanStartColumn = 21, srcSpanEndLine = 3, srcSpanEndColumn = 22}]}) ".")))) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedDot.hs" 1 1 1 1+ , SrcSpan "tests/examples/QualifiedDot.hs" 1 1 1 1+ , SrcSpan "tests/examples/QualifiedDot.hs" 3 1 3 1+ , SrcSpan "tests/examples/QualifiedDot.hs" 4 1 4 1+ , SrcSpan "tests/examples/QualifiedDot.hs" 4 1 4 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 1 1 1 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedDot.hs" 1 1 1 7+ , SrcSpan "tests/examples/QualifiedDot.hs" 1 21 1 26+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 1 8 1 20+ , srcInfoPoints = []+ }+ "QualifiedDot")+ Nothing+ Nothing))+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 3 1 3 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 3 1 3 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 3 1 3 8+ , srcInfoPoints = []+ }+ "twoDots"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 3 9 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedDot.hs" 3 9 3 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 3 11 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedDot.hs" 3 11 3 12+ , SrcSpan "tests/examples/QualifiedDot.hs" 3 12 3 21+ , SrcSpan "tests/examples/QualifiedDot.hs" 3 21 3 22+ ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 3 11 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedDot.hs" 3 11 3 12+ , SrcSpan "tests/examples/QualifiedDot.hs" 3 12 3 21+ , SrcSpan "tests/examples/QualifiedDot.hs" 3 21 3 22+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 3 12 3 21+ , srcInfoPoints = []+ }+ "Prelude")+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedDot.hs" 3 12 3 21+ , srcInfoPoints = []+ }+ "."))))+ Nothing+ ]+ , []+ )
+ tests/examples/QualifiedQQuote.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE QuasiQuotes #-}+import qualified Language.Haskell.TH as T++x :: T.DecsQ+x = [T.d|id|]+
+ tests/examples/QualifiedQQuote.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QualifiedQQuote.hs.parser.golden view
@@ -0,0 +1,145 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedQQuote.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedQQuote.hs" 1 1 1 1+ , SrcSpan "tests/examples/QualifiedQQuote.hs" 2 1 2 1+ , SrcSpan "tests/examples/QualifiedQQuote.hs" 2 1 2 1+ , SrcSpan "tests/examples/QualifiedQQuote.hs" 2 1 2 1+ , SrcSpan "tests/examples/QualifiedQQuote.hs" 4 1 4 1+ , SrcSpan "tests/examples/QualifiedQQuote.hs" 5 1 5 1+ , SrcSpan "tests/examples/QualifiedQQuote.hs" 7 1 7 1+ , SrcSpan "tests/examples/QualifiedQQuote.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedQQuote.hs" 1 1 1 13+ , SrcSpan "tests/examples/QualifiedQQuote.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 2 1 2 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedQQuote.hs" 2 1 2 7+ , SrcSpan "tests/examples/QualifiedQQuote.hs" 2 8 2 17+ , SrcSpan "tests/examples/QualifiedQQuote.hs" 2 38 2 40+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 2 18 2 37+ , srcInfoPoints = []+ }+ "Language.Haskell.TH"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 2 41 2 42+ , srcInfoPoints = []+ }+ "T")+ , importSpecs = Nothing+ }+ ]+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 4 1 4 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedQQuote.hs" 4 3 4 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedQQuote.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "x"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 4 6 4 13+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 4 6 4 13+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 4 6 4 13+ , srcInfoPoints = []+ }+ "T")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 4 6 4 13+ , srcInfoPoints = []+ }+ "DecsQ")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 5 1 5 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedQQuote.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QualifiedQQuote.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 5 3 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedQQuote.hs" 5 3 5 4 ]+ }+ (QuasiQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedQQuote.hs" 5 5 5 14+ , srcInfoPoints = []+ }+ "T.d"+ "id"))+ Nothing+ ]+ , []+ )
+ tests/examples/QualifiedQQuote.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QualifiedQQuote.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE QuasiQuotes #-}+import qualified Language.Haskell.TH as T++x :: T.DecsQ+x = [T.d|id|]
+ tests/examples/QualifiedRecordfieldPuns.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE NamedFieldPuns #-}+f (C {M.a}) = a+
+ tests/examples/QualifiedRecordfieldPuns.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QualifiedRecordfieldPuns.hs.parser.golden view
@@ -0,0 +1,143 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 1 1 1+ , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 1+ , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 1+ , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 1+ , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 4 1 4 1+ , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 1 1 13+ , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "NamedFieldPuns"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 3 2 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 3 2 4+ , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 11 2 12+ ]+ }+ (PRec+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 4 2 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 6 2 7+ , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 10 2 11+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 4 2 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 4 2 5+ , srcInfoPoints = []+ }+ "C"))+ [ PFieldPun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 7 2 10+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 7 2 10+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 7 2 10+ , srcInfoPoints = []+ }+ "M")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 7 2 10+ , srcInfoPoints = []+ }+ "a"))+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 13 2 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 13 2 14 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ "a"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/QualifiedRecordfieldPuns.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QualifiedRecordfieldPuns.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE NamedFieldPuns #-}+f (C{M.a}) = a
+ tests/examples/QuantifiedConstraints.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitForAll #-}+{-# LANGUAGE QuantifiedConstraints #-}++class (forall a. Eq (f a)) => C f
+ tests/examples/QuantifiedConstraints.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuantifiedConstraints.hs.parser.golden view
@@ -0,0 +1,222 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 5 1 5 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 13+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "ExplicitForAll"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 13+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 36 2 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 14 2 35+ , srcInfoPoints = []+ }+ "QuantifiedConstraints"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 6 ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 8+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 26 4 27+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 28 4 30+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 8+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 26 4 27+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 28 4 30+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 14+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 16 4 17+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 14+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 16 4 17+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 21 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 21 4 22+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 25 4 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 22 4 25+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 24 4 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 24 4 25+ , srcInfoPoints = []+ }+ "a"))))))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 34+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 32+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ "f")))+ []+ Nothing+ ]+ , []+ )
+ tests/examples/QuantifiedConstraints.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuantifiedConstraints.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitForAll #-}+{-# LANGUAGE QuantifiedConstraints #-}++class (forall a . Eq (f a)) => C f
tests/examples/QuasiQuoteLines.hs.parser.golden view
@@ -1,1 +1,285 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 1, srcSpanStartColumn = 26, srcSpanEndLine = 1, srcSpanEndColumn = 29}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 25}, srcInfoPoints = []}) "QuasiQuotes"]] [ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) "Here", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 7}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 4}, srcInfoPoints = []}) "str"] (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 5, srcSpanStartColumn = 8, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 5, srcSpanStartColumn = 8, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 5, srcSpanStartColumn = 8, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) "String"))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 13}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 4}, srcInfoPoints = []}) "str")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 8, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 6}]}) (QuasiQuote (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 13}, srcInfoPoints = []}) "here" "test \ntest \ntest test ")) Nothing,TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 6, srcSpanEndLine = 11, srcSpanEndColumn = 8}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main"] (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 12, srcSpanEndLine = 11, srcSpanEndColumn = 13}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 12, srcSpanEndLine = 11, srcSpanEndColumn = 13}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 11, srcSpanStartColumn = 12, srcSpanEndLine = 11, srcSpanEndColumn = 13}]}))))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 6, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 6, srcSpanEndLine = 12, srcSpanEndColumn = 7}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 8, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 8, srcSpanEndLine = 12, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) "putStrLn"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 20, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 20, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteLines.hs", srcSpanStartLine = 12, srcSpanStartColumn = 20, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) "str"))))])) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 1 1 13 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 1 1 1 1+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 5 1 5 1+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 6 1 6 1+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 1 11 1+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 1 12 1+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 13 1 13 1+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 13 1 13 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 1 1 1 13+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 3 1 3 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 3 1 3 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 3 8 3 12+ , srcInfoPoints = []+ }+ "Here"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 5 1 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 5 5 5 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteLines.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ "str"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 5 8 5 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 5 8 5 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 5 8 5 14+ , srcInfoPoints = []+ }+ "String")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 6 1 8 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteLines.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteLines.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ "str"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 6 5 8 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 6 5 6 6 ]+ }+ (QuasiQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 6 7 8 13+ , srcInfoPoints = []+ }+ "here"+ "test \ntest \ntest test "))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 1 11 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 6 11 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 1 11 5+ , srcInfoPoints = []+ }+ "main"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 9 11 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 9 11 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 9 11 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 9 11 11+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 11 11 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 11 11 12+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 12 11 13+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 11 11 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 11 11 12+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 12 11 13+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 11 11 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 11 11 12+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 11 12 11 13+ ]+ }))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 1 12 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 1 12 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 1 12 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 6 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 6 12 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 8 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 8 12 10+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 11 12 11+ , SrcSpan "tests/examples/QuasiQuoteLines.hs" 13 1 13 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 11 12 23+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 11 12 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 11 12 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 11 12 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 11 12 19+ , srcInfoPoints = []+ }+ "putStrLn")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 20 12 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 20 12 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteLines.hs" 12 20 12 23+ , srcInfoPoints = []+ }+ "str"))))+ ]))+ Nothing+ ]+ , []+ )
tests/examples/QuasiQuoteLines.hs.prettyprinter.golden view
@@ -1,11 +1,10 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where import Here- + str :: String str = [here|test test test test |]- + main :: IO () main = do putStrLn str
tests/examples/QuasiQuoteOld.hs.parser.golden view
@@ -1,1 +1,270 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 1, srcSpanStartColumn = 26, srcSpanEndLine = 1, srcSpanEndColumn = 29}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 25}, srcInfoPoints = []}) "QuasiQuotes"]] [ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = []}) "Here", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 7}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 4}, srcInfoPoints = []}) "str"] (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 5, srcSpanStartColumn = 8, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 5, srcSpanStartColumn = 8, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 5, srcSpanStartColumn = 8, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) "String"))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 13}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 4}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 4}, srcInfoPoints = []}) "str")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 8, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 6}]}) (QuasiQuote (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 8, srcSpanEndColumn = 13}, srcInfoPoints = []}) "here" "test \ntest \ntest test ")) Nothing,TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 6, srcSpanEndLine = 11, srcSpanEndColumn = 8}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main"] (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 12, srcSpanEndLine = 11, srcSpanEndColumn = 13}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 12, srcSpanEndLine = 11, srcSpanEndColumn = 13}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 11, srcSpanStartColumn = 12, srcSpanEndLine = 11, srcSpanEndColumn = 13}]}))))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 6, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 6, srcSpanEndLine = 12, srcSpanEndColumn = 7}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 8, srcSpanEndLine = 13, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 8, srcSpanEndLine = 12, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) "putStrLn"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 20, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 20, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteOld.hs", srcSpanStartLine = 12, srcSpanStartColumn = 20, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) "str"))))])) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 1 1 13 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 1 1 1 1+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 5 1 5 1+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 6 1 6 1+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 1 11 1+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 1 12 1+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 13 1 13 1+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 13 1 13 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 1 1 1 13+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 3 1 3 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 3 1 3 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 3 8 3 12+ , srcInfoPoints = []+ }+ "Here"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 5 1 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 5 5 5 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ "str"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 5 8 5 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 5 8 5 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 5 8 5 14+ , srcInfoPoints = []+ }+ "String")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 6 1 8 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ "str"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 6 5 8 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 6 5 6 6 ]+ }+ (QuasiQuote+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 6 7 8 13+ , srcInfoPoints = []+ }+ "here"+ "test \ntest \ntest test "))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 1 11 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 6 11 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 1 11 5+ , srcInfoPoints = []+ }+ "main"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 9 11 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 9 11 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 9 11 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 9 11 11+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 11 11 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 11 11 12+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 12 11 13+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 11 11 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 11 11 12+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 12 11 13+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 11 11 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 11 11 12+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 11 12 11 13+ ]+ }))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 1 12 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 1 12 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 1 12 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 6 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 6 12 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 8 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 8 12 10+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 11 12 11+ , SrcSpan "tests/examples/QuasiQuoteOld.hs" 13 1 13 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 11 12 23+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 11 12 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 11 12 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 11 12 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 11 12 19+ , srcInfoPoints = []+ }+ "putStrLn")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 20 12 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 20 12 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteOld.hs" 12 20 12 23+ , srcInfoPoints = []+ }+ "str"))))+ ]))+ Nothing+ ]+ , []+ )
tests/examples/QuasiQuoteOld.hs.prettyprinter.golden view
@@ -1,11 +1,10 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where import Here- + str :: String str = [here|test test test test |]- + main :: IO () main = do putStrLn str
+ tests/examples/QuasiQuoteQual2.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE QuasiQuotes #-}+f [True] = 1+f _ = 0+
+ tests/examples/QuasiQuoteQual2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuasiQuoteQual2.hs.parser.golden view
@@ -0,0 +1,140 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 1 1 1 1+ , SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 1 2 1+ , SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 1 2 1+ , SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 1 2 1+ , SrcSpan "tests/examples/QuasiQuoteQual2.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteQual2.hs" 5 1 5 1+ , SrcSpan "tests/examples/QuasiQuoteQual2.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 1 1 1 13+ , SrcSpan "tests/examples/QuasiQuoteQual2.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 1 3 8+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 1 2 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f")+ [ PList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 3 2 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 3 2 4+ , SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 8 2 9+ ]+ }+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 4 2 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 4 2 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 4 2 8+ , srcInfoPoints = []+ }+ "True"))+ []+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 10 2 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 10 2 11 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 3 1 3 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 3 3 3 4+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 3 5 3 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteQual2.hs" 3 5 3 6 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 3 7 3 8+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteQual2.hs" 3 7 3 8+ , srcInfoPoints = []+ }+ 0+ "0")))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/QuasiQuoteQual2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuasiQuoteQual2.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE QuasiQuotes #-}+f [True] = 1+f _ = 0
tests/examples/QuasiQuoteSplice.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/QuasiQuoteSplice.hs", srcLine = 8, srcColumn = 42}) "Parse error: $("+Match
tests/examples/QuasiQuoteSplice.hs.parser.golden view
@@ -1,1 +1,589 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/QuasiQuoteSplice.hs", srcLine = 8, srcColumn = 42}) "Parse error: $("+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 1 10 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 1 1 1+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 2 1 2 1+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 1 5 1+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 1 7 1+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 10 1 10 1+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 10 1 10 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 1 1 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 1 1 13+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 29 1 30+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 42 1 45+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 31 1 41+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , OptionsPragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 2 1 2 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 2 1 2 31+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 2 31 2 34+ ]+ }+ (Just GHC)+ "-F -pgmFtrhsx "+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 1 3 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 1 3 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 8 3 27+ , srcInfoPoints = []+ }+ "Language.Haskell.TH"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 1 5 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 23 5 24 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 1 5 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 6 5 22+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 6 5 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 6 5 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 6 5 18+ , srcInfoPoints = []+ }+ "PageFunction"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ "m")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 25 5 27+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 25 5 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 25 5 27+ , srcInfoPoints = []+ }+ "PF")+ [])+ ]+ []+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 1 8 75+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 6 8 75+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 6 7 7 ]+ }+ (Let+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 8 8 75+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 8 7 11+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 27 7 29+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 12 7 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 12 7 12+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 27 7 27+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 12 7 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 12 7 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 12 7 13+ , srcInfoPoints = []+ }+ "a"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 14 7 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 14 7 15 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 16 7 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 16 7 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 16 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 16 7 22+ , srcInfoPoints = []+ }+ "mkName")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 23 7 26+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 23 7 26+ , srcInfoPoints = []+ }+ "a"+ "a"))))+ Nothing+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 8 8 75+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 8 8 65+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 8 8 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 8 8 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 8 8 12+ , srcInfoPoints = []+ }+ "runQ")))+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 13 8 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 13 8 16+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 63 8 65+ ]+ }+ (TypeBracket+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 13 8 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 13 8 16+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 63 8 65+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 17 8 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 17 8 23+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 25 8 26+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 24 8 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs" 8 24 8 25+ , srcInfoPoints = []+ }+ "m")+ ])+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 27 8 62+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 27 8 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 27 8 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs" 8 27 8 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs" 8 27 8 39+ , srcInfoPoints = []+ }+ "PageFunction")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 40 8 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs" 8 40 8 41+ , srcInfoPoints = []+ }+ "m")))+ (TySplice+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 42 8 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 42 8 44+ , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 61 8 62+ ]+ }+ (ParenSplice+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 42 8 62+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs" 8 42 8 44+ , SrcSpan+ "tests/examples/QuasiQuoteSplice.hs" 8 61 8 62+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs" 8 44 8 61+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs" 8 44 8 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs"+ 8+ 44+ 8+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs"+ 8+ 44+ 8+ 48+ , srcInfoPoints = []+ }+ "conT")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs" 8 49 8 61+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs"+ 8+ 49+ 8+ 50+ , SrcSpan+ "tests/examples/QuasiQuoteSplice.hs"+ 8+ 60+ 8+ 61+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs"+ 8+ 50+ 8+ 60+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs"+ 8+ 50+ 8+ 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs"+ 8+ 50+ 8+ 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs"+ 8+ 50+ 8+ 56+ , srcInfoPoints = []+ }+ "mkName")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs"+ 8+ 57+ 8+ 60+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuasiQuoteSplice.hs"+ 8+ 57+ 8+ 60+ , srcInfoPoints = []+ }+ "a"+ "a"))))))))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 66 8 69+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 66 8 69+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 66 8 69+ , srcInfoPoints = []+ }+ ">>=")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 70 8 75+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 70 8 75+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 70 8 75+ , srcInfoPoints = []+ }+ "print"))))))+ Nothing+ ]+ , []+ )
tests/examples/QuasiQuoteSplice.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/QuasiQuoteSplice.hs", srcLine = 8, srcColumn = 42}) "Parse error: $("+Match
tests/examples/QuasiQuoteSplice.hs.prettyprinter.golden view
@@ -1,1 +1,9 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/QuasiQuoteSplice.hs", srcLine = 8, srcColumn = 42}) "Parse error: $("+{-# LANGUAGE TemplateHaskell, RankNTypes #-}+{-# OPTIONS_GHC -F -pgmFtrhsx #-}+import Language.Haskell.TH++data PageFunction m a = PF+main+ = let a = mkName "a" in+ runQ [t| forall m . PageFunction m $( conT (mkName "a") ) |] >>=+ print
tests/examples/QuasiQuoteToplevel.hs.parser.golden view
@@ -1,1 +1,51 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 1, srcSpanStartColumn = 26, srcSpanEndLine = 1, srcSpanEndColumn = 29}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 25}, srcInfoPoints = []}) "QuasiQuotes"]] [] [SpliceDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 3}, srcInfoPoints = []}) (QuasiQuote (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/QuasiQuoteToplevel.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 3}, srcInfoPoints = []}) "undefined" "\nthis quasiquote is acceptable to ghc's\nparser. Previously hse would reject this\nbecause -XTemplateHaskell is not enabled\nto allow \"expressions\" at top-level\n")],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 1 1 1 1+ , SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 3 1 3 1+ , SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 9 1 9 1+ , SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 9 1 9 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 1 1 1 13+ , SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ ]+ ]+ []+ [ SpliceDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 3 1 8 3+ , srcInfoPoints = []+ }+ (QuasiQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteToplevel.hs" 3 1 8 3+ , srcInfoPoints = []+ }+ "undefined"+ "\nthis quasiquote is acceptable to ghc's\nparser. Previously hse would reject this\nbecause -XTemplateHaskell is not enabled\nto allow \"expressions\" at top-level\n")+ ]+ , []+ )
tests/examples/QuasiQuoteToplevel.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where- + [undefined| this quasiquote is acceptable to ghc's parser. Previously hse would reject this
+ tests/examples/QuasiQuoteUnit.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE QuasiQuotes #-}+{-# LANGUAGE TemplateHaskell #-}++unNest n = conP '()+
+ tests/examples/QuasiQuoteUnit.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuasiQuoteUnit.hs.parser.golden view
@@ -0,0 +1,139 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 6 1 6 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 13+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 13+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 30 2 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 14 2 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 20+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 7+ , srcInfoPoints = []+ }+ "unNest")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ "n")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 10 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 10 4 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16+ , srcInfoPoints = []+ }+ "conP")))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 17 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 17 4 18 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 19+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 19 4 20+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 19+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 19 4 20+ ]+ })))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/QuasiQuoteUnit.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuasiQuoteUnit.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE QuasiQuotes #-}+{-# LANGUAGE TemplateHaskell #-}+unNest n = conP '()
+ tests/examples/RCategory.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE TypeFamilies, ConstraintKinds, MultiParamTypeClasses #-}+module Control.RCategory where+++import qualified Prelude++import GHC.Prim++infixr 9 .+infixr 1 >>>, <<<++-- | A class for categories.+-- id and (.) must form a monoid.+class RCategory cat where+ type RCategoryCtxt cat a b :: Constraint++ -- | the identity morphism+ id :: RCategoryCtxt cat a a+ => cat a a++ -- | morphism composition+ (.) :: (RCategoryCtxt cat b c, RCategoryCtxt cat a b, RCategoryCtxt cat a c)+ => cat b c -> cat a b -> cat a c++{-# RULES+"identity/left" forall p .+ id . p = p+"identity/right" forall p .+ p . id = p+ #-}++instance RCategory (->) where+ type RCategoryCtxt (->) a a = ()+ id = Prelude.id+ (.) = (Prelude..)++-- | Right-to-left composition+(<<<) :: (RCategoryCtxt cat a c, RCategoryCtxt cat a b, RCategoryCtxt cat b c, RCategory cat)+ => cat b c -> cat a b -> cat a c+(<<<) = (.)++-- | Left-to-right composition+(>>>) :: (RCategoryCtxt cat a c, RCategoryCtxt cat a b, RCategoryCtxt cat b c, RCategory cat)+ => cat a b -> cat b c -> cat a c+f >>> g = g . f
+ tests/examples/RCategory.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RCategory.hs.parser.golden view
@@ -0,0 +1,2479 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 1 46 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 1 1 1 1+ , SrcSpan "tests/examples/RCategory.hs" 2 1 2 1+ , SrcSpan "tests/examples/RCategory.hs" 2 1 2 1+ , SrcSpan "tests/examples/RCategory.hs" 5 1 5 1+ , SrcSpan "tests/examples/RCategory.hs" 7 1 7 1+ , SrcSpan "tests/examples/RCategory.hs" 9 1 9 1+ , SrcSpan "tests/examples/RCategory.hs" 10 1 10 1+ , SrcSpan "tests/examples/RCategory.hs" 14 1 14 1+ , SrcSpan "tests/examples/RCategory.hs" 25 1 25 1+ , SrcSpan "tests/examples/RCategory.hs" 32 1 32 1+ , SrcSpan "tests/examples/RCategory.hs" 38 1 38 1+ , SrcSpan "tests/examples/RCategory.hs" 40 1 40 1+ , SrcSpan "tests/examples/RCategory.hs" 43 1 43 1+ , SrcSpan "tests/examples/RCategory.hs" 45 1 45 1+ , SrcSpan "tests/examples/RCategory.hs" 46 1 46 1+ , SrcSpan "tests/examples/RCategory.hs" 46 1 46 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 2 1 2 7+ , SrcSpan "tests/examples/RCategory.hs" 2 26 2 31+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 2 8 2 25+ , srcInfoPoints = []+ }+ "Control.RCategory")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 1 1 70+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 1 1 1 13+ , SrcSpan "tests/examples/RCategory.hs" 1 26 1 27+ , SrcSpan "tests/examples/RCategory.hs" 1 43 1 44+ , SrcSpan "tests/examples/RCategory.hs" 1 67 1 70+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 28 1 43+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 45 1 66+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 5 1 5 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 5 1 5 7+ , SrcSpan "tests/examples/RCategory.hs" 5 8 5 17+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 5 18 5 25+ , srcInfoPoints = []+ }+ "Prelude"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 7 1 7 16+ , srcInfoPoints = [ SrcSpan "tests/examples/RCategory.hs" 7 1 7 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 7 8 7 16+ , srcInfoPoints = []+ }+ "GHC.Prim"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 1 9 11+ , srcInfoPoints = [ SrcSpan "tests/examples/RCategory.hs" 9 8 9 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 1 9 7+ , srcInfoPoints = []+ })+ (Just 9)+ [ VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 10 9 11+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 10 9 11+ , srcInfoPoints = []+ }+ ".")+ ]+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 1 10 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 10 8 10 9+ , SrcSpan "tests/examples/RCategory.hs" 10 13 10 14+ ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 1 10 7+ , srcInfoPoints = []+ })+ (Just 1)+ [ VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 10 10 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 10 10 13+ , srcInfoPoints = []+ }+ ">>>")+ , VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 15 10 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 15 10 18+ , srcInfoPoints = []+ }+ "<<<")+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 1 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 14 1 14 6+ , SrcSpan "tests/examples/RCategory.hs" 14 21 14 26+ , SrcSpan "tests/examples/RCategory.hs" 15 3 15 3+ , SrcSpan "tests/examples/RCategory.hs" 18 3 18 3+ , SrcSpan "tests/examples/RCategory.hs" 22 3 22 3+ , SrcSpan "tests/examples/RCategory.hs" 25 1 25 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 7 14 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 7 14 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 7 14 16+ , srcInfoPoints = []+ }+ "RCategory"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 17 14 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 17 14 20+ , srcInfoPoints = []+ }+ "cat")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 3 15 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 15 3 15 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 29+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 27+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 25+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21+ , srcInfoPoints = []+ }+ "RCategoryCtxt"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25+ , srcInfoPoints = []+ }+ "cat")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (KindSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 30 15 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 15 30 15 32 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+ , srcInfoPoints = []+ }+ "Constraint")))))+ Nothing+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 18 5+ , srcInfoPoints = []+ }+ "id"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 16+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 18 9 18 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 18 9 18 22+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 23 18 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 18 23 18 26+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 27 18 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 27 18 28+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 29 18 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 29 18 30+ , srcInfoPoints = []+ }+ "a"))))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 19 9 19 12+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 19 13 19 14+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4+ , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5+ , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6+ ]+ }+ "."+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11+ , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33+ , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56+ , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79+ , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 11 22 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 11 22 24+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 25 22 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 25 22 28+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 29 22 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 29 22 30+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 31 22 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 31 22 32+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 34 22 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 34 22 47+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 48 22 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 48 22 51+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 52 22 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 52 22 53+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 54 22 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 54 22 55+ , srcInfoPoints = []+ }+ "b")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 57 22 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 57 22 70+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 71 22 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 71 22 74+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 75 22 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 75 22 76+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 77 22 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 77 22 78+ , srcInfoPoints = []+ }+ "c")))+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 10 23 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 10 23 13+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 14 23 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 14 23 15+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 16 23 17+ , srcInfoPoints = []+ }+ "c")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 21 23 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 21 23 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 21 23 24+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 25 23 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 25 23 26+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 27 23 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 27 23 28+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 32 23 37+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 32 23 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 32 23 35+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 36 23 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 36 23 37+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 38 23 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 38 23 39+ , srcInfoPoints = []+ }+ "c")))))))+ ])+ , RulePragmaDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10+ , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5+ ]+ }+ [ Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16+ , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23+ , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27+ , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25+ ]+ }+ "identity/left"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25+ , srcInfoPoints = []+ }+ "p")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+ , srcInfoPoints = []+ }+ "id")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+ , srcInfoPoints = []+ }+ "p"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+ , srcInfoPoints = []+ }+ "p")))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17+ , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31+ , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35+ , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25+ ]+ }+ "identity/right"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33+ , srcInfoPoints = []+ }+ "p")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ "p")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+ , srcInfoPoints = []+ }+ "id"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+ , srcInfoPoints = []+ }+ "p")))+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9+ , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30+ , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3+ , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3+ , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3+ , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+ , srcInfoPoints = []+ }+ "RCategory")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+ , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+ , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+ , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+ , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+ , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+ , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+ ]+ })))))+ (Just+ [ InsType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7+ , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+ , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+ , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+ , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+ , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+ , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+ , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+ ]+ }))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+ , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+ , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+ , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+ ]+ })))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5+ , srcInfoPoints = []+ }+ "id"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ "Prelude")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ "id"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4+ , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5+ , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5+ , srcInfoPoints = []+ }+ "."))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10+ , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20+ ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10+ , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , srcInfoPoints = []+ }+ "Prelude")+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , srcInfoPoints = []+ }+ "."))))+ Nothing)+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2+ , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5+ , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6+ ]+ }+ "<<<"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11+ , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33+ , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56+ , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79+ , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94+ , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 11 38 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 11 38 24+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 25 38 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 25 38 28+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 29 38 30+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 34 38 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 34 38 47+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 48 38 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 48 38 51+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 52 38 53+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55+ , srcInfoPoints = []+ }+ "b")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 57 38 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 57 38 70+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 71 38 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 71 38 74+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 75 38 76+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 80 38 89+ , srcInfoPoints = []+ }+ "RCategory")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93+ , srcInfoPoints = []+ }+ "cat")))+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17+ , srcInfoPoints = []+ }+ "c")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39+ , srcInfoPoints = []+ }+ "c"))))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2+ , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5+ , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5+ , srcInfoPoints = []+ }+ "<<<"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10+ , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+ , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10+ , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+ , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+ , srcInfoPoints = []+ }+ "."))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2+ , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5+ , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6+ ]+ }+ ">>>"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11+ , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33+ , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56+ , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79+ , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94+ , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 11 43 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 11 43 24+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 25 43 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 25 43 28+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 29 43 30+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 34 43 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 34 43 47+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 48 43 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 48 43 51+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 52 43 53+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55+ , srcInfoPoints = []+ }+ "b")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 57 43 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 57 43 70+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 71 43 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 71 43 74+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 75 43 76+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 80 43 89+ , srcInfoPoints = []+ }+ "RCategory")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93+ , srcInfoPoints = []+ }+ "cat")))+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 44 18 44 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 17+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 15+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 13+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 14 44 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 14 44 15+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 16 44 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 16 44 17+ , srcInfoPoints = []+ }+ "b")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 44 29 44 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 24+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 25 44 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 25 44 26+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 27 44 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 27 44 28+ , srcInfoPoints = []+ }+ "c")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 39+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 37+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 35+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 36 44 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 36 44 37+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 38 44 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 38 44 39+ , srcInfoPoints = []+ }+ "c"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 16+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 2+ , srcInfoPoints = []+ }+ "f"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 3 45 6+ , srcInfoPoints = []+ }+ ">>>")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 7 45 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 7 45 8+ , srcInfoPoints = []+ }+ "g")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 9 45 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 45 9 45 10 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 12+ , srcInfoPoints = []+ }+ "g")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 13 45 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 13 45 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 13 45 14+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 15 45 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 15 45 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 15 45 16+ , srcInfoPoints = []+ }+ "f")))))+ Nothing+ ]+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/RCategory.hs" 12 1 12 29)+ " | A class for categories."+ , Comment+ False+ (SrcSpan "tests/examples/RCategory.hs" 13 1 13 36)+ " id and (.) must form a monoid."+ , Comment+ False+ (SrcSpan "tests/examples/RCategory.hs" 17 3 17 29)+ " | the identity morphism"+ , Comment+ False+ (SrcSpan "tests/examples/RCategory.hs" 21 3 21 28)+ " | morphism composition"+ , Comment+ False+ (SrcSpan "tests/examples/RCategory.hs" 37 1 37 31)+ " | Right-to-left composition"+ , Comment+ False+ (SrcSpan "tests/examples/RCategory.hs" 42 1 42 31)+ " | Left-to-right composition"+ ]+ )
+ tests/examples/RCategory.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RCategory.hs.prettyprinter.golden view
@@ -0,0 +1,41 @@+{-# LANGUAGE TypeFamilies, ConstraintKinds, MultiParamTypeClasses+ #-}+module Control.RCategory where+import qualified Prelude+import GHC.Prim++infixr 9 .++infixr 1 >>>, <<<++class RCategory cat where+ type RCategoryCtxt cat a b :: Constraint+ + id :: RCategoryCtxt cat a a => cat a a+ + (.) ::+ (RCategoryCtxt cat b c, RCategoryCtxt cat a b,+ RCategoryCtxt cat a c) =>+ cat b c -> cat a b -> cat a c++{-# RULES+"identity/left" forall p . id . p = p+"identity/right" forall p . p . id = p+ #-}++instance RCategory (->) where+ type RCategoryCtxt (->) a a = ()+ id = Prelude.id+ (.) = (Prelude..)++(<<<) ::+ (RCategoryCtxt cat a c, RCategoryCtxt cat a b,+ RCategoryCtxt cat b c, RCategory cat) =>+ cat b c -> cat a b -> cat a c+(<<<) = (.)++(>>>) ::+ (RCategoryCtxt cat a c, RCategoryCtxt cat a b,+ RCategoryCtxt cat b c, RCategory cat) =>+ cat a b -> cat b c -> cat a c+f >>> g = g . f
− tests/examples/RCategory.lhs
@@ -1,47 +0,0 @@-\begin{code}-{-# LANGUAGE TypeFamilies, ConstraintKinds #-}-module Control.RCategory where- --import qualified Prelude--import GHC.Prim--infixr 9 .-infixr 1 >>>, <<<---- | A class for categories.--- id and (.) must form a monoid.-class RCategory cat where- type RCategoryCtxt cat a b :: Constraint- - -- | the identity morphism- id :: RCategoryCtxt cat a a - => cat a a-- -- | morphism composition- (.) :: (RCategoryCtxt cat b c, RCategoryCtxt cat a b, RCategoryCtxt cat a c) - => cat b c -> cat a b -> cat a c--{-# RULES-"identity/left" forall p .- id . p = p-"identity/right" forall p .- p . id = p- #-}--instance RCategory (->) where- type RCategoryCtxt (->) a a = ()- id = Prelude.id- (.) = (Prelude..)---- | Right-to-left composition-(<<<) :: (RCategoryCtxt cat a c, RCategoryCtxt cat a b, RCategoryCtxt cat b c, RCategory cat)- => cat b c -> cat a b -> cat a c-(<<<) = (.)---- | Left-to-right composition-(>>>) :: (RCategoryCtxt cat a c, RCategoryCtxt cat a b, RCategoryCtxt cat b c, RCategory cat)- => cat a b -> cat b c -> cat a c-f >>> g = g . f-\end{code}
− tests/examples/RCategory.lhs.exactprinter.golden
@@ -1,1 +0,0 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/RCategory.lhs", srcLine = 19, srcColumn = 3}) "DataKinds is not enabled"
− tests/examples/RCategory.lhs.parser.golden
@@ -1,1 +0,0 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/RCategory.lhs", srcLine = 19, srcColumn = 3}) "DataKinds is not enabled"
− tests/examples/RCategory.lhs.prettyparser.golden
@@ -1,1 +0,0 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/RCategory.lhs", srcLine = 19, srcColumn = 3}) "DataKinds is not enabled"
− tests/examples/RCategory.lhs.prettyprinter.golden
@@ -1,1 +0,0 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/RCategory.lhs", srcLine = 19, srcColumn = 3}) "DataKinds is not enabled"
+ tests/examples/RCategory2.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeFamilies, ConstraintKinds #-}++import GHC.Prim++class RCategory cat where+ type RCategoryCtxt cat a b :: Constraint
+ tests/examples/RCategory2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RCategory2.hs.parser.golden view
@@ -0,0 +1,193 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory2.hs" 1 1 1 1+ , SrcSpan "tests/examples/RCategory2.hs" 3 1 3 1+ , SrcSpan "tests/examples/RCategory2.hs" 3 1 3 1+ , SrcSpan "tests/examples/RCategory2.hs" 3 1 3 1+ , SrcSpan "tests/examples/RCategory2.hs" 5 1 5 1+ , SrcSpan "tests/examples/RCategory2.hs" 7 1 7 1+ , SrcSpan "tests/examples/RCategory2.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 1 1 1 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory2.hs" 1 1 1 13+ , SrcSpan "tests/examples/RCategory2.hs" 1 26 1 27+ , SrcSpan "tests/examples/RCategory2.hs" 1 44 1 47+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 1 28 1 43+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 3 1 3 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory2.hs" 3 1 3 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 3 8 3 16+ , srcInfoPoints = []+ }+ "GHC.Prim"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 5 1 6 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory2.hs" 5 1 5 6+ , SrcSpan "tests/examples/RCategory2.hs" 5 21 5 26+ , SrcSpan "tests/examples/RCategory2.hs" 6 3 6 3+ , SrcSpan "tests/examples/RCategory2.hs" 7 1 7 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 5 7 5 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 5 7 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 5 7 5 16+ , srcInfoPoints = []+ }+ "RCategory"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ "cat")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 3 6 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory2.hs" 6 3 6 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 8 6 29+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 8 6 27+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 8 6 25+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 8 6 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 8 6 21+ , srcInfoPoints = []+ }+ "RCategoryCtxt"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 22 6 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 22 6 25+ , srcInfoPoints = []+ }+ "cat")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 28 6 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 28 6 29+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (KindSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 30 6 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory2.hs" 6 30 6 32 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43+ , srcInfoPoints = []+ }+ "Constraint")))))+ Nothing+ ])+ ]+ , []+ )
+ tests/examples/RCategory2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RCategory2.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE TypeFamilies, ConstraintKinds #-}+import GHC.Prim++class RCategory cat where+ type RCategoryCtxt cat a b :: Constraint
+ tests/examples/RCategory3.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE TypeFamilies, ConstraintKinds #-}++instance RCategory (->) where+ type RCategoryCtxt (->) a a = ()+
+ tests/examples/RCategory3.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RCategory3.hs.parser.golden view
@@ -0,0 +1,222 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 1 1 1 1+ , SrcSpan "tests/examples/RCategory3.hs" 3 1 3 1+ , SrcSpan "tests/examples/RCategory3.hs" 3 1 3 1+ , SrcSpan "tests/examples/RCategory3.hs" 3 1 3 1+ , SrcSpan "tests/examples/RCategory3.hs" 6 1 6 1+ , SrcSpan "tests/examples/RCategory3.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 1 1 1 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 1 1 1 13+ , SrcSpan "tests/examples/RCategory3.hs" 1 26 1 27+ , SrcSpan "tests/examples/RCategory3.hs" 1 44 1 47+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 1 28 1 43+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ ]+ []+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 3 1 6 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 3 1 3 9+ , SrcSpan "tests/examples/RCategory3.hs" 3 25 3 30+ , SrcSpan "tests/examples/RCategory3.hs" 4 3 4 3+ , SrcSpan "tests/examples/RCategory3.hs" 6 1 6 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 3 10 3 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 3 10 3 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 3 10 3 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 3 10 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 3 10 3 19+ , srcInfoPoints = []+ }+ "RCategory")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 3 20 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 3 20 3 21+ , SrcSpan "tests/examples/RCategory3.hs" 3 21 3 23+ , SrcSpan "tests/examples/RCategory3.hs" 3 23 3 24+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 3 20 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 3 20 3 21+ , SrcSpan "tests/examples/RCategory3.hs" 3 21 3 23+ , SrcSpan "tests/examples/RCategory3.hs" 3 23 3 24+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 3 20 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 3 20 3 21+ , SrcSpan "tests/examples/RCategory3.hs" 3 21 3 23+ , SrcSpan "tests/examples/RCategory3.hs" 3 23 3 24+ ]+ })))))+ (Just+ [ InsType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 3 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 4 3 4 7+ , SrcSpan "tests/examples/RCategory3.hs" 4 31 4 32+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 8 4 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 8 4 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 8 4 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 8 4 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 8 4 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 8 4 21+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 22 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 4 22 4 23+ , SrcSpan "tests/examples/RCategory3.hs" 4 23 4 25+ , SrcSpan "tests/examples/RCategory3.hs" 4 25 4 26+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 22 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 4 22 4 23+ , SrcSpan "tests/examples/RCategory3.hs" 4 23 4 25+ , SrcSpan "tests/examples/RCategory3.hs" 4 25 4 26+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory3.hs" 4 22 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 4 22 4 23+ , SrcSpan "tests/examples/RCategory3.hs" 4 23 4 25+ , SrcSpan "tests/examples/RCategory3.hs" 4 25 4 26+ ]+ }))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 27 4 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 27 4 28+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 29 4 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 29 4 30+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 33 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 4 33 4 34+ , SrcSpan "tests/examples/RCategory3.hs" 4 34 4 35+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 33 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 4 33 4 34+ , SrcSpan "tests/examples/RCategory3.hs" 4 34 4 35+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory3.hs" 4 33 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory3.hs" 4 33 4 34+ , SrcSpan "tests/examples/RCategory3.hs" 4 34 4 35+ ]+ })))+ ])+ ]+ , []+ )
+ tests/examples/RCategory3.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RCategory3.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeFamilies, ConstraintKinds #-}++instance RCategory (->) where+ type RCategoryCtxt (->) a a = ()
tests/examples/ReadP.hs.parser.golden view
@@ -1,1 +1,245 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 31}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = []}) "TypeOperators"]] [] [DataDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 17, srcSpanEndLine = 2, srcSpanEndColumn = 18}]}) (NewType (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 8}, srcInfoPoints = []})) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 9, srcSpanEndLine = 2, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 9, srcSpanEndLine = 2, srcSpanEndColumn = 14}, srcInfoPoints = []}) "ReadP") [UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 15, srcSpanEndLine = 2, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 15, srcSpanEndLine = 2, srcSpanEndColumn = 16}, srcInfoPoints = []}) "a")]) [QualConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 19, srcSpanEndLine = 2, srcSpanEndColumn = 51}, srcInfoPoints = []}) Nothing Nothing (ConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 19, srcSpanEndLine = 2, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 19, srcSpanEndLine = 2, srcSpanEndColumn = 20}, srcInfoPoints = []}) "R") [UnBangedTy (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 50, srcSpanEndLine = 2, srcSpanEndColumn = 51}]}) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 50, srcSpanEndLine = 2, srcSpanEndColumn = 51}]}) (TyInfix (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 22, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = []}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 22, srcSpanEndLine = 2, srcSpanEndColumn = 30}, srcInfoPoints = []}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 22, srcSpanEndLine = 2, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 22, srcSpanEndLine = 2, srcSpanEndColumn = 28}, srcInfoPoints = []}) "forall")) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 29, srcSpanEndLine = 2, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 29, srcSpanEndLine = 2, srcSpanEndColumn = 30}, srcInfoPoints = []}) "b"))) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 31, srcSpanEndLine = 2, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 31, srcSpanEndLine = 2, srcSpanEndColumn = 32}, srcInfoPoints = []}) ".")) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 33, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 44, srcSpanEndLine = 2, srcSpanEndColumn = 46}]}) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 33, srcSpanEndLine = 2, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 33, srcSpanEndLine = 2, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 42, srcSpanEndLine = 2, srcSpanEndColumn = 43}]}) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 34, srcSpanEndLine = 2, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 36, srcSpanEndLine = 2, srcSpanEndColumn = 38}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 34, srcSpanEndLine = 2, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 34, srcSpanEndLine = 2, srcSpanEndColumn = 35}, srcInfoPoints = []}) "a")) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 39, srcSpanEndLine = 2, srcSpanEndColumn = 42}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 39, srcSpanEndLine = 2, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 39, srcSpanEndLine = 2, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 39, srcSpanEndLine = 2, srcSpanEndColumn = 40}, srcInfoPoints = []}) "P"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 41, srcSpanEndLine = 2, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 41, srcSpanEndLine = 2, srcSpanEndColumn = 42}, srcInfoPoints = []}) "b"))))) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 47, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 47, srcSpanEndLine = 2, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 47, srcSpanEndLine = 2, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 47, srcSpanEndLine = 2, srcSpanEndColumn = 48}, srcInfoPoints = []}) "P"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 49, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ReadP.hs", srcSpanStartLine = 2, srcSpanStartColumn = 49, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = []}) "b"))))))])] Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ReadP.hs" 1 1 1 1+ , SrcSpan "tests/examples/ReadP.hs" 2 1 2 1+ , SrcSpan "tests/examples/ReadP.hs" 2 1 2 1+ , SrcSpan "tests/examples/ReadP.hs" 2 1 2 1+ , SrcSpan "tests/examples/ReadP.hs" 3 1 3 1+ , SrcSpan "tests/examples/ReadP.hs" 3 1 3 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ReadP.hs" 1 1 1 13+ , SrcSpan "tests/examples/ReadP.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 1 2 51+ , srcInfoPoints = [ SrcSpan "tests/examples/ReadP.hs" 2 17 2 18 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 1 2 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 9 2 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 9 2 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 9 2 14+ , srcInfoPoints = []+ }+ "ReadP"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 19 2 51+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 19 2 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 19 2 20+ , srcInfoPoints = []+ }+ "R")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 21 2 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ReadP.hs" 2 21 2 22+ , SrcSpan "tests/examples/ReadP.hs" 2 50 2 51+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 22 2 50+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 22 2 30+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 22 2 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 22 2 28+ , srcInfoPoints = []+ }+ "forall"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 29 2 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 29 2 30+ , srcInfoPoints = []+ }+ "b")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 31 2 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 31 2 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 31 2 32+ , srcInfoPoints = []+ }+ ".")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 33 2 50+ , srcInfoPoints = [ SrcSpan "tests/examples/ReadP.hs" 2 44 2 46 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 33 2 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ReadP.hs" 2 33 2 34+ , SrcSpan "tests/examples/ReadP.hs" 2 42 2 43+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 34 2 42+ , srcInfoPoints = [ SrcSpan "tests/examples/ReadP.hs" 2 36 2 38 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 34 2 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 34 2 35+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 39 2 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 39 2 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ReadP.hs" 2 39 2 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ReadP.hs" 2 39 2 40+ , srcInfoPoints = []+ }+ "P")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 41 2 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ReadP.hs" 2 41 2 42+ , srcInfoPoints = []+ }+ "b")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 47 2 50+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 47 2 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 47 2 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 47 2 48+ , srcInfoPoints = []+ }+ "P")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 49 2 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 49 2 50+ , srcInfoPoints = []+ }+ "b")))))+ ])+ ]+ []+ ]+ , []+ )
tests/examples/ReadP.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE TypeOperators #-}-module Main (main) where- + newtype ReadP a = R (forall b . (a -> P b) -> P b)
tests/examples/RealGHC.lhs.parser.golden view
file too large to diff
tests/examples/RealGHC.lhs.prettyparser.golden view
@@ -1,10 +1,1 @@-Roundtrip test failed--AST 1:--Module (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (ModuleName "Rules") [OptionsPragma (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) Nothing "-w ",LanguagePragma (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "PatternGuards"]] Nothing (Just [EAbs (UnQual (Ident "RuleBase")),EVar (UnQual (Ident "emptyRuleBase")),EVar (UnQual (Ident "mkRuleBase")),EVar (UnQual (Ident "extendRuleBaseList")),EVar (UnQual (Ident "unionRuleBase")),EVar (UnQual (Ident "pprRuleBase")),EVar (UnQual (Ident "ruleCheckProgram")),EVar (UnQual (Ident "mkSpecInfo")),EVar (UnQual (Ident "extendSpecInfo")),EVar (UnQual (Ident "addSpecInfo")),EVar (UnQual (Ident "addIdSpecialisations")),EVar (UnQual (Ident "rulesOfBinds")),EVar (UnQual (Ident "getRules")),EVar (UnQual (Ident "pprRulesForUser")),EVar (UnQual (Ident "lookupRule")),EVar (UnQual (Ident "mkLocalRule")),EVar (UnQual (Ident "roughTopNames"))]) [ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "CoreSyn", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "OccurAnal", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "occurAnalyseExpr")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "CoreFVs", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "exprFreeVars"),IVar (Ident "exprsFreeVars"),IVar (Ident "bindFreeVars"),IVar (Ident "rulesFreeVars")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "CoreUtils", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "tcEqExprX"),IVar (Ident "exprType")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "PprCore", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "pprRules")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Type", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs (Ident "Type"),IAbs (Ident "TvSubstEnv")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Coercion", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "coercionKind")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "TcType", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "tcSplitTyConApp_maybe")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "CoreTidy", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "tidyRules")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Id", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "IdInfo", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IThingWith (Ident "SpecInfo") [ConName (Ident "SpecInfo")]])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Var", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs (Ident "Var")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "VarEnv", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "VarSet", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Name", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs (Ident "Name"),IThingAll (Ident "NamedThing")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "NameEnv", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Unify", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "ruleMatchTyX"),IThingAll (Ident "MatchEnv")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "BasicTypes", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs (Ident "Activation")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "StaticFlags", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "opt_PprStyle_Debug")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Outputable", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "FastString", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Maybes", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "OrdList", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Bag", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Util", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.List", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "mkLocalRule"] (TyFun (TyCon (UnQual (Ident "RuleName"))) (TyFun (TyCon (UnQual (Ident "Activation"))) (TyFun (TyCon (UnQual (Ident "Name"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreBndr")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyCon (UnQual (Ident "CoreRule"))))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "mkLocalRule") [PVar (Ident "name"),PVar (Ident "act"),PVar (Ident "fn"),PVar (Ident "bndrs"),PVar (Ident "args"),PVar (Ident "rhs")] Nothing (UnGuardedRhs (RecConstr (UnQual (Ident "Rule")) [FieldUpdate (UnQual (Ident "ru_name")) (Var (UnQual (Ident "name"))),FieldUpdate (UnQual (Ident "ru_fn")) (Var (UnQual (Ident "fn"))),FieldUpdate (UnQual (Ident "ru_act")) (Var (UnQual (Ident "act"))),FieldUpdate (UnQual (Ident "ru_bndrs")) (Var (UnQual (Ident "bndrs"))),FieldUpdate (UnQual (Ident "ru_args")) (Var (UnQual (Ident "args"))),FieldUpdate (UnQual (Ident "ru_rhs")) (Var (UnQual (Ident "rhs"))),FieldUpdate (UnQual (Ident "ru_rough")) (App (Var (UnQual (Ident "roughTopNames"))) (Var (UnQual (Ident "args")))),FieldUpdate (UnQual (Ident "ru_local")) (Con (UnQual (Ident "True")))])) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "roughTopNames"] (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyList (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Name")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "roughTopNames") [PVar (Ident "args")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "roughTopName")))) (Var (UnQual (Ident "args"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "roughTopName"] (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Name"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "roughTopName") [PParen (PApp (UnQual (Ident "Type")) [PVar (Ident "ty")])] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "tcSplitTyConApp_maybe"))) (Var (UnQual (Ident "ty")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PTuple Boxed [PVar (Ident "tc"),PWildCard]]) (UnGuardedAlt (App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "getName"))) (Var (UnQual (Ident "tc"))))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (Con (UnQual (Ident "Nothing")))) (BDecls [])])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "roughTopName") [PParen (PApp (UnQual (Ident "App")) [PVar (Ident "f"),PVar (Ident "a")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "roughTopName"))) (Var (UnQual (Ident "f"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "roughTopName") [PParen (PApp (UnQual (Ident "Var")) [PVar (Ident "f")])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "isGlobalId"))) (Var (UnQual (Ident "f"))))] (App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "idName"))) (Var (UnQual (Ident "f")))))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Con (UnQual (Ident "Nothing")))]) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "roughTopName") [PVar (Ident "other")] Nothing (UnGuardedRhs (Con (UnQual (Ident "Nothing")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleCantMatch"] (TyFun (TyList (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Name"))))) (TyFun (TyList (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Name"))))) (TyCon (UnQual (Ident "Bool"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCantMatch") [PParen (PInfixApp (PApp (UnQual (Ident "Just")) [PVar (Ident "n1")]) (Special Cons) (PVar (Ident "ts"))),PParen (PInfixApp (PApp (UnQual (Ident "Just")) [PVar (Ident "n2")]) (Special Cons) (PVar (Ident "as")))] Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "n1"))) (QVarOp (UnQual (Symbol "/="))) (Var (UnQual (Ident "n2")))) (QVarOp (UnQual (Symbol "||"))) (App (App (Var (UnQual (Ident "ruleCantMatch"))) (Var (UnQual (Ident "ts")))) (Var (UnQual (Ident "as")))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCantMatch") [PParen (PInfixApp (PVar (Ident "t")) (Special Cons) (PVar (Ident "ts"))),PParen (PInfixApp (PVar (Ident "a")) (Special Cons) (PVar (Ident "as")))] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCantMatch"))) (Var (UnQual (Ident "ts")))) (Var (UnQual (Ident "as"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCantMatch") [PVar (Ident "ts"),PVar (Ident "as")] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "pprRulesForUser"] (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "SDoc")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "pprRulesForUser") [PVar (Ident "rules")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "withPprStyle"))) (Var (UnQual (Ident "defaultUserStyle")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "pprRules"))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (App (Var (UnQual (Ident "sortLe"))) (Var (UnQual (Ident "le_rule")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "tidyRules"))) (Var (UnQual (Ident "emptyTidyEnv")))) (Var (UnQual (Ident "rules")))))))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "le_rule") [PVar (Ident "r1"),PVar (Ident "r2")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "ru_name"))) (Var (UnQual (Ident "r1")))) (QVarOp (UnQual (Symbol "<="))) (App (Var (UnQual (Ident "ru_name"))) (Var (UnQual (Ident "r2")))))) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "mkSpecInfo"] (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "SpecInfo")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "mkSpecInfo") [PVar (Ident "rules")] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "SpecInfo"))) (Var (UnQual (Ident "rules")))) (Paren (App (Var (UnQual (Ident "rulesFreeVars"))) (Var (UnQual (Ident "rules"))))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "extendSpecInfo"] (TyFun (TyCon (UnQual (Ident "SpecInfo"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "SpecInfo"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "extendSpecInfo") [PParen (PApp (UnQual (Ident "SpecInfo")) [PVar (Ident "rs1"),PVar (Ident "fvs1")]),PVar (Ident "rs2")] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "SpecInfo"))) (Paren (InfixApp (Var (UnQual (Ident "rs2"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "rs1")))))) (Paren (InfixApp (App (Var (UnQual (Ident "rulesFreeVars"))) (Var (UnQual (Ident "rs2")))) (QVarOp (UnQual (Ident "unionVarSet"))) (Var (UnQual (Ident "fvs1"))))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "addSpecInfo"] (TyFun (TyCon (UnQual (Ident "SpecInfo"))) (TyFun (TyCon (UnQual (Ident "SpecInfo"))) (TyCon (UnQual (Ident "SpecInfo"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "addSpecInfo") [PParen (PApp (UnQual (Ident "SpecInfo")) [PVar (Ident "rs1"),PVar (Ident "fvs1")]),PParen (PApp (UnQual (Ident "SpecInfo")) [PVar (Ident "rs2"),PVar (Ident "fvs2")])] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "SpecInfo"))) (Paren (InfixApp (Var (UnQual (Ident "rs1"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "rs2")))))) (Paren (InfixApp (Var (UnQual (Ident "fvs1"))) (QVarOp (UnQual (Ident "unionVarSet"))) (Var (UnQual (Ident "fvs2"))))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "addIdSpecialisations"] (TyFun (TyCon (UnQual (Ident "Id"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "Id"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "addIdSpecialisations") [PVar (Ident "id"),PList []] Nothing (UnGuardedRhs (Var (UnQual (Ident "id")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "addIdSpecialisations") [PVar (Ident "id"),PVar (Ident "rules")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "setIdSpecialisation"))) (Var (UnQual (Ident "id")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "extendSpecInfo"))) (Paren (App (Var (UnQual (Ident "idSpecialisation"))) (Var (UnQual (Ident "id")))))) (Var (UnQual (Ident "rules")))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "rulesOfBinds"] (TyFun (TyList (TyCon (UnQual (Ident "CoreBind")))) (TyList (TyCon (UnQual (Ident "CoreRule"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rulesOfBinds") [PVar (Ident "binds")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "concatMap"))) (Paren (InfixApp (App (Var (UnQual (Ident "concatMap"))) (Var (UnQual (Ident "idCoreRules")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "bindersOf")))))) (Var (UnQual (Ident "binds"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "getRules"] (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyFun (TyCon (UnQual (Ident "Id"))) (TyList (TyCon (UnQual (Ident "CoreRule")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "getRules") [PVar (Ident "rule_base"),PVar (Ident "fn")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "isLocalId"))) (Var (UnQual (Ident "fn"))))] (App (Var (UnQual (Ident "idCoreRules"))) (Var (UnQual (Ident "fn")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (InfixApp (App (App (App (Con (UnQual (Ident "WARN"))) (Tuple Boxed [InfixApp (App (Var (UnQual (Ident "not"))) (Paren (App (Var (UnQual (Ident "isPrimOpId"))) (Var (UnQual (Ident "fn")))))) (QVarOp (UnQual (Symbol "&&"))) (App (Var (UnQual (Ident "notNull"))) (Paren (App (Var (UnQual (Ident "idCoreRules"))) (Var (UnQual (Ident "fn")))))),InfixApp (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "fn")))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "ppr"))) (Paren (App (Var (UnQual (Ident "idCoreRules"))) (Var (UnQual (Ident "fn"))))))])) (Var (UnQual (Ident "idCoreRules")))) (Var (UnQual (Ident "fn")))) (QVarOp (UnQual (Symbol "++"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "lookupNameEnv"))) (Var (UnQual (Ident "rule_base")))) (Paren (App (Var (UnQual (Ident "idName"))) (Var (UnQual (Ident "fn")))))) (QVarOp (UnQual (Ident "orElse"))) (List []))))]) (BDecls [])],TypeDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "RuleBase") [] (TyApp (TyCon (UnQual (Ident "NameEnv"))) (TyList (TyCon (UnQual (Ident "CoreRule"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "emptyRuleBase")) Nothing (UnGuardedRhs (Var (UnQual (Ident "emptyNameEnv")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "mkRuleBase"] (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "RuleBase")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "mkRuleBase") [PVar (Ident "rules")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "extendRuleBaseList"))) (Var (UnQual (Ident "emptyRuleBase")))) (Var (UnQual (Ident "rules"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "extendRuleBaseList"] (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "RuleBase"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "extendRuleBaseList") [PVar (Ident "rule_base"),PVar (Ident "new_guys")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "foldl"))) (Var (UnQual (Ident "extendRuleBase")))) (Var (UnQual (Ident "rule_base")))) (Var (UnQual (Ident "new_guys"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "unionRuleBase"] (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyCon (UnQual (Ident "RuleBase"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unionRuleBase") [PVar (Ident "rb1"),PVar (Ident "rb2")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "plusNameEnv_C"))) (Var (UnQual (Symbol "++")))) (Var (UnQual (Ident "rb1")))) (Var (UnQual (Ident "rb2"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "extendRuleBase"] (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyFun (TyCon (UnQual (Ident "CoreRule"))) (TyCon (UnQual (Ident "RuleBase"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "extendRuleBase") [PVar (Ident "rule_base"),PVar (Ident "rule")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "extendNameEnv_Acc"))) (Con (Special Cons))) (Var (UnQual (Ident "singleton")))) (Var (UnQual (Ident "rule_base")))) (Paren (App (Var (UnQual (Ident "ruleIdName"))) (Var (UnQual (Ident "rule")))))) (Var (UnQual (Ident "rule"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "pprRuleBase"] (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyCon (UnQual (Ident "SDoc")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "pprRuleBase") [PVar (Ident "rules")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "vcat"))) (ListComp (App (Var (UnQual (Ident "pprRules"))) (Paren (App (App (Var (UnQual (Ident "tidyRules"))) (Var (UnQual (Ident "emptyTidyEnv")))) (Var (UnQual (Ident "rs")))))) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rs")) (App (Var (UnQual (Ident "nameEnvElts"))) (Var (UnQual (Ident "rules")))))]))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "lookupRule"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool"))))) (TyFun (TyCon (UnQual (Ident "InScopeSet"))) (TyFun (TyCon (UnQual (Ident "Id"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))]))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "lookupRule") [PVar (Ident "is_active"),PVar (Ident "in_scope"),PVar (Ident "fn"),PVar (Ident "args"),PVar (Ident "rules")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "go"))) (List [])) (Var (UnQual (Ident "rules")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PList []) (UnGuardedAlt (Con (UnQual (Ident "Nothing")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PInfixApp (PVar (Ident "m")) (Special Cons) (PVar (Ident "ms")))) (UnGuardedAlt (App (Con (UnQual (Ident "Just"))) (Paren (App (App (App (Var (UnQual (Ident "findBest"))) (Tuple Boxed [Var (UnQual (Ident "fn")),Var (UnQual (Ident "args"))])) (Var (UnQual (Ident "m")))) (Var (UnQual (Ident "ms"))))))) (BDecls [])])) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rough_args")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "roughTopName")))) (Var (UnQual (Ident "args"))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "go"] (TyFun (TyList (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))])) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))])))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "go") [PVar (Ident "ms"),PList []] Nothing (UnGuardedRhs (Var (UnQual (Ident "ms")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "go") [PVar (Ident "ms"),PParen (PInfixApp (PVar (Ident "r")) (Special Cons) (PVar (Ident "rs")))] Nothing (UnGuardedRhs (Case (Paren (App (App (App (App (App (Var (UnQual (Ident "matchRule"))) (Var (UnQual (Ident "is_active")))) (Var (UnQual (Ident "in_scope")))) (Var (UnQual (Ident "args")))) (Var (UnQual (Ident "rough_args")))) (Var (UnQual (Ident "r"))))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedAlt (App (App (Var (UnQual (Ident "go"))) (Paren (InfixApp (Tuple Boxed [Var (UnQual (Ident "r")),Var (UnQual (Ident "e"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "ms")))))) (Var (UnQual (Ident "rs"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (App (App (Var (UnQual (Ident "go"))) (Var (UnQual (Ident "ms")))) (Var (UnQual (Ident "rs"))))) (BDecls [])])) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "findBest"] (TyFun (TyTuple Boxed [TyCon (UnQual (Ident "Id")),TyList (TyCon (UnQual (Ident "CoreExpr")))]) (TyFun (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))]) (TyFun (TyList (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))])) (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))])))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "findBest") [PVar (Ident "target"),PTuple Boxed [PVar (Ident "rule"),PVar (Ident "ans")],PList []] Nothing (UnGuardedRhs (Tuple Boxed [Var (UnQual (Ident "rule")),Var (UnQual (Ident "ans"))])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "findBest") [PVar (Ident "target"),PTuple Boxed [PVar (Ident "rule1"),PVar (Ident "ans1")],PParen (PInfixApp (PTuple Boxed [PVar (Ident "rule2"),PVar (Ident "ans2")]) (Special Cons) (PVar (Ident "prs")))] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "rule1"))) (QVarOp (UnQual (Ident "isMoreSpecific"))) (Var (UnQual (Ident "rule2"))))] (App (App (App (Var (UnQual (Ident "findBest"))) (Var (UnQual (Ident "target")))) (Tuple Boxed [Var (UnQual (Ident "rule1")),Var (UnQual (Ident "ans1"))])) (Var (UnQual (Ident "prs")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "rule2"))) (QVarOp (UnQual (Ident "isMoreSpecific"))) (Var (UnQual (Ident "rule1"))))] (App (App (App (Var (UnQual (Ident "findBest"))) (Var (UnQual (Ident "target")))) (Tuple Boxed [Var (UnQual (Ident "rule2")),Var (UnQual (Ident "ans2"))])) (Var (UnQual (Ident "prs")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "debugIsOn")))] (Let (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "pp_rule") [PVar (Ident "rule")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "opt_PprStyle_Debug")))] (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "rule")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "doubleQuotes"))) (Paren (App (Var (UnQual (Ident "ftext"))) (Paren (App (Var (UnQual (Ident "ru_name"))) (Var (UnQual (Ident "rule"))))))))]) (BDecls [])]]) (InfixApp (App (App (Var (UnQual (Ident "pprTrace"))) (Lit (String "Rules.findBest: rule overlap (Rule 1 wins)"))) (Paren (App (Var (UnQual (Ident "vcat"))) (List [If (Var (UnQual (Ident "opt_PprStyle_Debug"))) (InfixApp (InfixApp (App (Var (UnQual (Ident "ptext"))) (Paren (App (Var (UnQual (Ident "sLit"))) (Lit (String "Expression to match:"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "fn"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "sep"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "ppr")))) (Var (UnQual (Ident "args"))))))) (Var (UnQual (Ident "empty"))),InfixApp (App (Var (UnQual (Ident "ptext"))) (Paren (App (Var (UnQual (Ident "sLit"))) (Lit (String "Rule 1:"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "pp_rule"))) (Var (UnQual (Ident "rule1")))),InfixApp (App (Var (UnQual (Ident "ptext"))) (Paren (App (Var (UnQual (Ident "sLit"))) (Lit (String "Rule 2:"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "pp_rule"))) (Var (UnQual (Ident "rule2"))))])))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "findBest"))) (Var (UnQual (Ident "target")))) (Tuple Boxed [Var (UnQual (Ident "rule1")),Var (UnQual (Ident "ans1"))])) (Var (UnQual (Ident "prs")))))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (App (App (Var (UnQual (Ident "findBest"))) (Var (UnQual (Ident "target")))) (Tuple Boxed [Var (UnQual (Ident "rule1")),Var (UnQual (Ident "ans1"))])) (Var (UnQual (Ident "prs"))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "fn"),PVar (Ident "args")]) Nothing (UnGuardedRhs (Var (UnQual (Ident "target")))) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "isMoreSpecific"] (TyFun (TyCon (UnQual (Ident "CoreRule"))) (TyFun (TyCon (UnQual (Ident "CoreRule"))) (TyCon (UnQual (Ident "Bool"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "isMoreSpecific") [PParen (PRec (UnQual (Ident "BuiltinRule")) []),PVar (Ident "r2")] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "isMoreSpecific") [PVar (Ident "r1"),PParen (PRec (UnQual (Ident "BuiltinRule")) [])] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "isMoreSpecific") [PParen (PRec (UnQual (Ident "Rule")) [PFieldPat (UnQual (Ident "ru_bndrs")) (PVar (Ident "bndrs1")),PFieldPat (UnQual (Ident "ru_args")) (PVar (Ident "args1"))]),PParen (PRec (UnQual (Ident "Rule")) [PFieldPat (UnQual (Ident "ru_bndrs")) (PVar (Ident "bndrs2")),PFieldPat (UnQual (Ident "ru_args")) (PVar (Ident "args2"))])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "isJust"))) (Paren (App (App (App (App (Var (UnQual (Ident "matchN"))) (Var (UnQual (Ident "in_scope")))) (Var (UnQual (Ident "bndrs2")))) (Var (UnQual (Ident "args2")))) (Var (UnQual (Ident "args1"))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "in_scope")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "mkInScopeSet"))) (Paren (App (Var (UnQual (Ident "mkVarSet"))) (Var (UnQual (Ident "bndrs1"))))))) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "noBlackList"] (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "noBlackList") [PVar (Ident "act")] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "matchRule"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool"))))) (TyFun (TyCon (UnQual (Ident "InScopeSet"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyFun (TyList (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Name"))))) (TyFun (TyCon (UnQual (Ident "CoreRule"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CoreExpr"))))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "matchRule") [PVar (Ident "is_active"),PVar (Ident "in_scope"),PVar (Ident "args"),PVar (Ident "rough_args"),PParen (PRec (UnQual (Ident "BuiltinRule")) [PFieldPat (UnQual (Ident "ru_name")) (PVar (Ident "name")),PFieldPat (UnQual (Ident "ru_try")) (PVar (Ident "match_fn"))])] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "match_fn"))) (Var (UnQual (Ident "args")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "expr")]) (UnGuardedAlt (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "expr"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (Con (UnQual (Ident "Nothing")))) (BDecls [])])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "matchRule") [PVar (Ident "is_active"),PVar (Ident "in_scope"),PVar (Ident "args"),PVar (Ident "rough_args"),PParen (PRec (UnQual (Ident "Rule")) [PFieldPat (UnQual (Ident "ru_name")) (PVar (Ident "rn")),PFieldPat (UnQual (Ident "ru_act")) (PVar (Ident "act")),PFieldPat (UnQual (Ident "ru_rough")) (PVar (Ident "tpl_tops")),PFieldPat (UnQual (Ident "ru_bndrs")) (PVar (Ident "tpl_vars")),PFieldPat (UnQual (Ident "ru_args")) (PVar (Ident "tpl_args")),PFieldPat (UnQual (Ident "ru_rhs")) (PVar (Ident "rhs"))])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "not"))) (Paren (App (Var (UnQual (Ident "is_active"))) (Var (UnQual (Ident "act"))))))] (Con (UnQual (Ident "Nothing"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (App (Var (UnQual (Ident "ruleCantMatch"))) (Var (UnQual (Ident "tpl_tops")))) (Var (UnQual (Ident "rough_args"))))] (Con (UnQual (Ident "Nothing"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Case (App (App (App (App (Var (UnQual (Ident "matchN"))) (Var (UnQual (Ident "in_scope")))) (Var (UnQual (Ident "tpl_vars")))) (Var (UnQual (Ident "tpl_args")))) (Var (UnQual (Ident "args")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (Con (UnQual (Ident "Nothing")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PTuple Boxed [PVar (Ident "binds"),PVar (Ident "tpl_vals")]]) (UnGuardedAlt (App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (App (Var (UnQual (Ident "mkLets"))) (Var (UnQual (Ident "binds")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "rule_fn"))) (QVarOp (UnQual (Ident "mkApps"))) (Var (UnQual (Ident "tpl_vals")))))))) (BDecls [])])]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rule_fn")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "occurAnalyseExpr"))) (Paren (App (App (Var (UnQual (Ident "mkLams"))) (Var (UnQual (Ident "tpl_vars")))) (Var (UnQual (Ident "rhs"))))))) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "matchN"] (TyFun (TyCon (UnQual (Ident "InScopeSet"))) (TyFun (TyList (TyCon (UnQual (Ident "Var")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CoreBind"))),TyList (TyCon (UnQual (Ident "CoreExpr")))])))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "matchN") [PVar (Ident "in_scope"),PVar (Ident "tmpl_vars"),PVar (Ident "tmpl_es"),PVar (Ident "target_es")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "tv_subst"),PVar (Ident "id_subst"),PVar (Ident "binds")]) (App (App (App (App (Var (UnQual (Ident "go"))) (Var (UnQual (Ident "init_menv")))) (Var (UnQual (Ident "emptySubstEnv")))) (Var (UnQual (Ident "tmpl_es")))) (Var (UnQual (Ident "target_es")))),Qualifier (App (Var (UnQual (Ident "return"))) (Tuple Boxed [App (Var (UnQual (Ident "fromOL"))) (Var (UnQual (Ident "binds"))),App (App (Var (UnQual (Ident "map"))) (Paren (App (App (Var (UnQual (Ident "lookup_tmpl"))) (Var (UnQual (Ident "tv_subst")))) (Var (UnQual (Ident "id_subst")))))) (Var (UnQual (Ident "tmpl_vars'")))]))])) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "init_rn_env"),PVar (Ident "tmpl_vars'")]) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mapAccumL"))) (Var (UnQual (Ident "rnBndrL")))) (Paren (App (Var (UnQual (Ident "mkRnEnv2"))) (Var (UnQual (Ident "in_scope")))))) (Var (UnQual (Ident "tmpl_vars"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "init_menv")) Nothing (UnGuardedRhs (RecConstr (UnQual (Ident "ME")) [FieldUpdate (UnQual (Ident "me_tmpls")) (App (Var (UnQual (Ident "mkVarSet"))) (Var (UnQual (Ident "tmpl_vars'")))),FieldUpdate (UnQual (Ident "me_env")) (Var (UnQual (Ident "init_rn_env")))])) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "go") [PVar (Ident "menv"),PVar (Ident "subst"),PList [],PVar (Ident "es")] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "subst"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "go") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "ts"),PList []] Nothing (UnGuardedRhs (Con (UnQual (Ident "Nothing")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "go") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PInfixApp (PVar (Ident "t")) (Special Cons) (PVar (Ident "ts"))),PParen (PInfixApp (PVar (Ident "e")) (Special Cons) (PVar (Ident "es")))] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst1")) (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "t")))) (Var (UnQual (Ident "e")))),Qualifier (App (App (App (App (Var (UnQual (Ident "go"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst1")))) (Var (UnQual (Ident "ts")))) (Var (UnQual (Ident "es"))))])) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "lookup_tmpl"] (TyFun (TyCon (UnQual (Ident "TvSubstEnv"))) (TyFun (TyCon (UnQual (Ident "IdSubstEnv"))) (TyFun (TyCon (UnQual (Ident "Var"))) (TyCon (UnQual (Ident "CoreExpr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "lookup_tmpl") [PVar (Ident "tv_subst"),PVar (Ident "id_subst"),PVar (Ident "tmpl_var'")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "isTyVar"))) (Var (UnQual (Ident "tmpl_var'"))))] (Case (App (App (Var (UnQual (Ident "lookupVarEnv"))) (Var (UnQual (Ident "tv_subst")))) (Var (UnQual (Ident "tmpl_var'")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "ty")]) (UnGuardedAlt (App (Con (UnQual (Ident "Type"))) (Var (UnQual (Ident "ty"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (App (Var (UnQual (Ident "unbound"))) (Var (UnQual (Ident "tmpl_var'"))))) (BDecls [])]),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Case (App (App (Var (UnQual (Ident "lookupVarEnv"))) (Var (UnQual (Ident "id_subst")))) (Var (UnQual (Ident "tmpl_var'")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedAlt (Var (UnQual (Ident "e")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "other")) (UnGuardedAlt (App (Var (UnQual (Ident "unbound"))) (Var (UnQual (Ident "tmpl_var'"))))) (BDecls [])])]) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unbound") [PVar (Ident "var")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "pprPanic"))) (Lit (String "Template variable unbound in rewrite rule"))) (Paren (InfixApp (InfixApp (InfixApp (InfixApp (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "var")))) (QVarOp (UnQual (Symbol "$$"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "tmpl_vars"))))) (QVarOp (UnQual (Symbol "$$"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "tmpl_vars'"))))) (QVarOp (UnQual (Symbol "$$"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "tmpl_es"))))) (QVarOp (UnQual (Symbol "$$"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "target_es")))))))) (BDecls [])]])],TypeDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "SubstEnv") [] (TyTuple Boxed [TyCon (UnQual (Ident "TvSubstEnv")),TyCon (UnQual (Ident "IdSubstEnv")),TyApp (TyCon (UnQual (Ident "OrdList"))) (TyCon (UnQual (Ident "CoreBind")))]),TypeDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "IdSubstEnv") [] (TyApp (TyCon (UnQual (Ident "IdEnv"))) (TyCon (UnQual (Ident "CoreExpr")))),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "emptySubstEnv"] (TyCon (UnQual (Ident "SubstEnv"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "emptySubstEnv")) Nothing (UnGuardedRhs (Tuple Boxed [Var (UnQual (Ident "emptyVarEnv")),Var (UnQual (Ident "emptyVarEnv")),Var (UnQual (Ident "nilOL"))])) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "match"] (TyFun (TyCon (UnQual (Ident "MatchEnv"))) (TyFun (TyCon (UnQual (Ident "SubstEnv"))) (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "SubstEnv")))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Var")) [PVar (Ident "v1")]),PVar (Ident "e2")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "subst")]) (App (App (App (App (Var (UnQual (Ident "match_var"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "e2"))))] (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "subst"))))]) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "e1"),PParen (PApp (UnQual (Ident "Note")) [PVar (Ident "n"),PVar (Ident "e2")])] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "e1")))) (Var (UnQual (Ident "e2"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "e1"),PParen (PApp (UnQual (Ident "Var")) [PVar (Ident "v2")])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "isCheapUnfolding"))) (Var (UnQual (Ident "unfolding"))))] (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "e1")))) (Paren (App (Var (UnQual (Ident "unfoldingTemplate"))) (Var (UnQual (Ident "unfolding"))))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rn_env")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "unfolding")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "idUnfolding"))) (Paren (App (App (Var (UnQual (Ident "lookupRnInScope"))) (Var (UnQual (Ident "rn_env")))) (Paren (App (App (Var (UnQual (Ident "rnOccR"))) (Var (UnQual (Ident "rn_env")))) (Var (UnQual (Ident "v2"))))))))) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PAsPat (Ident "subst") (PTuple Boxed [PVar (Ident "tv_subst"),PVar (Ident "id_subst"),PVar (Ident "binds")]),PVar (Ident "e1"),PParen (PApp (UnQual (Ident "Let")) [PVar (Ident "bind"),PVar (Ident "e2")])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (App (Var (UnQual (Ident "all"))) (Var (UnQual (Ident "freshly_bound")))) (Var (UnQual (Ident "bndrs")))),Qualifier (App (Var (UnQual (Ident "not"))) (Paren (App (App (Var (UnQual (Ident "any"))) (Var (UnQual (Ident "locally_bound")))) (Var (UnQual (Ident "bind_fvs"))))))] (App (App (App (App (Var (UnQual (Ident "match"))) (Paren (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (Var (UnQual (Ident "rn_env'")))]))) (Tuple Boxed [Var (UnQual (Ident "tv_subst")),Var (UnQual (Ident "id_subst")),InfixApp (Var (UnQual (Ident "binds"))) (QVarOp (UnQual (Ident "snocOL"))) (Var (UnQual (Ident "bind'")))])) (Var (UnQual (Ident "e1")))) (Var (UnQual (Ident "e2'"))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rn_env")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "bndrs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "bindersOf"))) (Var (UnQual (Ident "bind"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "bind_fvs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "varSetElems"))) (Paren (App (Var (UnQual (Ident "bindFreeVars"))) (Var (UnQual (Ident "bind"))))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "locally_bound") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "inRnEnvR"))) (Var (UnQual (Ident "rn_env")))) (Var (UnQual (Ident "x"))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "freshly_bound") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "not"))) (Paren (InfixApp (Var (UnQual (Ident "x"))) (QVarOp (UnQual (Ident "rnInScope"))) (Var (UnQual (Ident "rn_env"))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "bind'")) Nothing (UnGuardedRhs (Var (UnQual (Ident "bind")))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "e2'")) Nothing (UnGuardedRhs (Var (UnQual (Ident "e2")))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rn_env'")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "extendRnInScopeList"))) (Var (UnQual (Ident "rn_env")))) (Var (UnQual (Ident "bndrs"))))) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Lit")) [PVar (Ident "lit1")]),PParen (PApp (UnQual (Ident "Lit")) [PVar (Ident "lit2")])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "lit1"))) (QVarOp (UnQual (Symbol "=="))) (Var (UnQual (Ident "lit2"))))] (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "subst"))))]) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "App")) [PVar (Ident "f1"),PVar (Ident "a1")]),PParen (PApp (UnQual (Ident "App")) [PVar (Ident "f2"),PVar (Ident "a2")])] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst'")) (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "f1")))) (Var (UnQual (Ident "f2")))),Qualifier (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst'")))) (Var (UnQual (Ident "a1")))) (Var (UnQual (Ident "a2"))))])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Lam")) [PVar (Ident "x1"),PVar (Ident "e1")]),PParen (PApp (UnQual (Ident "Lam")) [PVar (Ident "x2"),PVar (Ident "e2")])] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv'")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "e1")))) (Var (UnQual (Ident "e2"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv'")) Nothing (UnGuardedRhs (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (App (App (App (Var (UnQual (Ident "rnBndr2"))) (Paren (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv")))))) (Var (UnQual (Ident "x1")))) (Var (UnQual (Ident "x2"))))])) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Lam")) [PVar (Ident "x1"),PVar (Ident "e1")]),PVar (Ident "e2")] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv'")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "e1")))) (Paren (App (App (Con (UnQual (Ident "App"))) (Var (UnQual (Ident "e2")))) (Paren (App (Var (UnQual (Ident "varToCoreExpr"))) (Var (UnQual (Ident "new_x"))))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "rn_env'"),PVar (Ident "new_x")]) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "rnBndrL"))) (Paren (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv")))))) (Var (UnQual (Ident "x1"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv'")) Nothing (UnGuardedRhs (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (Var (UnQual (Ident "rn_env'")))])) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "e1"),PParen (PApp (UnQual (Ident "Lam")) [PVar (Ident "x2"),PVar (Ident "e2")])] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv'")))) (Var (UnQual (Ident "subst")))) (Paren (App (App (Con (UnQual (Ident "App"))) (Var (UnQual (Ident "e1")))) (Paren (App (Var (UnQual (Ident "varToCoreExpr"))) (Var (UnQual (Ident "new_x")))))))) (Var (UnQual (Ident "e2"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "rn_env'"),PVar (Ident "new_x")]) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "rnBndrR"))) (Paren (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv")))))) (Var (UnQual (Ident "x2"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv'")) Nothing (UnGuardedRhs (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (Var (UnQual (Ident "rn_env'")))])) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Case")) [PVar (Ident "e1"),PVar (Ident "x1"),PVar (Ident "ty1"),PVar (Ident "alts1")]),PParen (PApp (UnQual (Ident "Case")) [PVar (Ident "e2"),PVar (Ident "x2"),PVar (Ident "ty2"),PVar (Ident "alts2")])] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst1")) (App (App (App (App (Var (UnQual (Ident "match_ty"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "ty1")))) (Var (UnQual (Ident "ty2")))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst2")) (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst1")))) (Var (UnQual (Ident "e1")))) (Var (UnQual (Ident "e2")))),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv'")) Nothing (UnGuardedRhs (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (App (App (App (Var (UnQual (Ident "rnBndr2"))) (Paren (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv")))))) (Var (UnQual (Ident "x1")))) (Var (UnQual (Ident "x2"))))])) (BDecls [])]),Qualifier (App (App (App (App (Var (UnQual (Ident "match_alts"))) (Var (UnQual (Ident "menv'")))) (Var (UnQual (Ident "subst2")))) (Var (UnQual (Ident "alts1")))) (Var (UnQual (Ident "alts2"))))])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Type")) [PVar (Ident "ty1")]),PParen (PApp (UnQual (Ident "Type")) [PVar (Ident "ty2")])] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match_ty"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "ty1")))) (Var (UnQual (Ident "ty2"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Cast")) [PVar (Ident "e1"),PVar (Ident "co1")]),PParen (PApp (UnQual (Ident "Cast")) [PVar (Ident "e2"),PVar (Ident "co2")])] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst1")) (App (App (App (App (Var (UnQual (Ident "match_ty"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "co1")))) (Var (UnQual (Ident "co2")))),Qualifier (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst1")))) (Var (UnQual (Ident "e1")))) (Var (UnQual (Ident "e2"))))])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "e1"),PVar (Ident "e2")] Nothing (UnGuardedRhs (Con (UnQual (Ident "Nothing")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "match_var"] (TyFun (TyCon (UnQual (Ident "MatchEnv"))) (TyFun (TyCon (UnQual (Ident "SubstEnv"))) (TyFun (TyCon (UnQual (Ident "Var"))) (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "SubstEnv")))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_var") [PVar (Ident "menv"),PAsPat (Ident "subst") (PTuple Boxed [PVar (Ident "tv_subst"),PVar (Ident "id_subst"),PVar (Ident "binds")]),PVar (Ident "v1"),PVar (Ident "e2")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "v1'"))) (QVarOp (UnQual (Ident "elemVarSet"))) (App (Var (UnQual (Ident "me_tmpls"))) (Var (UnQual (Ident "menv")))))] (Case (App (App (Var (UnQual (Ident "lookupVarEnv"))) (Var (UnQual (Ident "id_subst")))) (Var (UnQual (Ident "v1'")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (GuardedAlts [GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (App (Var (UnQual (Ident "any"))) (Paren (App (Var (UnQual (Ident "inRnEnvR"))) (Var (UnQual (Ident "rn_env")))))) (Paren (App (Var (UnQual (Ident "varSetElems"))) (Paren (App (Var (UnQual (Ident "exprFreeVars"))) (Var (UnQual (Ident "e2"))))))))] (Con (UnQual (Ident "Nothing"))),GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "tv_subst'")) (App (App (App (App (Var (Qual (ModuleName "Unify") (Ident "ruleMatchTyX"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "tv_subst")))) (Paren (App (Var (UnQual (Ident "idType"))) (Var (UnQual (Ident "v1'")))))) (Paren (App (Var (UnQual (Ident "exprType"))) (Var (UnQual (Ident "e2")))))),Qualifier (App (Var (UnQual (Ident "return"))) (Tuple Boxed [Var (UnQual (Ident "tv_subst'")),App (App (App (Var (UnQual (Ident "extendVarEnv"))) (Var (UnQual (Ident "id_subst")))) (Var (UnQual (Ident "v1'")))) (Var (UnQual (Ident "e2"))),Var (UnQual (Ident "binds"))]))])]) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "e1'")]) (GuardedAlts [GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (App (App (Var (UnQual (Ident "tcEqExprX"))) (Paren (App (Var (UnQual (Ident "nukeRnEnvL"))) (Var (UnQual (Ident "rn_env")))))) (Var (UnQual (Ident "e1'")))) (Var (UnQual (Ident "e2"))))] (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "subst")))),GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Con (UnQual (Ident "Nothing")))]) (BDecls [])]),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Case (Var (UnQual (Ident "e2"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Var")) [PVar (Ident "v2")]) (GuardedAlts [GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "v1'"))) (QVarOp (UnQual (Symbol "=="))) (App (App (Var (UnQual (Ident "rnOccR"))) (Var (UnQual (Ident "rn_env")))) (Var (UnQual (Ident "v2")))))] (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "subst"))))]) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "other")) (UnGuardedAlt (Con (UnQual (Ident "Nothing")))) (BDecls [])])]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rn_env")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "v1'")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "rnOccL"))) (Var (UnQual (Ident "rn_env")))) (Var (UnQual (Ident "v1"))))) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "match_alts"] (TyFun (TyCon (UnQual (Ident "MatchEnv"))) (TyFun (TyCon (UnQual (Ident "SubstEnv"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreAlt")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreAlt")))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "SubstEnv")))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_alts") [PVar (Ident "menv"),PVar (Ident "subst"),PList [],PList []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "subst"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_alts") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PInfixApp (PTuple Boxed [PVar (Ident "c1"),PVar (Ident "vs1"),PVar (Ident "r1")]) (Special Cons) (PVar (Ident "alts1"))),PParen (PInfixApp (PTuple Boxed [PVar (Ident "c2"),PVar (Ident "vs2"),PVar (Ident "r2")]) (Special Cons) (PVar (Ident "alts2")))] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "c1"))) (QVarOp (UnQual (Symbol "=="))) (Var (UnQual (Ident "c2"))))] (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst1")) (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv'")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "r1")))) (Var (UnQual (Ident "r2")))),Qualifier (App (App (App (App (Var (UnQual (Ident "match_alts"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst1")))) (Var (UnQual (Ident "alts1")))) (Var (UnQual (Ident "alts2"))))])]) (BDecls [TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "menv'"] (TyCon (UnQual (Ident "MatchEnv"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv'")) Nothing (UnGuardedRhs (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (App (App (App (Var (UnQual (Ident "rnBndrs2"))) (Paren (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv")))))) (Var (UnQual (Ident "vs1")))) (Var (UnQual (Ident "vs2"))))])) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_alts") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "alts1"),PVar (Ident "alts2")] Nothing (UnGuardedRhs (Con (UnQual (Ident "Nothing")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "match_ty"] (TyFun (TyCon (UnQual (Ident "MatchEnv"))) (TyFun (TyCon (UnQual (Ident "SubstEnv"))) (TyFun (TyCon (UnQual (Ident "Type"))) (TyFun (TyCon (UnQual (Ident "Type"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "SubstEnv")))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_ty") [PVar (Ident "menv"),PTuple Boxed [PVar (Ident "tv_subst"),PVar (Ident "id_subst"),PVar (Ident "binds")],PVar (Ident "ty1"),PVar (Ident "ty2")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "tv_subst'")) (App (App (App (App (Var (Qual (ModuleName "Unify") (Ident "ruleMatchTyX"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "tv_subst")))) (Var (UnQual (Ident "ty1")))) (Var (UnQual (Ident "ty2")))),Qualifier (App (Var (UnQual (Ident "return"))) (Tuple Boxed [Var (UnQual (Ident "tv_subst'")),Var (UnQual (Ident "id_subst")),Var (UnQual (Ident "binds"))]))])) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleCheckProgram"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool"))))) (TyFun (TyCon (UnQual (Ident "String"))) (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreBind")))) (TyCon (UnQual (Ident "SDoc"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckProgram") [PVar (Ident "is_active"),PVar (Ident "rule_pat"),PVar (Ident "rule_base"),PVar (Ident "binds")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "isEmptyBag"))) (Var (UnQual (Ident "results"))))] (App (Var (UnQual (Ident "text"))) (Lit (String "Rule check results: no rule application sites"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "vcat"))) (List [App (Var (UnQual (Ident "text"))) (Lit (String "Rule check results:")),Var (UnQual (Ident "line")),App (Var (UnQual (Ident "vcat"))) (ListComp (InfixApp (Var (UnQual (Ident "p"))) (QVarOp (UnQual (Symbol "$$"))) (Var (UnQual (Ident "line")))) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "p")) (App (Var (UnQual (Ident "bagToList"))) (Var (UnQual (Ident "results")))))])]))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "results")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unionManyBags"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Paren (App (Var (UnQual (Ident "ruleCheckBind"))) (Paren (App (App (App (Con (UnQual (Ident "RuleCheckEnv"))) (Var (UnQual (Ident "is_active")))) (Var (UnQual (Ident "rule_pat")))) (Var (UnQual (Ident "rule_base")))))))) (Var (UnQual (Ident "binds"))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "line")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Paren (App (App (Var (UnQual (Ident "replicate"))) (Lit (Int 20))) (Lit (Char '-')))))) (BDecls [])])],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "RuleCheckEnv") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (RecDecl (Ident "RuleCheckEnv") [([Ident "rc_is_active"],UnBangedTy (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool"))))),([Ident "rc_pattern"],UnBangedTy (TyCon (UnQual (Ident "String")))),([Ident "rc_rule_base"],UnBangedTy (TyCon (UnQual (Ident "RuleBase"))))])] [],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleCheckBind"] (TyFun (TyCon (UnQual (Ident "RuleCheckEnv"))) (TyFun (TyCon (UnQual (Ident "CoreBind"))) (TyApp (TyCon (UnQual (Ident "Bag"))) (TyCon (UnQual (Ident "SDoc")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckBind") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "NonRec")) [PVar (Ident "b"),PVar (Ident "r")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "r"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckBind") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Rec")) [PVar (Ident "prs")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unionManyBags"))) (ListComp (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "r")))) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "b"),PVar (Ident "r")]) (Var (UnQual (Ident "prs"))))]))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleCheck"] (TyFun (TyCon (UnQual (Ident "RuleCheckEnv"))) (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyApp (TyCon (UnQual (Ident "Bag"))) (TyCon (UnQual (Ident "SDoc")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Var")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "emptyBag")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Lit")) [PVar (Ident "l")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "emptyBag")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Type")) [PVar (Ident "ty")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "emptyBag")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "App")) [PVar (Ident "f"),PVar (Ident "a")])] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "ruleCheckApp"))) (Var (UnQual (Ident "env")))) (Paren (App (App (Con (UnQual (Ident "App"))) (Var (UnQual (Ident "f")))) (Var (UnQual (Ident "a")))))) (List []))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Note")) [PVar (Ident "n"),PVar (Ident "e")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "e"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Cast")) [PVar (Ident "e"),PVar (Ident "co")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "e"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Let")) [PVar (Ident "bd"),PVar (Ident "e")])] Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "ruleCheckBind"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "bd")))) (QVarOp (UnQual (Ident "unionBags"))) (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "e")))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Lam")) [PVar (Ident "b"),PVar (Ident "e")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "e"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Case")) [PVar (Ident "e"),PWildCard,PWildCard,PVar (Ident "as")])] Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "e")))) (QVarOp (UnQual (Ident "unionBags"))) (App (Var (UnQual (Ident "unionManyBags"))) (ListComp (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "r")))) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PWildCard,PWildCard,PVar (Ident "r")]) (Var (UnQual (Ident "as"))))])))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckApp") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "App")) [PVar (Ident "f"),PVar (Ident "a")]),PVar (Ident "as")] Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "a")))) (QVarOp (UnQual (Ident "unionBags"))) (App (App (App (Var (UnQual (Ident "ruleCheckApp"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "f")))) (Paren (InfixApp (Var (UnQual (Ident "a"))) (QConOp (Special Cons)) (Var (UnQual (Ident "as")))))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckApp") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Var")) [PVar (Ident "f")]),PVar (Ident "as")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "ruleCheckFun"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "f")))) (Var (UnQual (Ident "as"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckApp") [PVar (Ident "env"),PVar (Ident "other"),PVar (Ident "as")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "other"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleCheckFun"] (TyFun (TyCon (UnQual (Ident "RuleCheckEnv"))) (TyFun (TyCon (UnQual (Ident "Id"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyApp (TyCon (UnQual (Ident "Bag"))) (TyCon (UnQual (Ident "SDoc"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckFun") [PVar (Ident "env"),PVar (Ident "fn"),PVar (Ident "args")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "null"))) (Var (UnQual (Ident "name_match_rules"))))] (Var (UnQual (Ident "emptyBag"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "unitBag"))) (Paren (App (App (App (App (Var (UnQual (Ident "ruleAppCheck_help"))) (Paren (App (Var (UnQual (Ident "rc_is_active"))) (Var (UnQual (Ident "env")))))) (Var (UnQual (Ident "fn")))) (Var (UnQual (Ident "args")))) (Var (UnQual (Ident "name_match_rules"))))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "name_match_rules")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "filter"))) (Var (UnQual (Ident "match")))) (Paren (App (App (Var (UnQual (Ident "getRules"))) (Paren (App (Var (UnQual (Ident "rc_rule_base"))) (Var (UnQual (Ident "env")))))) (Var (UnQual (Ident "fn"))))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "rule")] Nothing (UnGuardedRhs (InfixApp (Paren (App (Var (UnQual (Ident "rc_pattern"))) (Var (UnQual (Ident "env"))))) (QVarOp (UnQual (Ident "isPrefixOf"))) (App (Var (UnQual (Ident "unpackFS"))) (Paren (App (Var (UnQual (Ident "ruleName"))) (Var (UnQual (Ident "rule")))))))) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleAppCheck_help"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool"))))) (TyFun (TyCon (UnQual (Ident "Id"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "SDoc"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleAppCheck_help") [PVar (Ident "is_active"),PVar (Ident "fn"),PVar (Ident "args"),PVar (Ident "rules")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "vcat"))) (List [InfixApp (App (Var (UnQual (Ident "text"))) (Lit (String "Expression:"))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "ppr"))) (Paren (App (App (Var (UnQual (Ident "mkApps"))) (Paren (App (Con (UnQual (Ident "Var"))) (Var (UnQual (Ident "fn")))))) (Var (UnQual (Ident "args")))))),App (Var (UnQual (Ident "vcat"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "check_rule")))) (Var (UnQual (Ident "rules")))))]))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n_args")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "length"))) (Var (UnQual (Ident "args"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "i_args")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "args"))) (QVarOp (UnQual (Ident "zip"))) (EnumFrom (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (Int 1)) (TyCon (UnQual (Ident "Int"))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rough_args")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "roughTopName")))) (Var (UnQual (Ident "args"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "check_rule") [PVar (Ident "rule")] Nothing (UnGuardedRhs (InfixApp (InfixApp (App (Var (UnQual (Ident "rule_herald"))) (Var (UnQual (Ident "rule")))) (QVarOp (UnQual (Symbol "<>"))) (Var (UnQual (Ident "colon")))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "rule_info"))) (Var (UnQual (Ident "rule")))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rule_herald") [PParen (PRec (UnQual (Ident "BuiltinRule")) [PFieldPat (UnQual (Ident "ru_name")) (PVar (Ident "name"))])] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "ptext"))) (Paren (App (Var (UnQual (Ident "sLit"))) (Lit (String "Builtin rule"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "doubleQuotes"))) (Paren (App (Var (UnQual (Ident "ftext"))) (Var (UnQual (Ident "name")))))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rule_herald") [PParen (PRec (UnQual (Ident "Rule")) [PFieldPat (UnQual (Ident "ru_name")) (PVar (Ident "name"))])] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "ptext"))) (Paren (App (Var (UnQual (Ident "sLit"))) (Lit (String "Rule"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "doubleQuotes"))) (Paren (App (Var (UnQual (Ident "ftext"))) (Var (UnQual (Ident "name")))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rule_info") [PVar (Ident "rule")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PWildCard]) (App (App (App (App (App (Var (UnQual (Ident "matchRule"))) (Var (UnQual (Ident "noBlackList")))) (Var (UnQual (Ident "emptyInScopeSet")))) (Var (UnQual (Ident "args")))) (Var (UnQual (Ident "rough_args")))) (Var (UnQual (Ident "rule"))))] (App (Var (UnQual (Ident "text"))) (Lit (String "matches (which is very peculiar!)")))]) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rule_info") [PParen (PRec (UnQual (Ident "BuiltinRule")) [])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "does not match")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rule_info") [PParen (PRec (UnQual (Ident "Rule")) [PFieldPat (UnQual (Ident "ru_name")) (PVar (Ident "name")),PFieldPat (UnQual (Ident "ru_act")) (PVar (Ident "act")),PFieldPat (UnQual (Ident "ru_bndrs")) (PVar (Ident "rule_bndrs")),PFieldPat (UnQual (Ident "ru_args")) (PVar (Ident "rule_args"))])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "not"))) (Paren (App (Var (UnQual (Ident "is_active"))) (Var (UnQual (Ident "act"))))))] (App (Var (UnQual (Ident "text"))) (Lit (String "active only in later phase"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "n_args"))) (QVarOp (UnQual (Symbol "<"))) (Var (UnQual (Ident "n_rule_args"))))] (App (Var (UnQual (Ident "text"))) (Lit (String "too few arguments"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "n_mismatches"))) (QVarOp (UnQual (Symbol "=="))) (Var (UnQual (Ident "n_rule_args"))))] (App (Var (UnQual (Ident "text"))) (Lit (String "no arguments match"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "n_mismatches"))) (QVarOp (UnQual (Symbol "=="))) (Lit (Int 0)))] (App (Var (UnQual (Ident "text"))) (Lit (String "all arguments match (considered individually), but rule as a whole does not"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (InfixApp (InfixApp (App (Var (UnQual (Ident "text"))) (Lit (String "arguments"))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "mismatches"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "text"))) (Lit (String "do not match (1-indexing)"))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n_rule_args")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "length"))) (Var (UnQual (Ident "rule_args"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n_mismatches")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "length"))) (Var (UnQual (Ident "mismatches"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "mismatches")) Nothing (UnGuardedRhs (ListComp (Var (UnQual (Ident "i"))) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "rule_arg"),PTuple Boxed [PVar (Ident "arg"),PVar (Ident "i")]]) (InfixApp (Var (UnQual (Ident "rule_args"))) (QVarOp (UnQual (Ident "zip"))) (Var (UnQual (Ident "i_args"))))),QualStmt (Qualifier (App (Var (UnQual (Ident "not"))) (Paren (App (Var (UnQual (Ident "isJust"))) (Paren (App (App (Var (UnQual (Ident "match_fn"))) (Var (UnQual (Ident "rule_arg")))) (Var (UnQual (Ident "arg")))))))))])) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "lhs_fvs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "exprsFreeVars"))) (Var (UnQual (Ident "rule_args"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_fn") [PVar (Ident "rule_arg"),PVar (Ident "arg")] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "emptySubstEnv")))) (Var (UnQual (Ident "rule_arg")))) (Var (UnQual (Ident "arg"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "in_scope")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "lhs_fvs"))) (QVarOp (UnQual (Ident "unionVarSet"))) (App (Var (UnQual (Ident "exprFreeVars"))) (Var (UnQual (Ident "arg")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv")) Nothing (UnGuardedRhs (RecConstr (UnQual (Ident "ME")) [FieldUpdate (UnQual (Ident "me_env")) (App (Var (UnQual (Ident "mkRnEnv2"))) (Paren (App (Var (UnQual (Ident "mkInScopeSet"))) (Var (UnQual (Ident "in_scope")))))),FieldUpdate (UnQual (Ident "me_tmpls")) (App (Var (UnQual (Ident "mkVarSet"))) (Var (UnQual (Ident "rule_bndrs"))))])) (BDecls [])])]])]])]]--AST 2:--Module (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (ModuleName "Rules") [OptionsPragma (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) Nothing "-w ",LanguagePragma (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "PatternGuards"]] Nothing (Just [EAbs (UnQual (Ident "RuleBase")),EVar (UnQual (Ident "emptyRuleBase")),EVar (UnQual (Ident "mkRuleBase")),EVar (UnQual (Ident "extendRuleBaseList")),EVar (UnQual (Ident "unionRuleBase")),EVar (UnQual (Ident "pprRuleBase")),EVar (UnQual (Ident "ruleCheckProgram")),EVar (UnQual (Ident "mkSpecInfo")),EVar (UnQual (Ident "extendSpecInfo")),EVar (UnQual (Ident "addSpecInfo")),EVar (UnQual (Ident "addIdSpecialisations")),EVar (UnQual (Ident "rulesOfBinds")),EVar (UnQual (Ident "getRules")),EVar (UnQual (Ident "pprRulesForUser")),EVar (UnQual (Ident "lookupRule")),EVar (UnQual (Ident "mkLocalRule")),EVar (UnQual (Ident "roughTopNames"))]) [ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "CoreSyn", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "OccurAnal", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "occurAnalyseExpr")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "CoreFVs", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "exprFreeVars"),IVar (Ident "exprsFreeVars"),IVar (Ident "bindFreeVars"),IVar (Ident "rulesFreeVars")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "CoreUtils", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "tcEqExprX"),IVar (Ident "exprType")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "PprCore", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "pprRules")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Type", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs (Ident "Type"),IAbs (Ident "TvSubstEnv")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Coercion", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "coercionKind")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "TcType", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "tcSplitTyConApp_maybe")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "CoreTidy", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "tidyRules")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Id", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "IdInfo", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IThingWith (Ident "SpecInfo") [ConName (Ident "SpecInfo")]])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Var", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs (Ident "Var")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "VarEnv", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "VarSet", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Name", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs (Ident "Name"),IThingAll (Ident "NamedThing")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "NameEnv", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Unify", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "ruleMatchTyX"),IThingAll (Ident "MatchEnv")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "BasicTypes", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs (Ident "Activation")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "StaticFlags", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "opt_PprStyle_Debug")])},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Outputable", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "FastString", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Maybes", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "OrdList", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Bag", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Util", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}, importModule = ModuleName "Data.List", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "mkLocalRule"] (TyFun (TyCon (UnQual (Ident "RuleName"))) (TyFun (TyCon (UnQual (Ident "Activation"))) (TyFun (TyCon (UnQual (Ident "Name"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreBndr")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyCon (UnQual (Ident "CoreRule"))))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "mkLocalRule") [PVar (Ident "name"),PVar (Ident "act"),PVar (Ident "fn"),PVar (Ident "bndrs"),PVar (Ident "args"),PVar (Ident "rhs")] Nothing (UnGuardedRhs (RecConstr (UnQual (Ident "Rule")) [FieldUpdate (UnQual (Ident "ru_name")) (Var (UnQual (Ident "name"))),FieldUpdate (UnQual (Ident "ru_fn")) (Var (UnQual (Ident "fn"))),FieldUpdate (UnQual (Ident "ru_act")) (Var (UnQual (Ident "act"))),FieldUpdate (UnQual (Ident "ru_bndrs")) (Var (UnQual (Ident "bndrs"))),FieldUpdate (UnQual (Ident "ru_args")) (Var (UnQual (Ident "args"))),FieldUpdate (UnQual (Ident "ru_rhs")) (Var (UnQual (Ident "rhs"))),FieldUpdate (UnQual (Ident "ru_rough")) (App (Var (UnQual (Ident "roughTopNames"))) (Var (UnQual (Ident "args")))),FieldUpdate (UnQual (Ident "ru_local")) (Con (UnQual (Ident "True")))])) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "roughTopNames"] (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyList (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Name")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "roughTopNames") [PVar (Ident "args")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "roughTopName")))) (Var (UnQual (Ident "args"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "roughTopName"] (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Name"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "roughTopName") [PParen (PApp (UnQual (Ident "Type")) [PVar (Ident "ty")])] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "tcSplitTyConApp_maybe"))) (Var (UnQual (Ident "ty")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PTuple Boxed [PVar (Ident "tc"),PWildCard]]) (UnGuardedAlt (App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "getName"))) (Var (UnQual (Ident "tc"))))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (Con (UnQual (Ident "Nothing")))) (BDecls [])])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "roughTopName") [PParen (PApp (UnQual (Ident "App")) [PVar (Ident "f"),PVar (Ident "a")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "roughTopName"))) (Var (UnQual (Ident "f"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "roughTopName") [PParen (PApp (UnQual (Ident "Var")) [PVar (Ident "f")])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "isGlobalId"))) (Var (UnQual (Ident "f"))))] (App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "idName"))) (Var (UnQual (Ident "f")))))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Con (UnQual (Ident "Nothing")))]) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "roughTopName") [PVar (Ident "other")] Nothing (UnGuardedRhs (Con (UnQual (Ident "Nothing")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleCantMatch"] (TyFun (TyList (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Name"))))) (TyFun (TyList (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Name"))))) (TyCon (UnQual (Ident "Bool"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCantMatch") [PParen (PInfixApp (PApp (UnQual (Ident "Just")) [PVar (Ident "n1")]) (Special Cons) (PVar (Ident "ts"))),PParen (PInfixApp (PApp (UnQual (Ident "Just")) [PVar (Ident "n2")]) (Special Cons) (PVar (Ident "as")))] Nothing (UnGuardedRhs (InfixApp (InfixApp (Var (UnQual (Ident "n1"))) (QVarOp (UnQual (Symbol "/="))) (Var (UnQual (Ident "n2")))) (QVarOp (UnQual (Symbol "||"))) (App (App (Var (UnQual (Ident "ruleCantMatch"))) (Var (UnQual (Ident "ts")))) (Var (UnQual (Ident "as")))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCantMatch") [PParen (PInfixApp (PVar (Ident "t")) (Special Cons) (PVar (Ident "ts"))),PParen (PInfixApp (PVar (Ident "a")) (Special Cons) (PVar (Ident "as")))] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCantMatch"))) (Var (UnQual (Ident "ts")))) (Var (UnQual (Ident "as"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCantMatch") [PVar (Ident "ts"),PVar (Ident "as")] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "pprRulesForUser"] (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "SDoc")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "pprRulesForUser") [PVar (Ident "rules")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "withPprStyle"))) (Var (UnQual (Ident "defaultUserStyle")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "pprRules"))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (App (Var (UnQual (Ident "sortLe"))) (Var (UnQual (Ident "le_rule")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "tidyRules"))) (Var (UnQual (Ident "emptyTidyEnv")))) (Var (UnQual (Ident "rules")))))))) (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "le_rule") [PVar (Ident "r1"),PVar (Ident "r2")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "ru_name"))) (Var (UnQual (Ident "r1")))) (QVarOp (UnQual (Symbol "<="))) (App (Var (UnQual (Ident "ru_name"))) (Var (UnQual (Ident "r2")))))) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "mkSpecInfo"] (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "SpecInfo")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "mkSpecInfo") [PVar (Ident "rules")] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "SpecInfo"))) (Var (UnQual (Ident "rules")))) (Paren (App (Var (UnQual (Ident "rulesFreeVars"))) (Var (UnQual (Ident "rules"))))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "extendSpecInfo"] (TyFun (TyCon (UnQual (Ident "SpecInfo"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "SpecInfo"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "extendSpecInfo") [PParen (PApp (UnQual (Ident "SpecInfo")) [PVar (Ident "rs1"),PVar (Ident "fvs1")]),PVar (Ident "rs2")] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "SpecInfo"))) (Paren (InfixApp (Var (UnQual (Ident "rs2"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "rs1")))))) (Paren (InfixApp (App (Var (UnQual (Ident "rulesFreeVars"))) (Var (UnQual (Ident "rs2")))) (QVarOp (UnQual (Ident "unionVarSet"))) (Var (UnQual (Ident "fvs1"))))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "addSpecInfo"] (TyFun (TyCon (UnQual (Ident "SpecInfo"))) (TyFun (TyCon (UnQual (Ident "SpecInfo"))) (TyCon (UnQual (Ident "SpecInfo"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "addSpecInfo") [PParen (PApp (UnQual (Ident "SpecInfo")) [PVar (Ident "rs1"),PVar (Ident "fvs1")]),PParen (PApp (UnQual (Ident "SpecInfo")) [PVar (Ident "rs2"),PVar (Ident "fvs2")])] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "SpecInfo"))) (Paren (InfixApp (Var (UnQual (Ident "rs1"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "rs2")))))) (Paren (InfixApp (Var (UnQual (Ident "fvs1"))) (QVarOp (UnQual (Ident "unionVarSet"))) (Var (UnQual (Ident "fvs2"))))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "addIdSpecialisations"] (TyFun (TyCon (UnQual (Ident "Id"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "Id"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "addIdSpecialisations") [PVar (Ident "id"),PList []] Nothing (UnGuardedRhs (Var (UnQual (Ident "id")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "addIdSpecialisations") [PVar (Ident "id"),PVar (Ident "rules")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "setIdSpecialisation"))) (Var (UnQual (Ident "id")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "extendSpecInfo"))) (Paren (App (Var (UnQual (Ident "idSpecialisation"))) (Var (UnQual (Ident "id")))))) (Var (UnQual (Ident "rules")))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "rulesOfBinds"] (TyFun (TyList (TyCon (UnQual (Ident "CoreBind")))) (TyList (TyCon (UnQual (Ident "CoreRule"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rulesOfBinds") [PVar (Ident "binds")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "concatMap"))) (Paren (InfixApp (App (Var (UnQual (Ident "concatMap"))) (Var (UnQual (Ident "idCoreRules")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "bindersOf")))))) (Var (UnQual (Ident "binds"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "getRules"] (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyFun (TyCon (UnQual (Ident "Id"))) (TyList (TyCon (UnQual (Ident "CoreRule")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "getRules") [PVar (Ident "rule_base"),PVar (Ident "fn")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "isLocalId"))) (Var (UnQual (Ident "fn"))))] (App (Var (UnQual (Ident "idCoreRules"))) (Var (UnQual (Ident "fn")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (InfixApp (App (App (App (Con (UnQual (Ident "WARN"))) (Tuple Boxed [InfixApp (App (Var (UnQual (Ident "not"))) (Paren (App (Var (UnQual (Ident "isPrimOpId"))) (Var (UnQual (Ident "fn")))))) (QVarOp (UnQual (Symbol "&&"))) (App (Var (UnQual (Ident "notNull"))) (Paren (App (Var (UnQual (Ident "idCoreRules"))) (Var (UnQual (Ident "fn")))))),InfixApp (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "fn")))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "ppr"))) (Paren (App (Var (UnQual (Ident "idCoreRules"))) (Var (UnQual (Ident "fn"))))))])) (Var (UnQual (Ident "idCoreRules")))) (Var (UnQual (Ident "fn")))) (QVarOp (UnQual (Symbol "++"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "lookupNameEnv"))) (Var (UnQual (Ident "rule_base")))) (Paren (App (Var (UnQual (Ident "idName"))) (Var (UnQual (Ident "fn")))))) (QVarOp (UnQual (Ident "orElse"))) (List []))))]) (BDecls [])],TypeDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "RuleBase") [] (TyApp (TyCon (UnQual (Ident "NameEnv"))) (TyList (TyCon (UnQual (Ident "CoreRule"))))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "emptyRuleBase")) Nothing (UnGuardedRhs (Var (UnQual (Ident "emptyNameEnv")))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "mkRuleBase"] (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "RuleBase")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "mkRuleBase") [PVar (Ident "rules")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "extendRuleBaseList"))) (Var (UnQual (Ident "emptyRuleBase")))) (Var (UnQual (Ident "rules"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "extendRuleBaseList"] (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "RuleBase"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "extendRuleBaseList") [PVar (Ident "rule_base"),PVar (Ident "new_guys")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "foldl"))) (Var (UnQual (Ident "extendRuleBase")))) (Var (UnQual (Ident "rule_base")))) (Var (UnQual (Ident "new_guys"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "unionRuleBase"] (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyCon (UnQual (Ident "RuleBase"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unionRuleBase") [PVar (Ident "rb1"),PVar (Ident "rb2")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "plusNameEnv_C"))) (Var (UnQual (Symbol "++")))) (Var (UnQual (Ident "rb1")))) (Var (UnQual (Ident "rb2"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "extendRuleBase"] (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyFun (TyCon (UnQual (Ident "CoreRule"))) (TyCon (UnQual (Ident "RuleBase"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "extendRuleBase") [PVar (Ident "rule_base"),PVar (Ident "rule")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "extendNameEnv_Acc"))) (Con (Special Cons))) (Var (UnQual (Ident "singleton")))) (Var (UnQual (Ident "rule_base")))) (Paren (App (Var (UnQual (Ident "ruleIdName"))) (Var (UnQual (Ident "rule")))))) (Var (UnQual (Ident "rule"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "pprRuleBase"] (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyCon (UnQual (Ident "SDoc")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "pprRuleBase") [PVar (Ident "rules")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "vcat"))) (ListComp (App (Var (UnQual (Ident "pprRules"))) (Paren (App (App (Var (UnQual (Ident "tidyRules"))) (Var (UnQual (Ident "emptyTidyEnv")))) (Var (UnQual (Ident "rs")))))) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rs")) (App (Var (UnQual (Ident "nameEnvElts"))) (Var (UnQual (Ident "rules")))))]))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "lookupRule"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool"))))) (TyFun (TyCon (UnQual (Ident "InScopeSet"))) (TyFun (TyCon (UnQual (Ident "Id"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))]))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "lookupRule") [PVar (Ident "is_active"),PVar (Ident "in_scope"),PVar (Ident "fn"),PVar (Ident "args"),PVar (Ident "rules")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "go"))) (List [])) (Var (UnQual (Ident "rules")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PList []) (UnGuardedAlt (Con (UnQual (Ident "Nothing")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PParen (PInfixApp (PVar (Ident "m")) (Special Cons) (PVar (Ident "ms")))) (UnGuardedAlt (App (Con (UnQual (Ident "Just"))) (Paren (App (App (App (Var (UnQual (Ident "findBest"))) (Tuple Boxed [Var (UnQual (Ident "fn")),Var (UnQual (Ident "args"))])) (Var (UnQual (Ident "m")))) (Var (UnQual (Ident "ms"))))))) (BDecls [])])) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rough_args")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "roughTopName")))) (Var (UnQual (Ident "args"))))) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "go"] (TyFun (TyList (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))])) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))])))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "go") [PVar (Ident "ms"),PList []] Nothing (UnGuardedRhs (Var (UnQual (Ident "ms")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "go") [PVar (Ident "ms"),PParen (PInfixApp (PVar (Ident "r")) (Special Cons) (PVar (Ident "rs")))] Nothing (UnGuardedRhs (Case (Paren (App (App (App (App (App (Var (UnQual (Ident "matchRule"))) (Var (UnQual (Ident "is_active")))) (Var (UnQual (Ident "in_scope")))) (Var (UnQual (Ident "args")))) (Var (UnQual (Ident "rough_args")))) (Var (UnQual (Ident "r"))))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedAlt (App (App (Var (UnQual (Ident "go"))) (Paren (InfixApp (Tuple Boxed [Var (UnQual (Ident "r")),Var (UnQual (Ident "e"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "ms")))))) (Var (UnQual (Ident "rs"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (App (App (Var (UnQual (Ident "go"))) (Var (UnQual (Ident "ms")))) (Var (UnQual (Ident "rs"))))) (BDecls [])])) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "findBest"] (TyFun (TyTuple Boxed [TyCon (UnQual (Ident "Id")),TyList (TyCon (UnQual (Ident "CoreExpr")))]) (TyFun (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))]) (TyFun (TyList (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))])) (TyTuple Boxed [TyCon (UnQual (Ident "CoreRule")),TyCon (UnQual (Ident "CoreExpr"))])))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "findBest") [PVar (Ident "target"),PTuple Boxed [PVar (Ident "rule"),PVar (Ident "ans")],PList []] Nothing (UnGuardedRhs (Tuple Boxed [Var (UnQual (Ident "rule")),Var (UnQual (Ident "ans"))])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "findBest") [PVar (Ident "target"),PTuple Boxed [PVar (Ident "rule1"),PVar (Ident "ans1")],PParen (PInfixApp (PTuple Boxed [PVar (Ident "rule2"),PVar (Ident "ans2")]) (Special Cons) (PVar (Ident "prs")))] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "rule1"))) (QVarOp (UnQual (Ident "isMoreSpecific"))) (Var (UnQual (Ident "rule2"))))] (App (App (App (Var (UnQual (Ident "findBest"))) (Var (UnQual (Ident "target")))) (Tuple Boxed [Var (UnQual (Ident "rule1")),Var (UnQual (Ident "ans1"))])) (Var (UnQual (Ident "prs")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "rule2"))) (QVarOp (UnQual (Ident "isMoreSpecific"))) (Var (UnQual (Ident "rule1"))))] (App (App (App (Var (UnQual (Ident "findBest"))) (Var (UnQual (Ident "target")))) (Tuple Boxed [Var (UnQual (Ident "rule2")),Var (UnQual (Ident "ans2"))])) (Var (UnQual (Ident "prs")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "debugIsOn")))] (Let (BDecls [FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "pp_rule") [PVar (Ident "rule")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "opt_PprStyle_Debug")))] (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "rule")))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "doubleQuotes"))) (Paren (App (Var (UnQual (Ident "ftext"))) (Paren (App (Var (UnQual (Ident "ru_name"))) (Var (UnQual (Ident "rule"))))))))]) (BDecls [])]]) (InfixApp (App (App (Var (UnQual (Ident "pprTrace"))) (Lit (String "Rules.findBest: rule overlap (Rule 1 wins)"))) (Paren (App (Var (UnQual (Ident "vcat"))) (List [If (Var (UnQual (Ident "opt_PprStyle_Debug"))) (InfixApp (InfixApp (App (Var (UnQual (Ident "ptext"))) (Paren (App (Var (UnQual (Ident "sLit"))) (Lit (String "Expression to match:"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "fn"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "sep"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "ppr")))) (Var (UnQual (Ident "args"))))))) (Var (UnQual (Ident "empty"))),InfixApp (App (Var (UnQual (Ident "ptext"))) (Paren (App (Var (UnQual (Ident "sLit"))) (Lit (String "Rule 1:"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "pp_rule"))) (Var (UnQual (Ident "rule1")))),InfixApp (App (Var (UnQual (Ident "ptext"))) (Paren (App (Var (UnQual (Ident "sLit"))) (Lit (String "Rule 2:"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "pp_rule"))) (Var (UnQual (Ident "rule2"))))])))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "findBest"))) (Var (UnQual (Ident "target")))) (Tuple Boxed [Var (UnQual (Ident "rule1")),Var (UnQual (Ident "ans1"))])) (Var (UnQual (Ident "prs")))))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (App (App (Var (UnQual (Ident "findBest"))) (Var (UnQual (Ident "target")))) (Tuple Boxed [Var (UnQual (Ident "rule1")),Var (UnQual (Ident "ans1"))])) (Var (UnQual (Ident "prs"))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "fn"),PVar (Ident "args")]) Nothing (UnGuardedRhs (Var (UnQual (Ident "target")))) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "isMoreSpecific"] (TyFun (TyCon (UnQual (Ident "CoreRule"))) (TyFun (TyCon (UnQual (Ident "CoreRule"))) (TyCon (UnQual (Ident "Bool"))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "isMoreSpecific") [PParen (PRec (UnQual (Ident "BuiltinRule")) []),PVar (Ident "r2")] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "isMoreSpecific") [PVar (Ident "r1"),PParen (PRec (UnQual (Ident "BuiltinRule")) [])] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "isMoreSpecific") [PParen (PRec (UnQual (Ident "Rule")) [PFieldPat (UnQual (Ident "ru_bndrs")) (PVar (Ident "bndrs1")),PFieldPat (UnQual (Ident "ru_args")) (PVar (Ident "args1"))]),PParen (PRec (UnQual (Ident "Rule")) [PFieldPat (UnQual (Ident "ru_bndrs")) (PVar (Ident "bndrs2")),PFieldPat (UnQual (Ident "ru_args")) (PVar (Ident "args2"))])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "isJust"))) (Paren (App (App (App (App (Var (UnQual (Ident "matchN"))) (Var (UnQual (Ident "in_scope")))) (Var (UnQual (Ident "bndrs2")))) (Var (UnQual (Ident "args2")))) (Var (UnQual (Ident "args1"))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "in_scope")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "mkInScopeSet"))) (Paren (App (Var (UnQual (Ident "mkVarSet"))) (Var (UnQual (Ident "bndrs1"))))))) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "noBlackList"] (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool")))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "noBlackList") [PVar (Ident "act")] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "matchRule"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool"))))) (TyFun (TyCon (UnQual (Ident "InScopeSet"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyFun (TyList (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Name"))))) (TyFun (TyCon (UnQual (Ident "CoreRule"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CoreExpr"))))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "matchRule") [PVar (Ident "is_active"),PVar (Ident "in_scope"),PVar (Ident "args"),PVar (Ident "rough_args"),PParen (PRec (UnQual (Ident "BuiltinRule")) [PFieldPat (UnQual (Ident "ru_name")) (PVar (Ident "name")),PFieldPat (UnQual (Ident "ru_try")) (PVar (Ident "match_fn"))])] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "match_fn"))) (Var (UnQual (Ident "args")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "expr")]) (UnGuardedAlt (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "expr"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (Con (UnQual (Ident "Nothing")))) (BDecls [])])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "matchRule") [PVar (Ident "is_active"),PVar (Ident "in_scope"),PVar (Ident "args"),PVar (Ident "rough_args"),PParen (PRec (UnQual (Ident "Rule")) [PFieldPat (UnQual (Ident "ru_name")) (PVar (Ident "rn")),PFieldPat (UnQual (Ident "ru_act")) (PVar (Ident "act")),PFieldPat (UnQual (Ident "ru_rough")) (PVar (Ident "tpl_tops")),PFieldPat (UnQual (Ident "ru_bndrs")) (PVar (Ident "tpl_vars")),PFieldPat (UnQual (Ident "ru_args")) (PVar (Ident "tpl_args")),PFieldPat (UnQual (Ident "ru_rhs")) (PVar (Ident "rhs"))])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "not"))) (Paren (App (Var (UnQual (Ident "is_active"))) (Var (UnQual (Ident "act"))))))] (Con (UnQual (Ident "Nothing"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (App (Var (UnQual (Ident "ruleCantMatch"))) (Var (UnQual (Ident "tpl_tops")))) (Var (UnQual (Ident "rough_args"))))] (Con (UnQual (Ident "Nothing"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Case (App (App (App (App (Var (UnQual (Ident "matchN"))) (Var (UnQual (Ident "in_scope")))) (Var (UnQual (Ident "tpl_vars")))) (Var (UnQual (Ident "tpl_args")))) (Var (UnQual (Ident "args")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (Con (UnQual (Ident "Nothing")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PTuple Boxed [PVar (Ident "binds"),PVar (Ident "tpl_vals")]]) (UnGuardedAlt (App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (App (Var (UnQual (Ident "mkLets"))) (Var (UnQual (Ident "binds")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "rule_fn"))) (QVarOp (UnQual (Ident "mkApps"))) (Var (UnQual (Ident "tpl_vals")))))))) (BDecls [])])]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rule_fn")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "occurAnalyseExpr"))) (Paren (App (App (Var (UnQual (Ident "mkLams"))) (Var (UnQual (Ident "tpl_vars")))) (Var (UnQual (Ident "rhs"))))))) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "matchN"] (TyFun (TyCon (UnQual (Ident "InScopeSet"))) (TyFun (TyList (TyCon (UnQual (Ident "Var")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CoreBind"))),TyList (TyCon (UnQual (Ident "CoreExpr")))])))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "matchN") [PVar (Ident "in_scope"),PVar (Ident "tmpl_vars"),PVar (Ident "tmpl_es"),PVar (Ident "target_es")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "tv_subst"),PVar (Ident "id_subst"),PVar (Ident "binds")]) (App (App (App (App (Var (UnQual (Ident "go"))) (Var (UnQual (Ident "init_menv")))) (Var (UnQual (Ident "emptySubstEnv")))) (Var (UnQual (Ident "tmpl_es")))) (Var (UnQual (Ident "target_es")))),Qualifier (App (Var (UnQual (Ident "return"))) (Tuple Boxed [App (Var (UnQual (Ident "fromOL"))) (Var (UnQual (Ident "binds"))),App (App (Var (UnQual (Ident "map"))) (Paren (App (App (Var (UnQual (Ident "lookup_tmpl"))) (Var (UnQual (Ident "tv_subst")))) (Var (UnQual (Ident "id_subst")))))) (Var (UnQual (Ident "tmpl_vars'")))]))])) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "init_rn_env"),PVar (Ident "tmpl_vars'")]) Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mapAccumL"))) (Var (UnQual (Ident "rnBndrL")))) (Paren (App (Var (UnQual (Ident "mkRnEnv2"))) (Var (UnQual (Ident "in_scope")))))) (Var (UnQual (Ident "tmpl_vars"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "init_menv")) Nothing (UnGuardedRhs (RecConstr (UnQual (Ident "ME")) [FieldUpdate (UnQual (Ident "me_tmpls")) (App (Var (UnQual (Ident "mkVarSet"))) (Var (UnQual (Ident "tmpl_vars'")))),FieldUpdate (UnQual (Ident "me_env")) (Var (UnQual (Ident "init_rn_env")))])) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "go") [PVar (Ident "menv"),PVar (Ident "subst"),PList [],PVar (Ident "es")] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "subst"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "go") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "ts"),PList []] Nothing (UnGuardedRhs (Con (UnQual (Ident "Nothing")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "go") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PInfixApp (PVar (Ident "t")) (Special Cons) (PVar (Ident "ts"))),PParen (PInfixApp (PVar (Ident "e")) (Special Cons) (PVar (Ident "es")))] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst1")) (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "t")))) (Var (UnQual (Ident "e")))),Qualifier (App (App (App (App (Var (UnQual (Ident "go"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst1")))) (Var (UnQual (Ident "ts")))) (Var (UnQual (Ident "es"))))])) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "lookup_tmpl"] (TyFun (TyCon (UnQual (Ident "TvSubstEnv"))) (TyFun (TyCon (UnQual (Ident "IdSubstEnv"))) (TyFun (TyCon (UnQual (Ident "Var"))) (TyCon (UnQual (Ident "CoreExpr")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "lookup_tmpl") [PVar (Ident "tv_subst"),PVar (Ident "id_subst"),PVar (Ident "tmpl_var'")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "isTyVar"))) (Var (UnQual (Ident "tmpl_var'"))))] (Case (App (App (Var (UnQual (Ident "lookupVarEnv"))) (Var (UnQual (Ident "tv_subst")))) (Var (UnQual (Ident "tmpl_var'")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "ty")]) (UnGuardedAlt (App (Con (UnQual (Ident "Type"))) (Var (UnQual (Ident "ty"))))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedAlt (App (Var (UnQual (Ident "unbound"))) (Var (UnQual (Ident "tmpl_var'"))))) (BDecls [])]),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Case (App (App (Var (UnQual (Ident "lookupVarEnv"))) (Var (UnQual (Ident "id_subst")))) (Var (UnQual (Ident "tmpl_var'")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedAlt (Var (UnQual (Ident "e")))) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "other")) (UnGuardedAlt (App (Var (UnQual (Ident "unbound"))) (Var (UnQual (Ident "tmpl_var'"))))) (BDecls [])])]) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "unbound") [PVar (Ident "var")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "pprPanic"))) (Lit (String "Template variable unbound in rewrite rule"))) (Paren (InfixApp (InfixApp (InfixApp (InfixApp (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "var")))) (QVarOp (UnQual (Symbol "$$"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "tmpl_vars"))))) (QVarOp (UnQual (Symbol "$$"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "tmpl_vars'"))))) (QVarOp (UnQual (Symbol "$$"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "tmpl_es"))))) (QVarOp (UnQual (Symbol "$$"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "target_es")))))))) (BDecls [])]])],TypeDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "SubstEnv") [] (TyTuple Boxed [TyCon (UnQual (Ident "TvSubstEnv")),TyCon (UnQual (Ident "IdSubstEnv")),TyApp (TyCon (UnQual (Ident "OrdList"))) (TyCon (UnQual (Ident "CoreBind")))]),TypeDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "IdSubstEnv") [] (TyApp (TyCon (UnQual (Ident "IdEnv"))) (TyCon (UnQual (Ident "CoreExpr")))),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "emptySubstEnv"] (TyCon (UnQual (Ident "SubstEnv"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "emptySubstEnv")) Nothing (UnGuardedRhs (Tuple Boxed [Var (UnQual (Ident "emptyVarEnv")),Var (UnQual (Ident "emptyVarEnv")),Var (UnQual (Ident "nilOL"))])) (BDecls []),TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "match"] (TyFun (TyCon (UnQual (Ident "MatchEnv"))) (TyFun (TyCon (UnQual (Ident "SubstEnv"))) (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "SubstEnv")))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Var")) [PVar (Ident "v1")]),PVar (Ident "e2")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "subst")]) (App (App (App (App (Var (UnQual (Ident "match_var"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "e2"))))] (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "subst"))))]) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "e1"),PParen (PApp (UnQual (Ident "Note")) [PVar (Ident "n"),PVar (Ident "e2")])] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "e1")))) (Var (UnQual (Ident "e2"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "e1"),PParen (PApp (UnQual (Ident "Var")) [PVar (Ident "v2")])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "isCheapUnfolding"))) (Var (UnQual (Ident "unfolding"))))] (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "e1")))) (Paren (App (Var (UnQual (Ident "unfoldingTemplate"))) (Var (UnQual (Ident "unfolding"))))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rn_env")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "unfolding")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "idUnfolding"))) (Paren (App (App (Var (UnQual (Ident "lookupRnInScope"))) (Var (UnQual (Ident "rn_env")))) (Paren (App (App (Var (UnQual (Ident "rnOccR"))) (Var (UnQual (Ident "rn_env")))) (Var (UnQual (Ident "v2"))))))))) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PAsPat (Ident "subst") (PTuple Boxed [PVar (Ident "tv_subst"),PVar (Ident "id_subst"),PVar (Ident "binds")]),PVar (Ident "e1"),PParen (PApp (UnQual (Ident "Let")) [PVar (Ident "bind"),PVar (Ident "e2")])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (App (Var (UnQual (Ident "all"))) (Var (UnQual (Ident "freshly_bound")))) (Var (UnQual (Ident "bndrs")))),Qualifier (App (Var (UnQual (Ident "not"))) (Paren (App (App (Var (UnQual (Ident "any"))) (Var (UnQual (Ident "locally_bound")))) (Var (UnQual (Ident "bind_fvs"))))))] (App (App (App (App (Var (UnQual (Ident "match"))) (Paren (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (Var (UnQual (Ident "rn_env'")))]))) (Tuple Boxed [Var (UnQual (Ident "tv_subst")),Var (UnQual (Ident "id_subst")),InfixApp (Var (UnQual (Ident "binds"))) (QVarOp (UnQual (Ident "snocOL"))) (Var (UnQual (Ident "bind'")))])) (Var (UnQual (Ident "e1")))) (Var (UnQual (Ident "e2'"))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rn_env")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "bndrs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "bindersOf"))) (Var (UnQual (Ident "bind"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "bind_fvs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "varSetElems"))) (Paren (App (Var (UnQual (Ident "bindFreeVars"))) (Var (UnQual (Ident "bind"))))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "locally_bound") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "inRnEnvR"))) (Var (UnQual (Ident "rn_env")))) (Var (UnQual (Ident "x"))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "freshly_bound") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "not"))) (Paren (InfixApp (Var (UnQual (Ident "x"))) (QVarOp (UnQual (Ident "rnInScope"))) (Var (UnQual (Ident "rn_env"))))))) (BDecls [])],PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "bind'")) Nothing (UnGuardedRhs (Var (UnQual (Ident "bind")))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "e2'")) Nothing (UnGuardedRhs (Var (UnQual (Ident "e2")))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rn_env'")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "extendRnInScopeList"))) (Var (UnQual (Ident "rn_env")))) (Var (UnQual (Ident "bndrs"))))) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Lit")) [PVar (Ident "lit1")]),PParen (PApp (UnQual (Ident "Lit")) [PVar (Ident "lit2")])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "lit1"))) (QVarOp (UnQual (Symbol "=="))) (Var (UnQual (Ident "lit2"))))] (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "subst"))))]) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "App")) [PVar (Ident "f1"),PVar (Ident "a1")]),PParen (PApp (UnQual (Ident "App")) [PVar (Ident "f2"),PVar (Ident "a2")])] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst'")) (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "f1")))) (Var (UnQual (Ident "f2")))),Qualifier (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst'")))) (Var (UnQual (Ident "a1")))) (Var (UnQual (Ident "a2"))))])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Lam")) [PVar (Ident "x1"),PVar (Ident "e1")]),PParen (PApp (UnQual (Ident "Lam")) [PVar (Ident "x2"),PVar (Ident "e2")])] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv'")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "e1")))) (Var (UnQual (Ident "e2"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv'")) Nothing (UnGuardedRhs (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (App (App (App (Var (UnQual (Ident "rnBndr2"))) (Paren (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv")))))) (Var (UnQual (Ident "x1")))) (Var (UnQual (Ident "x2"))))])) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Lam")) [PVar (Ident "x1"),PVar (Ident "e1")]),PVar (Ident "e2")] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv'")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "e1")))) (Paren (App (App (Con (UnQual (Ident "App"))) (Var (UnQual (Ident "e2")))) (Paren (App (Var (UnQual (Ident "varToCoreExpr"))) (Var (UnQual (Ident "new_x"))))))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "rn_env'"),PVar (Ident "new_x")]) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "rnBndrL"))) (Paren (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv")))))) (Var (UnQual (Ident "x1"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv'")) Nothing (UnGuardedRhs (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (Var (UnQual (Ident "rn_env'")))])) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "e1"),PParen (PApp (UnQual (Ident "Lam")) [PVar (Ident "x2"),PVar (Ident "e2")])] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv'")))) (Var (UnQual (Ident "subst")))) (Paren (App (App (Con (UnQual (Ident "App"))) (Var (UnQual (Ident "e1")))) (Paren (App (Var (UnQual (Ident "varToCoreExpr"))) (Var (UnQual (Ident "new_x")))))))) (Var (UnQual (Ident "e2"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "rn_env'"),PVar (Ident "new_x")]) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "rnBndrR"))) (Paren (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv")))))) (Var (UnQual (Ident "x2"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv'")) Nothing (UnGuardedRhs (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (Var (UnQual (Ident "rn_env'")))])) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Case")) [PVar (Ident "e1"),PVar (Ident "x1"),PVar (Ident "ty1"),PVar (Ident "alts1")]),PParen (PApp (UnQual (Ident "Case")) [PVar (Ident "e2"),PVar (Ident "x2"),PVar (Ident "ty2"),PVar (Ident "alts2")])] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst1")) (App (App (App (App (Var (UnQual (Ident "match_ty"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "ty1")))) (Var (UnQual (Ident "ty2")))),Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst2")) (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst1")))) (Var (UnQual (Ident "e1")))) (Var (UnQual (Ident "e2")))),LetStmt (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv'")) Nothing (UnGuardedRhs (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (App (App (App (Var (UnQual (Ident "rnBndr2"))) (Paren (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv")))))) (Var (UnQual (Ident "x1")))) (Var (UnQual (Ident "x2"))))])) (BDecls [])]),Qualifier (App (App (App (App (Var (UnQual (Ident "match_alts"))) (Var (UnQual (Ident "menv'")))) (Var (UnQual (Ident "subst2")))) (Var (UnQual (Ident "alts1")))) (Var (UnQual (Ident "alts2"))))])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Type")) [PVar (Ident "ty1")]),PParen (PApp (UnQual (Ident "Type")) [PVar (Ident "ty2")])] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match_ty"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "ty1")))) (Var (UnQual (Ident "ty2"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PApp (UnQual (Ident "Cast")) [PVar (Ident "e1"),PVar (Ident "co1")]),PParen (PApp (UnQual (Ident "Cast")) [PVar (Ident "e2"),PVar (Ident "co2")])] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst1")) (App (App (App (App (Var (UnQual (Ident "match_ty"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "co1")))) (Var (UnQual (Ident "co2")))),Qualifier (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst1")))) (Var (UnQual (Ident "e1")))) (Var (UnQual (Ident "e2"))))])) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "e1"),PVar (Ident "e2")] Nothing (UnGuardedRhs (Con (UnQual (Ident "Nothing")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "match_var"] (TyFun (TyCon (UnQual (Ident "MatchEnv"))) (TyFun (TyCon (UnQual (Ident "SubstEnv"))) (TyFun (TyCon (UnQual (Ident "Var"))) (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "SubstEnv")))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_var") [PVar (Ident "menv"),PAsPat (Ident "subst") (PTuple Boxed [PVar (Ident "tv_subst"),PVar (Ident "id_subst"),PVar (Ident "binds")]),PVar (Ident "v1"),PVar (Ident "e2")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "v1'"))) (QVarOp (UnQual (Ident "elemVarSet"))) (App (Var (UnQual (Ident "me_tmpls"))) (Var (UnQual (Ident "menv")))))] (Case (App (App (Var (UnQual (Ident "lookupVarEnv"))) (Var (UnQual (Ident "id_subst")))) (Var (UnQual (Ident "v1'")))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Nothing")) []) (GuardedAlts [GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (App (Var (UnQual (Ident "any"))) (Paren (App (Var (UnQual (Ident "inRnEnvR"))) (Var (UnQual (Ident "rn_env")))))) (Paren (App (Var (UnQual (Ident "varSetElems"))) (Paren (App (Var (UnQual (Ident "exprFreeVars"))) (Var (UnQual (Ident "e2"))))))))] (Con (UnQual (Ident "Nothing"))),GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "tv_subst'")) (App (App (App (App (Var (Qual (ModuleName "Unify") (Ident "ruleMatchTyX"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "tv_subst")))) (Paren (App (Var (UnQual (Ident "idType"))) (Var (UnQual (Ident "v1'")))))) (Paren (App (Var (UnQual (Ident "exprType"))) (Var (UnQual (Ident "e2")))))),Qualifier (App (Var (UnQual (Ident "return"))) (Tuple Boxed [Var (UnQual (Ident "tv_subst'")),App (App (App (Var (UnQual (Ident "extendVarEnv"))) (Var (UnQual (Ident "id_subst")))) (Var (UnQual (Ident "v1'")))) (Var (UnQual (Ident "e2"))),Var (UnQual (Ident "binds"))]))])]) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PVar (Ident "e1'")]) (GuardedAlts [GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (App (App (Var (UnQual (Ident "tcEqExprX"))) (Paren (App (Var (UnQual (Ident "nukeRnEnvL"))) (Var (UnQual (Ident "rn_env")))))) (Var (UnQual (Ident "e1'")))) (Var (UnQual (Ident "e2"))))] (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "subst")))),GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Con (UnQual (Ident "Nothing")))]) (BDecls [])]),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (Case (Var (UnQual (Ident "e2"))) [Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Var")) [PVar (Ident "v2")]) (GuardedAlts [GuardedAlt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "v1'"))) (QVarOp (UnQual (Symbol "=="))) (App (App (Var (UnQual (Ident "rnOccR"))) (Var (UnQual (Ident "rn_env")))) (Var (UnQual (Ident "v2")))))] (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "subst"))))]) (BDecls []),Alt (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "other")) (UnGuardedAlt (Con (UnQual (Ident "Nothing")))) (BDecls [])])]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rn_env")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "v1'")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "rnOccL"))) (Var (UnQual (Ident "rn_env")))) (Var (UnQual (Ident "v1"))))) (BDecls [])])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "match_alts"] (TyFun (TyCon (UnQual (Ident "MatchEnv"))) (TyFun (TyCon (UnQual (Ident "SubstEnv"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreAlt")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreAlt")))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "SubstEnv")))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_alts") [PVar (Ident "menv"),PVar (Ident "subst"),PList [],PList []] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "subst"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_alts") [PVar (Ident "menv"),PVar (Ident "subst"),PParen (PInfixApp (PTuple Boxed [PVar (Ident "c1"),PVar (Ident "vs1"),PVar (Ident "r1")]) (Special Cons) (PVar (Ident "alts1"))),PParen (PInfixApp (PTuple Boxed [PVar (Ident "c2"),PVar (Ident "vs2"),PVar (Ident "r2")]) (Special Cons) (PVar (Ident "alts2")))] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "c1"))) (QVarOp (UnQual (Symbol "=="))) (Var (UnQual (Ident "c2"))))] (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "subst1")) (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv'")))) (Var (UnQual (Ident "subst")))) (Var (UnQual (Ident "r1")))) (Var (UnQual (Ident "r2")))),Qualifier (App (App (App (App (Var (UnQual (Ident "match_alts"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "subst1")))) (Var (UnQual (Ident "alts1")))) (Var (UnQual (Ident "alts2"))))])]) (BDecls [TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "menv'"] (TyCon (UnQual (Ident "MatchEnv"))),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv'")) Nothing (UnGuardedRhs (RecUpdate (Var (UnQual (Ident "menv"))) [FieldUpdate (UnQual (Ident "me_env")) (App (App (App (Var (UnQual (Ident "rnBndrs2"))) (Paren (App (Var (UnQual (Ident "me_env"))) (Var (UnQual (Ident "menv")))))) (Var (UnQual (Ident "vs1")))) (Var (UnQual (Ident "vs2"))))])) (BDecls [])]),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_alts") [PVar (Ident "menv"),PVar (Ident "subst"),PVar (Ident "alts1"),PVar (Ident "alts2")] Nothing (UnGuardedRhs (Con (UnQual (Ident "Nothing")))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "match_ty"] (TyFun (TyCon (UnQual (Ident "MatchEnv"))) (TyFun (TyCon (UnQual (Ident "SubstEnv"))) (TyFun (TyCon (UnQual (Ident "Type"))) (TyFun (TyCon (UnQual (Ident "Type"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "SubstEnv")))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_ty") [PVar (Ident "menv"),PTuple Boxed [PVar (Ident "tv_subst"),PVar (Ident "id_subst"),PVar (Ident "binds")],PVar (Ident "ty1"),PVar (Ident "ty2")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "tv_subst'")) (App (App (App (App (Var (Qual (ModuleName "Unify") (Ident "ruleMatchTyX"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "tv_subst")))) (Var (UnQual (Ident "ty1")))) (Var (UnQual (Ident "ty2")))),Qualifier (App (Var (UnQual (Ident "return"))) (Tuple Boxed [Var (UnQual (Ident "tv_subst'")),Var (UnQual (Ident "id_subst")),Var (UnQual (Ident "binds"))]))])) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleCheckProgram"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool"))))) (TyFun (TyCon (UnQual (Ident "String"))) (TyFun (TyCon (UnQual (Ident "RuleBase"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreBind")))) (TyCon (UnQual (Ident "SDoc"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckProgram") [PVar (Ident "is_active"),PVar (Ident "rule_pat"),PVar (Ident "rule_base"),PVar (Ident "binds")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "isEmptyBag"))) (Var (UnQual (Ident "results"))))] (App (Var (UnQual (Ident "text"))) (Lit (String "Rule check results: no rule application sites"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "vcat"))) (List [App (Var (UnQual (Ident "text"))) (Lit (String "Rule check results:")),Var (UnQual (Ident "line")),App (Var (UnQual (Ident "vcat"))) (ListComp (InfixApp (Var (UnQual (Ident "p"))) (QVarOp (UnQual (Symbol "$$"))) (Var (UnQual (Ident "line")))) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "p")) (App (Var (UnQual (Ident "bagToList"))) (Var (UnQual (Ident "results")))))])]))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "results")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unionManyBags"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Paren (App (Var (UnQual (Ident "ruleCheckBind"))) (Paren (App (App (App (Con (UnQual (Ident "RuleCheckEnv"))) (Var (UnQual (Ident "is_active")))) (Var (UnQual (Ident "rule_pat")))) (Var (UnQual (Ident "rule_base")))))))) (Var (UnQual (Ident "binds"))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "line")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Paren (App (App (Var (UnQual (Ident "replicate"))) (Lit (Int 20))) (Lit (Char '-')))))) (BDecls [])])],DataDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) DataType [] (Ident "RuleCheckEnv") [] [QualConDecl (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [] [] (RecDecl (Ident "RuleCheckEnv") [([Ident "rc_is_active"],UnBangedTy (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool"))))),([Ident "rc_pattern"],UnBangedTy (TyCon (UnQual (Ident "String")))),([Ident "rc_rule_base"],UnBangedTy (TyCon (UnQual (Ident "RuleBase"))))])] [],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleCheckBind"] (TyFun (TyCon (UnQual (Ident "RuleCheckEnv"))) (TyFun (TyCon (UnQual (Ident "CoreBind"))) (TyApp (TyCon (UnQual (Ident "Bag"))) (TyCon (UnQual (Ident "SDoc")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckBind") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "NonRec")) [PVar (Ident "b"),PVar (Ident "r")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "r"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckBind") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Rec")) [PVar (Ident "prs")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unionManyBags"))) (ListComp (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "r")))) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "b"),PVar (Ident "r")]) (Var (UnQual (Ident "prs"))))]))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleCheck"] (TyFun (TyCon (UnQual (Ident "RuleCheckEnv"))) (TyFun (TyCon (UnQual (Ident "CoreExpr"))) (TyApp (TyCon (UnQual (Ident "Bag"))) (TyCon (UnQual (Ident "SDoc")))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Var")) [PVar (Ident "v")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "emptyBag")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Lit")) [PVar (Ident "l")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "emptyBag")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Type")) [PVar (Ident "ty")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "emptyBag")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "App")) [PVar (Ident "f"),PVar (Ident "a")])] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "ruleCheckApp"))) (Var (UnQual (Ident "env")))) (Paren (App (App (Con (UnQual (Ident "App"))) (Var (UnQual (Ident "f")))) (Var (UnQual (Ident "a")))))) (List []))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Note")) [PVar (Ident "n"),PVar (Ident "e")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "e"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Cast")) [PVar (Ident "e"),PVar (Ident "co")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "e"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Let")) [PVar (Ident "bd"),PVar (Ident "e")])] Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "ruleCheckBind"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "bd")))) (QVarOp (UnQual (Ident "unionBags"))) (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "e")))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Lam")) [PVar (Ident "b"),PVar (Ident "e")])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "e"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheck") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Case")) [PVar (Ident "e"),PWildCard,PWildCard,PVar (Ident "as")])] Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "e")))) (QVarOp (UnQual (Ident "unionBags"))) (App (Var (UnQual (Ident "unionManyBags"))) (ListComp (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "r")))) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PWildCard,PWildCard,PVar (Ident "r")]) (Var (UnQual (Ident "as"))))])))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckApp") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "App")) [PVar (Ident "f"),PVar (Ident "a")]),PVar (Ident "as")] Nothing (UnGuardedRhs (InfixApp (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "a")))) (QVarOp (UnQual (Ident "unionBags"))) (App (App (App (Var (UnQual (Ident "ruleCheckApp"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "f")))) (Paren (InfixApp (Var (UnQual (Ident "a"))) (QConOp (Special Cons)) (Var (UnQual (Ident "as")))))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckApp") [PVar (Ident "env"),PParen (PApp (UnQual (Ident "Var")) [PVar (Ident "f")]),PVar (Ident "as")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "ruleCheckFun"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "f")))) (Var (UnQual (Ident "as"))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckApp") [PVar (Ident "env"),PVar (Ident "other"),PVar (Ident "as")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "ruleCheck"))) (Var (UnQual (Ident "env")))) (Var (UnQual (Ident "other"))))) (BDecls [])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleCheckFun"] (TyFun (TyCon (UnQual (Ident "RuleCheckEnv"))) (TyFun (TyCon (UnQual (Ident "Id"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyApp (TyCon (UnQual (Ident "Bag"))) (TyCon (UnQual (Ident "SDoc"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleCheckFun") [PVar (Ident "env"),PVar (Ident "fn"),PVar (Ident "args")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "null"))) (Var (UnQual (Ident "name_match_rules"))))] (Var (UnQual (Ident "emptyBag"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "unitBag"))) (Paren (App (App (App (App (Var (UnQual (Ident "ruleAppCheck_help"))) (Paren (App (Var (UnQual (Ident "rc_is_active"))) (Var (UnQual (Ident "env")))))) (Var (UnQual (Ident "fn")))) (Var (UnQual (Ident "args")))) (Var (UnQual (Ident "name_match_rules"))))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "name_match_rules")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "filter"))) (Var (UnQual (Ident "match")))) (Paren (App (App (Var (UnQual (Ident "getRules"))) (Paren (App (Var (UnQual (Ident "rc_rule_base"))) (Var (UnQual (Ident "env")))))) (Var (UnQual (Ident "fn"))))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match") [PVar (Ident "rule")] Nothing (UnGuardedRhs (InfixApp (Paren (App (Var (UnQual (Ident "rc_pattern"))) (Var (UnQual (Ident "env"))))) (QVarOp (UnQual (Ident "isPrefixOf"))) (App (Var (UnQual (Ident "unpackFS"))) (Paren (App (Var (UnQual (Ident "ruleName"))) (Var (UnQual (Ident "rule")))))))) (BDecls [])]])],TypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Ident "ruleAppCheck_help"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "Activation"))) (TyCon (UnQual (Ident "Bool"))))) (TyFun (TyCon (UnQual (Ident "Id"))) (TyFun (TyList (TyCon (UnQual (Ident "CoreExpr")))) (TyFun (TyList (TyCon (UnQual (Ident "CoreRule")))) (TyCon (UnQual (Ident "SDoc"))))))),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "ruleAppCheck_help") [PVar (Ident "is_active"),PVar (Ident "fn"),PVar (Ident "args"),PVar (Ident "rules")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "vcat"))) (List [InfixApp (App (Var (UnQual (Ident "text"))) (Lit (String "Expression:"))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "ppr"))) (Paren (App (App (Var (UnQual (Ident "mkApps"))) (Paren (App (Con (UnQual (Ident "Var"))) (Var (UnQual (Ident "fn")))))) (Var (UnQual (Ident "args")))))),App (Var (UnQual (Ident "vcat"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "check_rule")))) (Var (UnQual (Ident "rules")))))]))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n_args")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "length"))) (Var (UnQual (Ident "args"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "i_args")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "args"))) (QVarOp (UnQual (Ident "zip"))) (EnumFrom (ExpTypeSig (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Lit (Int 1)) (TyCon (UnQual (Ident "Int"))))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "rough_args")) Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "map"))) (Var (UnQual (Ident "roughTopName")))) (Var (UnQual (Ident "args"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "check_rule") [PVar (Ident "rule")] Nothing (UnGuardedRhs (InfixApp (InfixApp (App (Var (UnQual (Ident "rule_herald"))) (Var (UnQual (Ident "rule")))) (QVarOp (UnQual (Symbol "<>"))) (Var (UnQual (Ident "colon")))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "rule_info"))) (Var (UnQual (Ident "rule")))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rule_herald") [PParen (PRec (UnQual (Ident "BuiltinRule")) [PFieldPat (UnQual (Ident "ru_name")) (PVar (Ident "name"))])] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "ptext"))) (Paren (App (Var (UnQual (Ident "sLit"))) (Lit (String "Builtin rule"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "doubleQuotes"))) (Paren (App (Var (UnQual (Ident "ftext"))) (Var (UnQual (Ident "name")))))))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rule_herald") [PParen (PRec (UnQual (Ident "Rule")) [PFieldPat (UnQual (Ident "ru_name")) (PVar (Ident "name"))])] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "ptext"))) (Paren (App (Var (UnQual (Ident "sLit"))) (Lit (String "Rule"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "doubleQuotes"))) (Paren (App (Var (UnQual (Ident "ftext"))) (Var (UnQual (Ident "name")))))))) (BDecls [])],FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rule_info") [PVar (Ident "rule")] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PApp (UnQual (Ident "Just")) [PWildCard]) (App (App (App (App (App (Var (UnQual (Ident "matchRule"))) (Var (UnQual (Ident "noBlackList")))) (Var (UnQual (Ident "emptyInScopeSet")))) (Var (UnQual (Ident "args")))) (Var (UnQual (Ident "rough_args")))) (Var (UnQual (Ident "rule"))))] (App (Var (UnQual (Ident "text"))) (Lit (String "matches (which is very peculiar!)")))]) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rule_info") [PParen (PRec (UnQual (Ident "BuiltinRule")) [])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "text"))) (Lit (String "does not match")))) (BDecls []),Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "rule_info") [PParen (PRec (UnQual (Ident "Rule")) [PFieldPat (UnQual (Ident "ru_name")) (PVar (Ident "name")),PFieldPat (UnQual (Ident "ru_act")) (PVar (Ident "act")),PFieldPat (UnQual (Ident "ru_bndrs")) (PVar (Ident "rule_bndrs")),PFieldPat (UnQual (Ident "ru_args")) (PVar (Ident "rule_args"))])] Nothing (GuardedRhss [GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (App (Var (UnQual (Ident "not"))) (Paren (App (Var (UnQual (Ident "is_active"))) (Var (UnQual (Ident "act"))))))] (App (Var (UnQual (Ident "text"))) (Lit (String "active only in later phase"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "n_args"))) (QVarOp (UnQual (Symbol "<"))) (Var (UnQual (Ident "n_rule_args"))))] (App (Var (UnQual (Ident "text"))) (Lit (String "too few arguments"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "n_mismatches"))) (QVarOp (UnQual (Symbol "=="))) (Var (UnQual (Ident "n_rule_args"))))] (App (Var (UnQual (Ident "text"))) (Lit (String "no arguments match"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (InfixApp (Var (UnQual (Ident "n_mismatches"))) (QVarOp (UnQual (Symbol "=="))) (Lit (Int 0)))] (App (Var (UnQual (Ident "text"))) (Lit (String "all arguments match (considered individually), but rule as a whole does not"))),GuardedRhs (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) [Qualifier (Var (UnQual (Ident "otherwise")))] (InfixApp (InfixApp (App (Var (UnQual (Ident "text"))) (Lit (String "arguments"))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "ppr"))) (Var (UnQual (Ident "mismatches"))))) (QVarOp (UnQual (Symbol "<+>"))) (App (Var (UnQual (Ident "text"))) (Lit (String "do not match (1-indexing)"))))]) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n_rule_args")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "length"))) (Var (UnQual (Ident "rule_args"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "n_mismatches")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "length"))) (Var (UnQual (Ident "mismatches"))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "mismatches")) Nothing (UnGuardedRhs (ListComp (Var (UnQual (Ident "i"))) [QualStmt (Generator (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PTuple Boxed [PVar (Ident "rule_arg"),PTuple Boxed [PVar (Ident "arg"),PVar (Ident "i")]]) (InfixApp (Var (UnQual (Ident "rule_args"))) (QVarOp (UnQual (Ident "zip"))) (Var (UnQual (Ident "i_args"))))),QualStmt (Qualifier (App (Var (UnQual (Ident "not"))) (Paren (App (Var (UnQual (Ident "isJust"))) (Paren (App (App (Var (UnQual (Ident "match_fn"))) (Var (UnQual (Ident "rule_arg")))) (Var (UnQual (Ident "arg")))))))))])) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "lhs_fvs")) Nothing (UnGuardedRhs (App (Var (UnQual (Ident "exprsFreeVars"))) (Var (UnQual (Ident "rule_args"))))) (BDecls []),FunBind [Match (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (Ident "match_fn") [PVar (Ident "rule_arg"),PVar (Ident "arg")] Nothing (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "match"))) (Var (UnQual (Ident "menv")))) (Var (UnQual (Ident "emptySubstEnv")))) (Var (UnQual (Ident "rule_arg")))) (Var (UnQual (Ident "arg"))))) (BDecls [PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "in_scope")) Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "lhs_fvs"))) (QVarOp (UnQual (Ident "unionVarSet"))) (App (Var (UnQual (Ident "exprFreeVars"))) (Var (UnQual (Ident "arg")))))) (BDecls []),PatBind (SrcLoc {srcFilename = "", srcLine = -1, srcColumn = -1}) (PVar (Ident "menv")) Nothing (UnGuardedRhs (RecConstr (UnQual (Ident "ME")) [FieldUpdate (UnQual (Ident "me_env")) (App (Var (UnQual (Ident "mkRnEnv2"))) (Paren (App (Var (UnQual (Ident "mkInScopeSet"))) (Var (UnQual (Ident "in_scope")))))),FieldUpdate (UnQual (Ident "me_tmpls")) (App (Var (UnQual (Ident "mkVarSet"))) (Var (UnQual (Ident "rule_bndrs"))))])) (BDecls [])])]])]])]]-+Match
tests/examples/RealGHC.lhs.prettyprinter.golden view
@@ -1,4 +1,4 @@-{-# OPTIONS -w #-}+{-# OPTIONS -w #-} {-# LANGUAGE PatternGuards #-} module Rules (RuleBase, emptyRuleBase, mkRuleBase, extendRuleBaseList,@@ -33,7 +33,7 @@ import Bag import Util import Data.List- + mkLocalRule :: RuleName -> Activation ->@@ -42,10 +42,10 @@ = Rule{ru_name = name, ru_fn = fn, ru_act = act, ru_bndrs = bndrs, ru_args = args, ru_rhs = rhs, ru_rough = roughTopNames args, ru_local = True}- + roughTopNames :: [CoreExpr] -> [Maybe Name] roughTopNames args = map roughTopName args- + roughTopName :: CoreExpr -> Maybe Name roughTopName (Type ty) = case tcSplitTyConApp_maybe ty of@@ -56,40 +56,40 @@ | isGlobalId f = Just (idName f) | otherwise = Nothing roughTopName other = Nothing- + ruleCantMatch :: [Maybe Name] -> [Maybe Name] -> Bool ruleCantMatch (Just n1 : ts) (Just n2 : as) = n1 /= n2 || ruleCantMatch ts as ruleCantMatch (t : ts) (a : as) = ruleCantMatch ts as ruleCantMatch ts as = False- + pprRulesForUser :: [CoreRule] -> SDoc pprRulesForUser rules = withPprStyle defaultUserStyle $ pprRules $ sortLe le_rule $ tidyRules emptyTidyEnv rules where le_rule r1 r2 = ru_name r1 <= ru_name r2- + mkSpecInfo :: [CoreRule] -> SpecInfo mkSpecInfo rules = SpecInfo rules (rulesFreeVars rules)- + extendSpecInfo :: SpecInfo -> [CoreRule] -> SpecInfo extendSpecInfo (SpecInfo rs1 fvs1) rs2 = SpecInfo (rs2 ++ rs1) (rulesFreeVars rs2 `unionVarSet` fvs1)- + addSpecInfo :: SpecInfo -> SpecInfo -> SpecInfo addSpecInfo (SpecInfo rs1 fvs1) (SpecInfo rs2 fvs2) = SpecInfo (rs1 ++ rs2) (fvs1 `unionVarSet` fvs2)- + addIdSpecialisations :: Id -> [CoreRule] -> Id addIdSpecialisations id [] = id addIdSpecialisations id rules = setIdSpecialisation id $ extendSpecInfo (idSpecialisation id) rules- + rulesOfBinds :: [CoreBind] -> [CoreRule] rulesOfBinds binds = concatMap (concatMap idCoreRules . bindersOf) binds- + getRules :: RuleBase -> Id -> [CoreRule] getRules rule_base fn | isLocalId fn = idCoreRules fn@@ -100,29 +100,29 @@ idCoreRules fn ++ (lookupNameEnv rule_base (idName fn) `orElse` [])- + type RuleBase = NameEnv [CoreRule] emptyRuleBase = emptyNameEnv- + mkRuleBase :: [CoreRule] -> RuleBase mkRuleBase rules = extendRuleBaseList emptyRuleBase rules- + extendRuleBaseList :: RuleBase -> [CoreRule] -> RuleBase extendRuleBaseList rule_base new_guys = foldl extendRuleBase rule_base new_guys- + unionRuleBase :: RuleBase -> RuleBase -> RuleBase unionRuleBase rb1 rb2 = plusNameEnv_C (++) rb1 rb2- + extendRuleBase :: RuleBase -> CoreRule -> RuleBase extendRuleBase rule_base rule = extendNameEnv_Acc (:) singleton rule_base (ruleIdName rule) rule- + pprRuleBase :: RuleBase -> SDoc pprRuleBase rules = vcat [pprRules (tidyRules emptyTidyEnv rs) | rs <- nameEnvElts rules]- + lookupRule :: (Activation -> Bool) -> InScopeSet ->@@ -132,7 +132,7 @@ [] -> Nothing (m : ms) -> Just (findBest (fn, args) m ms) where rough_args = map roughTopName args- + go :: [(CoreRule, CoreExpr)] -> [CoreRule] -> [(CoreRule, CoreExpr)] go ms [] = ms@@ -140,7 +140,7 @@ = case (matchRule is_active in_scope args rough_args r) of Just e -> go ((r, e) : ms) rs Nothing -> go ms rs- + findBest :: (Id, [CoreExpr]) -> (CoreRule, CoreExpr) ->@@ -165,7 +165,7 @@ $ findBest target (rule1, ans1) prs | otherwise = findBest target (rule1, ans1) prs where (fn, args) = target- + isMoreSpecific :: CoreRule -> CoreRule -> Bool isMoreSpecific (BuiltinRule{}) r2 = True isMoreSpecific r1 (BuiltinRule{}) = False@@ -173,10 +173,10 @@ (Rule{ru_bndrs = bndrs2, ru_args = args2}) = isJust (matchN in_scope bndrs2 args2 args1) where in_scope = mkInScopeSet (mkVarSet bndrs1)- + noBlackList :: Activation -> Bool noBlackList act = False- + matchRule :: (Activation -> Bool) -> InScopeSet ->@@ -197,7 +197,7 @@ Just (binds, tpl_vals) -> Just (mkLets binds $ rule_fn `mkApps` tpl_vals) where rule_fn = occurAnalyseExpr (mkLams tpl_vars rhs)- + matchN :: InScopeSet -> [Var] -> [CoreExpr] -> [CoreExpr] -> Maybe ([CoreBind], [CoreExpr])@@ -216,7 +216,7 @@ go menv subst (t : ts) (e : es) = do subst1 <- match menv subst t e go menv subst1 ts es- + lookup_tmpl :: TvSubstEnv -> IdSubstEnv -> Var -> CoreExpr lookup_tmpl tv_subst id_subst tmpl_var' | isTyVar tmpl_var' =@@ -231,14 +231,14 @@ = pprPanic "Template variable unbound in rewrite rule" (ppr var $$ ppr tmpl_vars $$ ppr tmpl_vars' $$ ppr tmpl_es $$ ppr target_es)- + type SubstEnv = (TvSubstEnv, IdSubstEnv, OrdList CoreBind)- + type IdSubstEnv = IdEnv CoreExpr- + emptySubstEnv :: SubstEnv emptySubstEnv = (emptyVarEnv, emptyVarEnv, nilOL)- + match :: MatchEnv -> SubstEnv -> CoreExpr -> CoreExpr -> Maybe SubstEnv match menv subst (Var v1) e2@@ -288,7 +288,7 @@ = do subst1 <- match_ty menv subst co1 co2 match menv subst1 e1 e2 match menv subst e1 e2 = Nothing- + match_var :: MatchEnv -> SubstEnv -> Var -> CoreExpr -> Maybe SubstEnv match_var menv subst@(tv_subst, id_subst, binds) v1 e2@@ -308,7 +308,7 @@ other -> Nothing where rn_env = me_env menv v1' = rnOccL rn_env v1- + match_alts :: MatchEnv -> SubstEnv -> [CoreAlt] -> [CoreAlt] -> Maybe SubstEnv match_alts menv subst [] [] = return subst@@ -317,16 +317,15 @@ | c1 == c2 = do subst1 <- match menv' subst r1 r2 match_alts menv subst1 alts1 alts2- where - menv' :: MatchEnv+ where menv' :: MatchEnv menv' = menv{me_env = rnBndrs2 (me_env menv) vs1 vs2} match_alts menv subst alts1 alts2 = Nothing- + match_ty :: MatchEnv -> SubstEnv -> Type -> Type -> Maybe SubstEnv match_ty menv (tv_subst, id_subst, binds) ty1 ty2 = do tv_subst' <- Unify.ruleMatchTyX menv tv_subst ty1 ty2 return (tv_subst', id_subst, binds)- + ruleCheckProgram :: (Activation -> Bool) -> String -> RuleBase -> [CoreBind] -> SDoc ruleCheckProgram is_active rule_pat rule_base binds@@ -341,16 +340,16 @@ (map (ruleCheckBind (RuleCheckEnv is_active rule_pat rule_base)) binds) line = text (replicate 20 '-')- + data RuleCheckEnv = RuleCheckEnv{rc_is_active :: Activation -> Bool, rc_pattern :: String, rc_rule_base :: RuleBase}- + ruleCheckBind :: RuleCheckEnv -> CoreBind -> Bag SDoc ruleCheckBind env (NonRec b r) = ruleCheck env r ruleCheckBind env (Rec prs) = unionManyBags [ruleCheck env r | (b, r) <- prs]- + ruleCheck :: RuleCheckEnv -> CoreExpr -> Bag SDoc ruleCheck env (Var v) = emptyBag ruleCheck env (Lit l) = emptyBag@@ -368,7 +367,7 @@ = ruleCheck env a `unionBags` ruleCheckApp env f (a : as) ruleCheckApp env (Var f) as = ruleCheckFun env f as ruleCheckApp env other as = ruleCheck env other- + ruleCheckFun :: RuleCheckEnv -> Id -> [CoreExpr] -> Bag SDoc ruleCheckFun env fn args | null name_match_rules = emptyBag@@ -378,7 +377,7 @@ where name_match_rules = filter match (getRules (rc_rule_base env) fn) match rule = (rc_pattern env) `isPrefixOf` unpackFS (ruleName rule)- + ruleAppCheck_help :: (Activation -> Bool) -> Id -> [CoreExpr] -> [CoreRule] -> SDoc ruleAppCheck_help is_active fn args rules
tests/examples/RecordInfixSelector.hs.parser.golden view
@@ -1,1 +1,234 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) Nothing [] [] [DataDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 59}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 30, srcSpanEndLine = 1, srcSpanEndColumn = 31}]}) (DataType (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 5}, srcInfoPoints = []})) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 6, srcSpanEndLine = 1, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 6, srcSpanEndLine = 1, srcSpanEndColumn = 29}, srcInfoPoints = []}) "RecordWithInfixSelector") []) [QualConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 32, srcSpanEndLine = 1, srcSpanEndColumn = 59}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 37, srcSpanEndLine = 1, srcSpanEndColumn = 38},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 58, srcSpanEndLine = 1, srcSpanEndColumn = 59}]}) Nothing Nothing (RecDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 32, srcSpanEndLine = 1, srcSpanEndColumn = 59}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 37, srcSpanEndLine = 1, srcSpanEndColumn = 38},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 58, srcSpanEndLine = 1, srcSpanEndColumn = 59}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 32, srcSpanEndLine = 1, srcSpanEndColumn = 36}, srcInfoPoints = []}) "Cons") [FieldDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 39, srcSpanEndLine = 1, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 44, srcSpanEndLine = 1, srcSpanEndColumn = 46}]}) [Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 39, srcSpanEndLine = 1, srcSpanEndColumn = 43}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 39, srcSpanEndLine = 1, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 40, srcSpanEndLine = 1, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 42, srcSpanEndLine = 1, srcSpanEndColumn = 43}]}) "<>"] (UnBangedTy (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 47, srcSpanEndLine = 1, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 51, srcSpanEndLine = 1, srcSpanEndColumn = 53}]}) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 47, srcSpanEndLine = 1, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 51, srcSpanEndLine = 1, srcSpanEndColumn = 53}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 47, srcSpanEndLine = 1, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 47, srcSpanEndLine = 1, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 47, srcSpanEndLine = 1, srcSpanEndColumn = 50}, srcInfoPoints = []}) "Int"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 54, srcSpanEndLine = 1, srcSpanEndColumn = 57}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 54, srcSpanEndLine = 1, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 1, srcSpanStartColumn = 54, srcSpanEndLine = 1, srcSpanEndColumn = 57}, srcInfoPoints = []}) "Int")))))])] Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 30}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) "idRecord")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 10, srcSpanEndLine = 3, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 10, srcSpanEndLine = 3, srcSpanEndColumn = 11}]}) (RecConstr (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 29, srcSpanEndLine = 3, srcSpanEndColumn = 30}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) "Cons")) [FieldUpdate (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 19, srcSpanEndLine = 3, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 24, srcSpanEndLine = 3, srcSpanEndColumn = 25}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 19, srcSpanEndLine = 3, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 19, srcSpanEndLine = 3, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 22, srcSpanEndLine = 3, srcSpanEndColumn = 23}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 19, srcSpanEndLine = 3, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 19, srcSpanEndLine = 3, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 22, srcSpanEndLine = 3, srcSpanEndColumn = 23}]}) "<>")) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RecordInfixSelector.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 28}, srcInfoPoints = []}) "id")))])) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 1 1 1+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 1 1 1 1+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 1 1 1 1+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 3 1 3 1+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 4 1 4 1+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 4 1 4 1+ ]+ }+ Nothing+ []+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 1 1 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 30 1 31 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 1 1 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 6 1 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 6 1 29+ , srcInfoPoints = []+ }+ "RecordWithInfixSelector"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 32 1 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 37 1 38+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 1 58 1 59+ ]+ }+ Nothing+ Nothing+ (RecDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 32 1 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 37 1 38+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 1 58 1 59+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 32 1 36+ , srcInfoPoints = []+ }+ "Cons")+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 39 1 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 44 1 46 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 39 1 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 39 1 40+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 1 40 1 42+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 1 42 1 43+ ]+ }+ "<>"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 47 1 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 51 1 53 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 47 1 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 47 1 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 47 1 50+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 54 1 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 54 1 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 1 54 1 57+ , srcInfoPoints = []+ }+ "Int"))))+ ])+ ]+ []+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 1 3 30+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 1 3 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 1 3 9+ , srcInfoPoints = []+ }+ "idRecord"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 10 3 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 10 3 11 ]+ }+ (RecConstr+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 12 3 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 17 3 18+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 3 29 3 30+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 12 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 12 3 16+ , srcInfoPoints = []+ }+ "Cons"))+ [ FieldUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 19 3 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 24 3 25 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 19 3 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 19 3 20+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 3 20 3 22+ , SrcSpan "tests/examples/RecordInfixSelector.hs" 3 22 3 23+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 20 3 22+ , srcInfoPoints = []+ }+ "<>"))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 26 3 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 26 3 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordInfixSelector.hs" 3 26 3 28+ , srcInfoPoints = []+ }+ "id")))+ ]))+ Nothing+ ]+ , []+ )
tests/examples/RecordInfixSelector.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- data RecordWithInfixSelector = Cons{(<>) :: Int -> Int} idRecord = Cons{(<>) = id}
+ tests/examples/RecordPatternSynonyms.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE PatternSynonyms #-}+module ShouldCompile where++pattern Single{x} = [x]++pattern Double{y,z} = (y,z)++pattern More{x} <- (x,_) where+ More x = (x, Nothing)++-- Selector+selector :: Int+selector = x [5]++update :: [String]+update = ["String"] { x = "updated" }
+ tests/examples/RecordPatternSynonyms.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RecordPatternSynonyms.hs.parser.golden view
@@ -0,0 +1,688 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 17 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 17 1 17 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 17 1 17 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 7+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "ShouldCompile")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 13+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ []+ [ PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 8+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 19 4 20+ ]+ }+ (PRec+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 15 4 16+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 17 4 18+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PFieldPun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ "x"))+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 21 4 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 21 4 22+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 23 4 24+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ "x")+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 8+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 21 6 22+ ]+ }+ (PRec+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 15 6 16+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 17 6 18+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 19 6 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 15+ , srcInfoPoints = []+ }+ "Double"))+ [ PFieldPun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ "y"))+ , PFieldPun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ "z"))+ ])+ (PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 23 6 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 23 6 24+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 25 6 26+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 27 6 28+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 24 6 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 24 6 25+ , srcInfoPoints = []+ }+ "y")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ "z")+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 8+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 17 8 19+ ]+ }+ (PRec+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 13 8 14+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 15 8 16+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 13+ , srcInfoPoints = []+ }+ "More"))+ [ PFieldPun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ "x"))+ ])+ (PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 20 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 20 8 21+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 22 8 23+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 24 8 25+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ "x")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 23 8 24+ , srcInfoPoints = []+ }+ ])+ (ExplicitBidirectional+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 26 12 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 26 8 31+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 3+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 24+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 7+ , srcInfoPoints = []+ }+ "More"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 8 9 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 8 9 9+ , srcInfoPoints = []+ }+ "x")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 10 9 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 10 9 11 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 12 9 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 12 9 13+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 14 9 15+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 23 9 24+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14+ , srcInfoPoints = []+ }+ "x"))+ , Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23+ , srcInfoPoints = []+ }+ "Nothing"))+ ]))+ Nothing+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 10 12 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 9+ , srcInfoPoints = []+ }+ "selector"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16+ , srcInfoPoints = []+ }+ "Int")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 9+ , srcInfoPoints = []+ }+ "selector"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 10 13 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 10 13 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13+ , srcInfoPoints = []+ }+ "x")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 14 13 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 14 13 15+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 16 13 17+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 15 13 16+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 15 13 16+ , srcInfoPoints = []+ }+ 5+ "5")+ ])))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 8 15 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 7+ , srcInfoPoints = []+ }+ "update"+ ]+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 11 15 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 11 15 12+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 18 15 19+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18+ , srcInfoPoints = []+ }+ "String"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 38+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 7+ , srcInfoPoints = []+ }+ "update"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 8 16 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 8 16 9 ]+ }+ (RecUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 21 16 22+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 37 16 38+ ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 11+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 19 16 20+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 11 16 19+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 11 16 19+ , srcInfoPoints = []+ }+ "String"+ "String")+ ])+ [ FieldUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 25 16 26 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 24+ , srcInfoPoints = []+ }+ "x"))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 27 16 36+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 27 16 36+ , srcInfoPoints = []+ }+ "updated"+ "updated"))+ ]))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/RecordPatternSynonyms.hs" 11 1 11 12)+ " Selector"+ ]+ )
+ tests/examples/RecordPatternSynonyms.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RecordPatternSynonyms.hs.prettyprinter.golden view
@@ -0,0 +1,15 @@+{-# LANGUAGE PatternSynonyms #-}+module ShouldCompile where++pattern Single{x} = [x]++pattern Double{y, z} = (y, z)++pattern More{x} <- (x, _)+ where More x = (x, Nothing)++selector :: Int+selector = x [5]++update :: [String]+update = ["String"]{x = "updated"}
tests/examples/RecordPuns.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE NamedFieldPuns #-} module RecordPuns where cotile = tile {Kind.ospeedup}
tests/examples/RecordPuns.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/RecordPuns.hs", srcLine = 3, srcColumn = 29}) "NamedFieldPuns is not enabled"+Match
tests/examples/RecordPuns.hs.parser.golden view
@@ -1,1 +1,120 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/RecordPuns.hs", srcLine = 3, srcColumn = 29}) "NamedFieldPuns is not enabled"+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPuns.hs" 1 1 1 1+ , SrcSpan "tests/examples/RecordPuns.hs" 2 1 2 1+ , SrcSpan "tests/examples/RecordPuns.hs" 2 1 2 1+ , SrcSpan "tests/examples/RecordPuns.hs" 4 1 4 1+ , SrcSpan "tests/examples/RecordPuns.hs" 5 1 5 1+ , SrcSpan "tests/examples/RecordPuns.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 2 1 2 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPuns.hs" 2 1 2 7+ , SrcSpan "tests/examples/RecordPuns.hs" 2 19 2 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 2 8 2 18+ , srcInfoPoints = []+ }+ "RecordPuns")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPuns.hs" 1 1 1 13+ , SrcSpan "tests/examples/RecordPuns.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "NamedFieldPuns"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 1 4 30+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 1 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 1 4 7+ , srcInfoPoints = []+ }+ "cotile"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 8 4 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPuns.hs" 4 8 4 9 ]+ }+ (RecUpdate+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 10 4 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPuns.hs" 4 15 4 16+ , SrcSpan "tests/examples/RecordPuns.hs" 4 29 4 30+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 10 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 10 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 10 4 14+ , srcInfoPoints = []+ }+ "tile")))+ [ FieldPun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 16 4 29+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 16 4 29+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 16 4 29+ , srcInfoPoints = []+ }+ "Kind")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecordPuns.hs" 4 16 4 29+ , srcInfoPoints = []+ }+ "ospeedup"))+ ]))+ Nothing+ ]+ , []+ )
tests/examples/RecordPuns.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/RecordPuns.hs", srcLine = 3, srcColumn = 29}) "NamedFieldPuns is not enabled"+Match
tests/examples/RecordPuns.hs.prettyprinter.golden view
@@ -1,1 +1,3 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/RecordPuns.hs", srcLine = 3, srcColumn = 29}) "NamedFieldPuns is not enabled"+{-# LANGUAGE NamedFieldPuns #-}+module RecordPuns where+cotile = tile{Kind.ospeedup}
+ tests/examples/RecordWildcard.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE RecordWildCards #-}+-- Should fail.+f A { .., b = v, .. } = v+
+ tests/examples/RecordWildcard.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/RecordWildcard.hs" 3 9) "Parse error: ,"
+ tests/examples/RecordWildcard.hs.parser.golden view
@@ -0,0 +1,2 @@+ParseFailed+ (SrcLoc "tests/examples/RecordWildcard.hs" 3 9) "Parse error: ,"
+ tests/examples/RecordWildcard.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/RecordWildcard.hs" 3 9) "Parse error: ,"
+ tests/examples/RecordWildcard.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/RecordWildcard.hs" 3 9) "Parse error: ,"
+ tests/examples/RecordWildcardError.hs view
@@ -0,0 +1,1 @@+foo Record{..} = xs
+ tests/examples/RecordWildcardError.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/RecordWildcardError.hs" 1 12) "RecordWildCards language extension is not enabled. Please add {-# LANGUAGE RecordWildCards #-} pragma at the top of your module."
+ tests/examples/RecordWildcardError.hs.parser.golden view
@@ -0,0 +1,3 @@+ParseFailed+ (SrcLoc "tests/examples/RecordWildcardError.hs" 1 12)+ "RecordWildCards language extension is not enabled. Please add {-# LANGUAGE RecordWildCards #-} pragma at the top of your module."
+ tests/examples/RecordWildcardError.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/RecordWildcardError.hs" 1 12) "RecordWildCards language extension is not enabled. Please add {-# LANGUAGE RecordWildCards #-} pragma at the top of your module."
+ tests/examples/RecordWildcardError.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/RecordWildcardError.hs" 1 12) "RecordWildCards language extension is not enabled. Please add {-# LANGUAGE RecordWildCards #-} pragma at the top of your module."
+ tests/examples/RecursiveDo.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE RecursiveDo #-}+justOnes = do+ rec xs <- Just (1:xs)+ return (map negate xs)+
+ tests/examples/RecursiveDo.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RecursiveDo.hs.parser.golden view
@@ -0,0 +1,281 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecursiveDo.hs" 1 1 1 1+ , SrcSpan "tests/examples/RecursiveDo.hs" 2 1 2 1+ , SrcSpan "tests/examples/RecursiveDo.hs" 2 1 2 1+ , SrcSpan "tests/examples/RecursiveDo.hs" 2 1 2 1+ , SrcSpan "tests/examples/RecursiveDo.hs" 6 1 6 1+ , SrcSpan "tests/examples/RecursiveDo.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecursiveDo.hs" 1 1 1 13+ , SrcSpan "tests/examples/RecursiveDo.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "RecursiveDo"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 2 1 4 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 2 1 2 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 2 1 2 9+ , srcInfoPoints = []+ }+ "justOnes"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 2 10 4 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecursiveDo.hs" 2 10 2 11 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 2 12 4 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecursiveDo.hs" 2 12 2 14+ , SrcSpan "tests/examples/RecursiveDo.hs" 3 5 3 5+ , SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 5+ , SrcSpan "tests/examples/RecursiveDo.hs" 6 1 6 0+ ]+ }+ [ RecStmt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 5 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecursiveDo.hs" 3 5 3 8+ , SrcSpan "tests/examples/RecursiveDo.hs" 3 9 3 9+ , SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 9 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecursiveDo.hs" 3 12 3 14 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ "xs"))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 15 3 26+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 15 3 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 15 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 3 15 3 19+ , srcInfoPoints = []+ }+ "Just")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 20 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecursiveDo.hs" 3 20 3 21+ , SrcSpan "tests/examples/RecursiveDo.hs" 3 25 3 26+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 21 3 25+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ 1+ "1"))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 3 22 3 23+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 3 22 3 23+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 3 22 3 23+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 3 23 3 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 3 23 3 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 3 23 3 25+ , srcInfoPoints = []+ }+ "xs"))))))+ ]+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 11+ , srcInfoPoints = []+ }+ "return")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 12 4 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecursiveDo.hs" 4 12 4 13+ , SrcSpan "tests/examples/RecursiveDo.hs" 4 26 4 27+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 13 4 26+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 13 4 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 4 13 4 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 4 13 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 4 13 4 16+ , srcInfoPoints = []+ }+ "map")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 4 17 4 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 4 17 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 4 17 4 23+ , srcInfoPoints = []+ }+ "negate"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 24 4 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 4 24 4 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecursiveDo.hs" 4 24 4 26+ , srcInfoPoints = []+ }+ "xs"))))))+ ]))+ Nothing+ ]+ , []+ )
+ tests/examples/RecursiveDo.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RecursiveDo.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE RecursiveDo #-}+justOnes+ = do rec xs <- Just (1 : xs)+ return (map negate xs)
+ tests/examples/RegularPatterns.hs view
@@ -0,0 +1,9 @@+{-# OPTIONS_GHC -F -pgmFhsx2hs #-}+{-# LANGUAGE RegularPatterns #-}+module RegularPatterns where++f :: [Int] -> [[Int]]+f [ 0+!, b+, 1?, (| 2,3 |) ] = [b]+f [ 1+, (| x | x `mod` 2 == 0 |) ] = [[x]]+f [ 2, a@(| b@:_, _ |)* ] = b:a+f _ = []
+ tests/examples/RegularPatterns.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RegularPatterns.hs.parser.golden view
@@ -0,0 +1,851 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 1 1 10 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 1 1 1 1+ , SrcSpan "tests/examples/RegularPatterns.hs" 2 1 2 1+ , SrcSpan "tests/examples/RegularPatterns.hs" 3 1 3 1+ , SrcSpan "tests/examples/RegularPatterns.hs" 3 1 3 1+ , SrcSpan "tests/examples/RegularPatterns.hs" 5 1 5 1+ , SrcSpan "tests/examples/RegularPatterns.hs" 6 1 6 1+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 1 7 1+ , SrcSpan "tests/examples/RegularPatterns.hs" 8 1 8 1+ , SrcSpan "tests/examples/RegularPatterns.hs" 9 1 9 1+ , SrcSpan "tests/examples/RegularPatterns.hs" 10 1 10 1+ , SrcSpan "tests/examples/RegularPatterns.hs" 10 1 10 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 3 1 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 3 1 3 7+ , SrcSpan "tests/examples/RegularPatterns.hs" 3 24 3 29+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 3 8 3 23+ , srcInfoPoints = []+ }+ "RegularPatterns")+ Nothing+ Nothing))+ [ OptionsPragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 1 1 1 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 1 1 1 32+ , SrcSpan "tests/examples/RegularPatterns.hs" 1 32 1 35+ ]+ }+ (Just GHC)+ "-F -pgmFhsx2hs "+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 2 1 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 2 1 2 13+ , SrcSpan "tests/examples/RegularPatterns.hs" 2 30 2 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 2 14 2 29+ , srcInfoPoints = []+ }+ "RegularPatterns"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 1 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 5 3 5 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 6 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 5 12 5 14 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 6 5 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 5 6 5 7+ , SrcSpan "tests/examples/RegularPatterns.hs" 5 10 5 11+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 7 5 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 7 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 7 5 10+ , srcInfoPoints = []+ }+ "Int"))))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 15 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 5 15 5 16+ , SrcSpan "tests/examples/RegularPatterns.hs" 5 21 5 22+ ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 16 5 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 5 16 5 17+ , SrcSpan "tests/examples/RegularPatterns.hs" 5 20 5 21+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ "Int"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 6 1 9 9+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 1 6 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 6 1 6 2+ , srcInfoPoints = []+ }+ "f")+ [ PRPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 3 6 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 6 3 6 4+ , SrcSpan "tests/examples/RegularPatterns.hs" 6 8 6 9+ , SrcSpan "tests/examples/RegularPatterns.hs" 6 12 6 13+ , SrcSpan "tests/examples/RegularPatterns.hs" 6 16 6 17+ , SrcSpan "tests/examples/RegularPatterns.hs" 6 28 6 29+ ]+ }+ [ RPOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 6 5 6 8+ , srcInfoPoints = []+ }+ (RPPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 6 5 6 6+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 6 5 6 6+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 6 5 6 6+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 6 5 6 6+ , srcInfoPoints = []+ }+ 0+ "0")))+ (RPPlusG+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 6 6 6 8+ , srcInfoPoints = []+ })+ , RPOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 10 6 12+ , srcInfoPoints = []+ }+ (RPPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 10 6 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 10 6 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 10 6 11+ , srcInfoPoints = []+ }+ "b")))+ (RPPlus+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 11 6 12+ , srcInfoPoints = []+ })+ , RPOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 14 6 16+ , srcInfoPoints = []+ }+ (RPPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 14 6 15+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ 1+ "1")))+ (RPOpt+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 15 6 16+ , srcInfoPoints = []+ })+ , RPSeq+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 18 6 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 6 18 6 20+ , SrcSpan "tests/examples/RegularPatterns.hs" 6 22 6 23+ , SrcSpan "tests/examples/RegularPatterns.hs" 6 25 6 27+ ]+ }+ [ RPPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 21 6 22+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ 2+ "2"))+ , RPPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 23 6 24+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ 3+ "3"))+ ]+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 30 6 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 6 30 6 31 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 32 6 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 6 32 6 33+ , SrcSpan "tests/examples/RegularPatterns.hs" 6 34 6 35+ ]+ }+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 33 6 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 33 6 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 6 33 6 34+ , srcInfoPoints = []+ }+ "b"))+ ]))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 1 7 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 7 1 7 2+ , srcInfoPoints = []+ }+ "f")+ [ PRPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 3 7 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 7 3 7 4+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 7 7 8+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 34 7 35+ ]+ }+ [ RPOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 7 5 7 7+ , srcInfoPoints = []+ }+ (RPPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 7 5 7 6+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 7 5 7 6+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 7 5 7 6+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 7 5 7 6+ , srcInfoPoints = []+ }+ 1+ "1")))+ (RPPlus+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 7 6 7 7+ , srcInfoPoints = []+ })+ , RPGuard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 9 7 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 7 9 7 11+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 14 7 15+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 31 7 33+ ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 12 7 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 12 7 13+ , srcInfoPoints = []+ }+ "x"))+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 16 7 30+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 16 7 30+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 16 7 25+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 18 7 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 7 18 7 19+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 19 7 22+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 22 7 23+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 18 7 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 7 18 7 19+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 19 7 22+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 22 7 23+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ "mod")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 24 7 25+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 24 7 25+ , srcInfoPoints = []+ }+ 2+ "2")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 26 7 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 26 7 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 26 7 28+ , srcInfoPoints = []+ }+ "==")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 29 7 30+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 29 7 30+ , srcInfoPoints = []+ }+ 0+ "0")))+ ]+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 36 7 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 7 36 7 37 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 38 7 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 7 38 7 39+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 42 7 43+ ]+ }+ [ List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 39 7 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 7 39 7 40+ , SrcSpan "tests/examples/RegularPatterns.hs" 7 41 7 42+ ]+ }+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 40 7 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 40 7 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 7 40 7 41+ , srcInfoPoints = []+ }+ "x"))+ ]+ ]))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 1 8 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 8 1 8 2+ , srcInfoPoints = []+ }+ "f")+ [ PRPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 3 8 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 8 3 8 4+ , SrcSpan "tests/examples/RegularPatterns.hs" 8 6 8 7+ , SrcSpan "tests/examples/RegularPatterns.hs" 8 25 8 26+ ]+ }+ [ RPPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 8 5 8 6+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 8 5 8 6+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 8 5 8 6+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 8 5 8 6+ , srcInfoPoints = []+ }+ 2+ "2"))+ , RPAs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 8 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 8 9 8 10 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 8 8 8 9+ , srcInfoPoints = []+ }+ "a")+ (RPOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 8 8 24+ , srcInfoPoints = []+ }+ (RPSeq+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 10 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 8 10 8 12+ , SrcSpan "tests/examples/RegularPatterns.hs" 8 17 8 18+ , SrcSpan "tests/examples/RegularPatterns.hs" 8 21 8 23+ ]+ }+ [ RPCAs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 13 8 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 8 14 8 16 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 13 8 14+ , srcInfoPoints = []+ }+ "b")+ (RPPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 16 8 17+ , srcInfoPoints = []+ }))+ , RPPat+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 19 8 20+ , srcInfoPoints = []+ })+ ])+ (RPStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 23 8 24+ , srcInfoPoints = []+ }))+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 27 8 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 8 27 8 28 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 29 8 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 29 8 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 29 8 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 29 8 30+ , srcInfoPoints = []+ }+ "b")))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 30 8 31+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 30 8 31+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 30 8 31+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 31 8 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 31 8 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RegularPatterns.hs" 8 31 8 32+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 9 1 9 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 9 1 9 2+ , srcInfoPoints = []+ }+ "f")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 9 3 9 4+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 9 5 9 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 9 5 9 6 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RegularPatterns.hs" 9 7 9 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RegularPatterns.hs" 9 7 9 8+ , SrcSpan "tests/examples/RegularPatterns.hs" 9 8 9 9+ ]+ }+ []))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/RegularPatterns.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RegularPatterns.hs.prettyprinter.golden view
@@ -0,0 +1,9 @@+{-# OPTIONS_GHC -F -pgmFhsx2hs #-}+{-# LANGUAGE RegularPatterns #-}+module RegularPatterns where++f :: [Int] -> [[Int]]+f [0+!, b+, 1?, (| 2, 3 |)] = [b]+f [1+, (| x | x `mod` 2 == 0 |)] = [[x]]+f [2, a@(| b@:_, _ |)*] = b : a+f _ = []
tests/examples/RelaxedDo.hs.parser.golden view
@@ -1,1 +1,878 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 2, srcSpanStartColumn = 13, srcSpanEndLine = 2, srcSpanEndColumn = 18}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 12}, srcInfoPoints = []}) "Main") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 1, srcSpanStartColumn = 39, srcSpanEndLine = 1, srcSpanEndColumn = 42}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 38}, srcInfoPoints = []}) "NondecreasingIndentation"]] [ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Control.Monad", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 6, srcSpanEndLine = 6, srcSpanEndColumn = 8}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main"] (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 14}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 14}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 14}]}))))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 7, srcSpanStartColumn = 6, srcSpanEndLine = 12, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 7, srcSpanStartColumn = 6, srcSpanEndLine = 7, srcSpanEndColumn = 7}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 7, srcSpanStartColumn = 8, srcSpanEndLine = 12, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 7, srcSpanStartColumn = 8, srcSpanEndLine = 7, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 12, srcSpanEndColumn = 0}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 12, srcSpanEndColumn = 0}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 7}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 7}, srcInfoPoints = []}) "when"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 8, srcSpanEndLine = 8, srcSpanEndColumn = 16}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 8, srcSpanEndLine = 8, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 15, srcSpanEndLine = 8, srcSpanEndColumn = 16}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 10, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 10, srcSpanEndLine = 8, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 10, srcSpanEndLine = 8, srcSpanEndColumn = 11}, srcInfoPoints = []}) 2 "2")) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 12, srcSpanEndLine = 8, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 12, srcSpanEndLine = 8, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 12, srcSpanEndLine = 8, srcSpanEndColumn = 13}, srcInfoPoints = []}) ">"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 14, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 14, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = []}) 1 "1"))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 17, srcSpanEndLine = 8, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 17, srcSpanEndLine = 8, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 17, srcSpanEndLine = 8, srcSpanEndColumn = 18}, srcInfoPoints = []}) "$"))) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 19, srcSpanEndLine = 12, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 8, srcSpanStartColumn = 19, srcSpanEndLine = 8, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 0}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 15}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 11}, srcInfoPoints = []}) "putStrLn"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 9, srcSpanStartColumn = 12, srcSpanEndLine = 9, srcSpanEndColumn = 15}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 9, srcSpanStartColumn = 12, srcSpanEndLine = 9, srcSpanEndColumn = 15}, srcInfoPoints = []}) "a" "a"))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 15}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 11}, srcInfoPoints = []}) "putStrLn"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 15}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 10, srcSpanStartColumn = 12, srcSpanEndLine = 10, srcSpanEndColumn = 15}, srcInfoPoints = []}) "b" "b")))]))])) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 14, srcSpanEndColumn = 58}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 15}, srcInfoPoints = []}) "nestedDoBlocks")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 16, srcSpanEndLine = 14, srcSpanEndColumn = 58}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 16, srcSpanEndLine = 12, srcSpanEndColumn = 17}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 18, srcSpanEndLine = 14, srcSpanEndColumn = 58}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 18, srcSpanEndLine = 12, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 18, srcSpanEndLine = 12, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 18, srcSpanEndLine = 12, srcSpanEndColumn = 25}, srcInfoPoints = []}) "getChar"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 26, srcSpanEndLine = 12, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 26, srcSpanEndLine = 12, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 26, srcSpanEndLine = 12, srcSpanEndColumn = 29}, srcInfoPoints = []}) ">>="))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 30, srcSpanEndLine = 14, srcSpanEndColumn = 58}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 30, srcSpanEndLine = 12, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 57, srcSpanEndLine = 14, srcSpanEndColumn = 58}]}) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 31, srcSpanEndLine = 14, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 31, srcSpanEndLine = 12, srcSpanEndColumn = 32},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 35, srcSpanEndLine = 12, srcSpanEndColumn = 37}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 32, srcSpanEndLine = 12, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 32, srcSpanEndLine = 12, srcSpanEndColumn = 34}, srcInfoPoints = []}) "c1")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 38, srcSpanEndLine = 14, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 12, srcSpanStartColumn = 38, srcSpanEndLine = 12, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 18, srcSpanEndLine = 13, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 57, srcSpanEndLine = 14, srcSpanEndColumn = 57}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 18, srcSpanEndLine = 14, srcSpanEndColumn = 57}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 18, srcSpanEndLine = 14, srcSpanEndColumn = 57}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 18, srcSpanEndLine = 13, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 18, srcSpanEndLine = 13, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 18, srcSpanEndLine = 13, srcSpanEndColumn = 25}, srcInfoPoints = []}) "getChar"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 26, srcSpanEndLine = 13, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 26, srcSpanEndLine = 13, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 26, srcSpanEndLine = 13, srcSpanEndColumn = 29}, srcInfoPoints = []}) ">>="))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 30, srcSpanEndLine = 14, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 30, srcSpanEndLine = 13, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 56, srcSpanEndLine = 14, srcSpanEndColumn = 57}]}) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 31, srcSpanEndLine = 14, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 31, srcSpanEndLine = 13, srcSpanEndColumn = 32},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 35, srcSpanEndLine = 13, srcSpanEndColumn = 37}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 32, srcSpanEndLine = 13, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 32, srcSpanEndLine = 13, srcSpanEndColumn = 34}, srcInfoPoints = []}) "c2")] (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 38, srcSpanEndLine = 14, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 13, srcSpanStartColumn = 38, srcSpanEndLine = 13, srcSpanEndColumn = 40},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 18, srcSpanEndLine = 14, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 18, srcSpanEndLine = 14, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 56, srcSpanEndLine = 14, srcSpanEndColumn = 56}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 18, srcSpanEndLine = 14, srcSpanEndColumn = 56}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 18, srcSpanEndLine = 14, srcSpanEndColumn = 56}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 18, srcSpanEndLine = 14, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 18, srcSpanEndLine = 14, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 18, srcSpanEndLine = 14, srcSpanEndColumn = 25}, srcInfoPoints = []}) "getChar"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 26, srcSpanEndLine = 14, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 26, srcSpanEndLine = 14, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 26, srcSpanEndLine = 14, srcSpanEndColumn = 29}, srcInfoPoints = []}) ">>="))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 30, srcSpanEndLine = 14, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 30, srcSpanEndLine = 14, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 55, srcSpanEndLine = 14, srcSpanEndColumn = 56}]}) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 31, srcSpanEndLine = 14, srcSpanEndColumn = 55}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 31, srcSpanEndLine = 14, srcSpanEndColumn = 32},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 35, srcSpanEndLine = 14, srcSpanEndColumn = 37}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 32, srcSpanEndLine = 14, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 32, srcSpanEndLine = 14, srcSpanEndColumn = 34}, srcInfoPoints = []}) "c3")] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 38, srcSpanEndLine = 14, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 38, srcSpanEndLine = 14, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 38, srcSpanEndLine = 14, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 38, srcSpanEndLine = 14, srcSpanEndColumn = 44}, srcInfoPoints = []}) "return"))) (List (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 45, srcSpanEndLine = 14, srcSpanEndColumn = 55}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 45, srcSpanEndLine = 14, srcSpanEndColumn = 46},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 48, srcSpanEndLine = 14, srcSpanEndColumn = 49},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 51, srcSpanEndLine = 14, srcSpanEndColumn = 52},SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 54, srcSpanEndLine = 14, srcSpanEndColumn = 55}]}) [Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 46, srcSpanEndLine = 14, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 46, srcSpanEndLine = 14, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 46, srcSpanEndLine = 14, srcSpanEndColumn = 48}, srcInfoPoints = []}) "c1")),Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 49, srcSpanEndLine = 14, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 49, srcSpanEndLine = 14, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 49, srcSpanEndLine = 14, srcSpanEndColumn = 51}, srcInfoPoints = []}) "c2")),Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 52, srcSpanEndLine = 14, srcSpanEndColumn = 54}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 52, srcSpanEndLine = 14, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/RelaxedDo.hs", srcSpanStartLine = 14, srcSpanStartColumn = 52, srcSpanEndLine = 14, srcSpanEndColumn = 54}, srcInfoPoints = []}) "c3"))])))))]))))]))))) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 1 1 15 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 1 1 1 1+ , SrcSpan "tests/examples/RelaxedDo.hs" 2 1 2 1+ , SrcSpan "tests/examples/RelaxedDo.hs" 2 1 2 1+ , SrcSpan "tests/examples/RelaxedDo.hs" 4 1 4 1+ , SrcSpan "tests/examples/RelaxedDo.hs" 6 1 6 1+ , SrcSpan "tests/examples/RelaxedDo.hs" 7 1 7 1+ , SrcSpan "tests/examples/RelaxedDo.hs" 12 1 12 1+ , SrcSpan "tests/examples/RelaxedDo.hs" 15 1 15 1+ , SrcSpan "tests/examples/RelaxedDo.hs" 15 1 15 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 2 1 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 2 1 2 7+ , SrcSpan "tests/examples/RelaxedDo.hs" 2 13 2 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 2 8 2 12+ , srcInfoPoints = []+ }+ "Main")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 1 1 1 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 1 1 1 13+ , SrcSpan "tests/examples/RelaxedDo.hs" 1 39 1 42+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 1 14 1 38+ , srcInfoPoints = []+ }+ "NondecreasingIndentation"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 4 1 4 21+ , srcInfoPoints = [ SrcSpan "tests/examples/RelaxedDo.hs" 4 1 4 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 4 8 4 21+ , srcInfoPoints = []+ }+ "Control.Monad"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 6 1 6 14+ , srcInfoPoints = [ SrcSpan "tests/examples/RelaxedDo.hs" 6 6 6 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "main"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 6 9 6 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 6 12 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 6 12 6 13+ , SrcSpan "tests/examples/RelaxedDo.hs" 6 13 6 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 6 12 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 6 12 6 13+ , SrcSpan "tests/examples/RelaxedDo.hs" 6 13 6 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 6 12 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 6 12 6 13+ , SrcSpan "tests/examples/RelaxedDo.hs" 6 13 6 14+ ]+ }))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 7 1 10 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 7 6 10 15+ , srcInfoPoints = [ SrcSpan "tests/examples/RelaxedDo.hs" 7 6 7 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 7 8 10 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 7 8 7 10+ , SrcSpan "tests/examples/RelaxedDo.hs" 8 3 8 3+ , SrcSpan "tests/examples/RelaxedDo.hs" 12 1 12 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 3 10 15+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 3 10 15+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 3 8 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 3 8 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 3 8 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 3 8 7+ , srcInfoPoints = []+ }+ "when")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 8 8 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 8 8 8 9+ , SrcSpan "tests/examples/RelaxedDo.hs" 8 15 8 16+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 10 8 15+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 10 8 11+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 8 10 8 11+ , srcInfoPoints = []+ }+ 2+ "2"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 12 8 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 8 12 8 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 8 12 8 13+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ 1+ "1")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 17 8 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 17 8 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 17 8 18+ , srcInfoPoints = []+ }+ "$")))+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 8 19 10 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 8 19 8 21+ , SrcSpan "tests/examples/RelaxedDo.hs" 9 3 9 3+ , SrcSpan "tests/examples/RelaxedDo.hs" 9 3 9 3+ , SrcSpan "tests/examples/RelaxedDo.hs" 10 3 10 3+ , SrcSpan "tests/examples/RelaxedDo.hs" 12 1 12 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 9 3 9 15+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 9 3 9 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 9 3 9 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 9 3 9 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 9 3 9 11+ , srcInfoPoints = []+ }+ "putStrLn")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 9 12 9 15+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 9 12 9 15+ , srcInfoPoints = []+ }+ "a"+ "a")))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 10 3 10 15+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 10 3 10 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 10 3 10 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 10 3 10 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 10 3 10 11+ , srcInfoPoints = []+ }+ "putStrLn")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 10 12 10 15+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 10 12 10 15+ , srcInfoPoints = []+ }+ "b"+ "b")))+ ]))+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 1 14 58+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 1 12 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 1 12 15+ , srcInfoPoints = []+ }+ "nestedDoBlocks"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 16 14 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 12 16 12 17 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 18 14 58+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 18 12 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 18 12 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 18 12 25+ , srcInfoPoints = []+ }+ "getChar")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 26 12 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 26 12 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 26 12 29+ , srcInfoPoints = []+ }+ ">>=")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 30 14 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 12 30 12 31+ , SrcSpan "tests/examples/RelaxedDo.hs" 14 57 14 58+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 31 14 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 12 31 12 32+ , SrcSpan "tests/examples/RelaxedDo.hs" 12 35 12 37+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 32 12 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 32 12 34+ , srcInfoPoints = []+ }+ "c1")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 12 38 14 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 12 38 12 40+ , SrcSpan "tests/examples/RelaxedDo.hs" 13 18 13 18+ , SrcSpan "tests/examples/RelaxedDo.hs" 14 57 14 57+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 13 18 14 57+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RelaxedDo.hs" 13 18 14 57+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 18 13 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 18 13 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 18 13 25+ , srcInfoPoints = []+ }+ "getChar")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 26 13 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 26 13 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 26 13 29+ , srcInfoPoints = []+ }+ ">>=")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 30 14 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 13 30 13 31+ , SrcSpan "tests/examples/RelaxedDo.hs" 14 56 14 57+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 31 14 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 13 31 13 32+ , SrcSpan "tests/examples/RelaxedDo.hs" 13 35 13 37+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 32 13 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 32 13 34+ , srcInfoPoints = []+ }+ "c2")+ ]+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 13 38 14 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RelaxedDo.hs" 13 38 13 40+ , SrcSpan "tests/examples/RelaxedDo.hs" 14 18 14 18+ , SrcSpan "tests/examples/RelaxedDo.hs" 14 18 14 18+ , SrcSpan "tests/examples/RelaxedDo.hs" 14 56 14 56+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RelaxedDo.hs" 14 18 14 56+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs" 14 18 14 56+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs" 14 18 14 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 18+ 14+ 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 18+ 14+ 25+ , srcInfoPoints = []+ }+ "getChar")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs" 14 26 14 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 26+ 14+ 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 26+ 14+ 29+ , srcInfoPoints = []+ }+ ">>=")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs" 14 30 14 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 30+ 14+ 31+ , SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 55+ 14+ 56+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 31+ 14+ 55+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 31+ 14+ 32+ , SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 35+ 14+ 37+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 32+ 14+ 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 32+ 14+ 34+ , srcInfoPoints = []+ }+ "c3")+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 38+ 14+ 55+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 38+ 14+ 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 38+ 14+ 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 38+ 14+ 44+ , srcInfoPoints = []+ }+ "return")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 45+ 14+ 55+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 45+ 14+ 46+ , SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 48+ 14+ 49+ , SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 51+ 14+ 52+ , SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 54+ 14+ 55+ ]+ }+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 46+ 14+ 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 46+ 14+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 46+ 14+ 48+ , srcInfoPoints = []+ }+ "c1"))+ , Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 49+ 14+ 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 49+ 14+ 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 49+ 14+ 51+ , srcInfoPoints = []+ }+ "c2"))+ , Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 52+ 14+ 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 52+ 14+ 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RelaxedDo.hs"+ 14+ 52+ 14+ 54+ , srcInfoPoints = []+ }+ "c3"))+ ])))))+ ]))))+ ])))))+ Nothing+ ]+ , []+ )
tests/examples/RelaxedDo.hs.prettyprinter.golden view
@@ -1,7 +1,7 @@ {-# LANGUAGE NondecreasingIndentation #-} module Main where import Control.Monad- + main :: IO () main = do when (2 > 1) $
+ tests/examples/RoleAnnotations.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE RoleAnnotations, PolyKinds, KindSignatures #-}++module Roles where++data T1 a = K1 a+data T2 a = K2 a++data T5 a = K5 a+data T6 a = K6+data T7 a b = K7 b++type role T1 nominal+type role T2 representational+type role T3 phantom+type role T4 nominal _+type role T5 _
+ tests/examples/RoleAnnotations.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RoleAnnotations.hs.parser.golden view
@@ -0,0 +1,640 @@+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 = []+ }+ ]+ ]+ , []+ )
+ tests/examples/RoleAnnotations.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RoleAnnotations.hs.prettyprinter.golden view
@@ -0,0 +1,22 @@+{-# LANGUAGE RoleAnnotations, PolyKinds, KindSignatures #-}+module Roles where++data T1 a = K1 a++data T2 a = K2 a++data T5 a = K5 a++data T6 a = K6++data T7 a b = K7 b++type role T1 nominal++type role T2 representational++type role T3 phantom++type role T4 nominal _++type role T5 _
+ tests/examples/RoleAnnotations2.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE RoleAnnotations #-}++data Foo a = Foo a+type role Foo representational++main = print $ foo 1++foo :: Int -> Int+foo role = 42
+ tests/examples/RoleAnnotations2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RoleAnnotations2.hs.parser.golden view
@@ -0,0 +1,379 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 10 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 10 1 10 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 10 1 10 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 13+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "RoleAnnotations"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 12 3 13 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ "Foo")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 18 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 18 3 19+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , RoleAnnotDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 5+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 4 6 4 10+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ "Foo"))+ [ Representational+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 15 4 31+ , srcInfoPoints = []+ }+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 6 6 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 6 6 7 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13+ , srcInfoPoints = []+ }+ "print")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ "foo")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 20 6 21+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 20 6 21+ , srcInfoPoints = []+ }+ 1+ "1")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 5 8 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 12 8 14 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 14+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 5 9 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 5 9 9+ , srcInfoPoints = []+ }+ "role")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 10 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 10 9 11 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 12 9 14+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 12 9 14+ , srcInfoPoints = []+ }+ 42+ "42")))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/RoleAnnotations2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RoleAnnotations2.hs.prettyprinter.golden view
@@ -0,0 +1,9 @@+{-# LANGUAGE RoleAnnotations #-}++data Foo a = Foo a++type role Foo representational+main = print $ foo 1++foo :: Int -> Int+foo role = 42
+ tests/examples/Rules.hs view
@@ -0,0 +1,1 @@+{-# RULES "head/build" forall (g::forall b.(a->b->b)->b->b) . head (build g) = g (\x _ -> x) badHead #-}
+ tests/examples/Rules.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Rules.hs.parser.golden view
@@ -0,0 +1,321 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 1 2 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Rules.hs" 1 1 1 1+ , SrcSpan "tests/examples/Rules.hs" 1 1 1 1+ , SrcSpan "tests/examples/Rules.hs" 1 1 1 1+ , SrcSpan "tests/examples/Rules.hs" 2 1 2 1+ , SrcSpan "tests/examples/Rules.hs" 2 1 2 1+ ]+ }+ Nothing+ []+ []+ [ RulePragmaDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 1 1 105+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Rules.hs" 1 1 1 10+ , SrcSpan "tests/examples/Rules.hs" 1 102 1 105+ ]+ }+ [ Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 11 1 101+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Rules.hs" 1 11 1 23+ , SrcSpan "tests/examples/Rules.hs" 1 24 1 30+ , SrcSpan "tests/examples/Rules.hs" 1 61 1 62+ , SrcSpan "tests/examples/Rules.hs" 1 78 1 79+ ]+ }+ "head/build"+ Nothing+ (Just+ [ TypedRuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 31 1 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Rules.hs" 1 31 1 32+ , SrcSpan "tests/examples/Rules.hs" 1 33 1 35+ , SrcSpan "tests/examples/Rules.hs" 1 59 1 60+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 32 1 33+ , srcInfoPoints = []+ }+ "g")+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 35 1 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Rules.hs" 1 35 1 41+ , SrcSpan "tests/examples/Rules.hs" 1 43 1 44+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 42 1 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 42 1 43+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 44 1 59+ , srcInfoPoints = [ SrcSpan "tests/examples/Rules.hs" 1 53 1 55 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 44 1 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Rules.hs" 1 44 1 45+ , SrcSpan "tests/examples/Rules.hs" 1 52 1 53+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 45 1 52+ , srcInfoPoints = [ SrcSpan "tests/examples/Rules.hs" 1 46 1 48 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 45 1 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 45 1 46+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 48 1 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Rules.hs" 1 49 1 51 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 48 1 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Rules.hs" 1 48 1 49+ , srcInfoPoints = []+ }+ "b"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 51 1 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Rules.hs" 1 51 1 52+ , srcInfoPoints = []+ }+ "b")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 55 1 59+ , srcInfoPoints = [ SrcSpan "tests/examples/Rules.hs" 1 56 1 58 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 55 1 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 55 1 56+ , srcInfoPoints = []+ }+ "b"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 58 1 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 58 1 59+ , srcInfoPoints = []+ }+ "b")))))+ ])+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 63 1 77+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 63 1 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 63 1 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 63 1 67+ , srcInfoPoints = []+ }+ "head")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 68 1 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Rules.hs" 1 68 1 69+ , SrcSpan "tests/examples/Rules.hs" 1 76 1 77+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 69 1 76+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 69 1 74+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 69 1 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 69 1 74+ , srcInfoPoints = []+ }+ "build")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 75 1 76+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 75 1 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 75 1 76+ , srcInfoPoints = []+ }+ "g"))))))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 80 1 101+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 80 1 93+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 80 1 81+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 80 1 81+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 80 1 81+ , srcInfoPoints = []+ }+ "g")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 82 1 93+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Rules.hs" 1 82 1 83+ , SrcSpan "tests/examples/Rules.hs" 1 92 1 93+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 83 1 92+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Rules.hs" 1 83 1 84+ , SrcSpan "tests/examples/Rules.hs" 1 88 1 90+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 84 1 85+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 84 1 85+ , srcInfoPoints = []+ }+ "x")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 86 1 87+ , srcInfoPoints = []+ }+ ]+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 91 1 92+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 91 1 92+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 91 1 92+ , srcInfoPoints = []+ }+ "x"))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 94 1 101+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 94 1 101+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Rules.hs" 1 94 1 101+ , srcInfoPoints = []+ }+ "badHead"))))+ ]+ ]+ , []+ )
+ tests/examples/Rules.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Rules.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# RULES+"head/build" forall (g :: forall b . (a -> b -> b) -> b -> b) .+ head (build g) = g (\ x _ -> x) badHead+ #-}
tests/examples/SCCPragmas.hs.parser.golden view
@@ -1,1 +1,78 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 1, srcSpanStartColumn = 19, srcSpanEndLine = 1, srcSpanEndColumn = 24}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 18}, srcInfoPoints = []}) "SCCPragmas") Nothing Nothing)) [] [] [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 2}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 2}, srcInfoPoints = []}) "x")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 4}]}) (SCCPragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 5, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 22, srcSpanEndLine = 3, srcSpanEndColumn = 25}]}) "wibble" (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SCCPragmas.hs", srcSpanStartLine = 3, srcSpanStartColumn = 26, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = []}) 3 "3")))) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SCCPragmas.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SCCPragmas.hs" 1 1 1 1+ , SrcSpan "tests/examples/SCCPragmas.hs" 1 1 1 1+ , SrcSpan "tests/examples/SCCPragmas.hs" 3 1 3 1+ , SrcSpan "tests/examples/SCCPragmas.hs" 4 1 4 1+ , SrcSpan "tests/examples/SCCPragmas.hs" 4 1 4 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SCCPragmas.hs" 1 1 1 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SCCPragmas.hs" 1 1 1 7+ , SrcSpan "tests/examples/SCCPragmas.hs" 1 19 1 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SCCPragmas.hs" 1 8 1 18+ , srcInfoPoints = []+ }+ "SCCPragmas")+ Nothing+ Nothing))+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SCCPragmas.hs" 3 1 3 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SCCPragmas.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SCCPragmas.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SCCPragmas.hs" 3 3 3 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SCCPragmas.hs" 3 3 3 4 ]+ }+ (SCCPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SCCPragmas.hs" 3 5 3 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SCCPragmas.hs" 3 13 3 21+ , SrcSpan "tests/examples/SCCPragmas.hs" 3 22 3 25+ ]+ }+ "wibble"+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SCCPragmas.hs" 3 26 3 27+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SCCPragmas.hs" 3 26 3 27+ , srcInfoPoints = []+ }+ 3+ "3"))))+ Nothing+ ]+ , []+ )
+ tests/examples/SafeImports1.hs view
@@ -0,0 +1,2 @@+{-# LANGUAGE SafeImports #-}+import safe Prelude as P
+ tests/examples/SafeImports1.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/SafeImports1.hs.parser.golden view
@@ -0,0 +1,65 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports1.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SafeImports1.hs" 1 1 1 1+ , SrcSpan "tests/examples/SafeImports1.hs" 2 1 2 1+ , SrcSpan "tests/examples/SafeImports1.hs" 2 1 2 1+ , SrcSpan "tests/examples/SafeImports1.hs" 2 1 2 1+ , SrcSpan "tests/examples/SafeImports1.hs" 3 1 3 1+ , SrcSpan "tests/examples/SafeImports1.hs" 3 1 3 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports1.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SafeImports1.hs" 1 1 1 13+ , SrcSpan "tests/examples/SafeImports1.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports1.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "SafeImports"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports1.hs" 2 1 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SafeImports1.hs" 2 1 2 7+ , SrcSpan "tests/examples/SafeImports1.hs" 2 8 2 12+ , SrcSpan "tests/examples/SafeImports1.hs" 2 21 2 23+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports1.hs" 2 13 2 20+ , srcInfoPoints = []+ }+ "Prelude"+ , importQualified = False+ , importSrc = False+ , importSafe = True+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports1.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ "P")+ , importSpecs = Nothing+ }+ ]+ []+ , []+ )
+ tests/examples/SafeImports1.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/SafeImports1.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE SafeImports #-}+import safe Prelude as P
+ tests/examples/SafeImports2.hs view
@@ -0,0 +1,2 @@+{-# LANGUAGE Safe #-}+import safe Prelude as P
+ tests/examples/SafeImports2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/SafeImports2.hs.parser.golden view
@@ -0,0 +1,65 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports2.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SafeImports2.hs" 1 1 1 1+ , SrcSpan "tests/examples/SafeImports2.hs" 2 1 2 1+ , SrcSpan "tests/examples/SafeImports2.hs" 2 1 2 1+ , SrcSpan "tests/examples/SafeImports2.hs" 2 1 2 1+ , SrcSpan "tests/examples/SafeImports2.hs" 3 1 3 1+ , SrcSpan "tests/examples/SafeImports2.hs" 3 1 3 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports2.hs" 1 1 1 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SafeImports2.hs" 1 1 1 13+ , SrcSpan "tests/examples/SafeImports2.hs" 1 19 1 22+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports2.hs" 1 14 1 18+ , srcInfoPoints = []+ }+ "Safe"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports2.hs" 2 1 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SafeImports2.hs" 2 1 2 7+ , SrcSpan "tests/examples/SafeImports2.hs" 2 8 2 12+ , SrcSpan "tests/examples/SafeImports2.hs" 2 21 2 23+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports2.hs" 2 13 2 20+ , srcInfoPoints = []+ }+ "Prelude"+ , importQualified = False+ , importSrc = False+ , importSafe = True+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports2.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ "P")+ , importSpecs = Nothing+ }+ ]+ []+ , []+ )
+ tests/examples/SafeImports2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/SafeImports2.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE Safe #-}+import safe Prelude as P
+ tests/examples/SafeImports3.hs view
@@ -0,0 +1,2 @@+{-# LANGUAGE Trustworthy #-}+import safe Prelude as P
+ tests/examples/SafeImports3.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/SafeImports3.hs.parser.golden view
@@ -0,0 +1,65 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports3.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SafeImports3.hs" 1 1 1 1+ , SrcSpan "tests/examples/SafeImports3.hs" 2 1 2 1+ , SrcSpan "tests/examples/SafeImports3.hs" 2 1 2 1+ , SrcSpan "tests/examples/SafeImports3.hs" 2 1 2 1+ , SrcSpan "tests/examples/SafeImports3.hs" 3 1 3 1+ , SrcSpan "tests/examples/SafeImports3.hs" 3 1 3 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports3.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SafeImports3.hs" 1 1 1 13+ , SrcSpan "tests/examples/SafeImports3.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports3.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "Trustworthy"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports3.hs" 2 1 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SafeImports3.hs" 2 1 2 7+ , SrcSpan "tests/examples/SafeImports3.hs" 2 8 2 12+ , SrcSpan "tests/examples/SafeImports3.hs" 2 21 2 23+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports3.hs" 2 13 2 20+ , srcInfoPoints = []+ }+ "Prelude"+ , importQualified = False+ , importSrc = False+ , importSafe = True+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SafeImports3.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ "P")+ , importSpecs = Nothing+ }+ ]+ []+ , []+ )
+ tests/examples/SafeImports3.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/SafeImports3.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE Trustworthy #-}+import safe Prelude as P
tests/examples/ScopedTypeVariables.hs.parser.golden view
@@ -1,1 +1,630 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 1, srcSpanStartColumn = 34, srcSpanEndLine = 1, srcSpanEndColumn = 37}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 33}, srcInfoPoints = []}) "ScopedTypeVariables"]] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 8}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 5}, srcInfoPoints = []}) "test"] (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) "Char")))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 5}, srcInfoPoints = []}) "test")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 4, srcSpanStartColumn = 6, srcSpanEndLine = 9, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 4, srcSpanStartColumn = 6, srcSpanEndLine = 4, srcSpanEndColumn = 7}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 9, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 15, srcSpanEndLine = 5, srcSpanEndColumn = 17}]}) (PatTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 7, srcSpanEndLine = 5, srcSpanEndColumn = 9}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 5, srcSpanEndLine = 5, srcSpanEndColumn = 6}, srcInfoPoints = []}) "x")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = []}) "Char")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 25}, srcInfoPoints = []}) "getChar"))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) "return"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) "x"))))])) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 7, srcSpanEndLine = 9, srcSpanEndColumn = 9}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 6}, srcInfoPoints = []}) "value")) (Just (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 10, srcSpanEndLine = 9, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 10, srcSpanEndLine = 9, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 10, srcSpanEndLine = 9, srcSpanEndColumn = 16}, srcInfoPoints = []}) "String")))) (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 17, srcSpanEndLine = 9, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 17, srcSpanEndLine = 9, srcSpanEndColumn = 18}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 19, srcSpanEndLine = 9, srcSpanEndColumn = 26}, srcInfoPoints = []}) (String (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 9, srcSpanStartColumn = 19, srcSpanEndLine = 9, srcSpanEndColumn = 26}, srcInfoPoints = []}) "Hello" "Hello"))) Nothing,TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 12, srcSpanEndLine = 11, srcSpanEndColumn = 14}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) "forallTest"] (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 15, srcSpanEndLine = 11, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 15, srcSpanEndLine = 11, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 24, srcSpanEndLine = 11, srcSpanEndColumn = 25}]}) (Just [UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 22, srcSpanEndLine = 11, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 22, srcSpanEndLine = 11, srcSpanEndColumn = 23}, srcInfoPoints = []}) "x")]) Nothing (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 26, srcSpanEndLine = 11, srcSpanEndColumn = 40}, srcInfoPoints = []}) Nothing (Just (CxSingle (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 26, srcSpanEndLine = 11, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 31, srcSpanEndLine = 11, srcSpanEndColumn = 33}]}) (ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 26, srcSpanEndLine = 11, srcSpanEndColumn = 33}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 31, srcSpanEndLine = 11, srcSpanEndColumn = 33}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 26, srcSpanEndLine = 11, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 26, srcSpanEndLine = 11, srcSpanEndColumn = 28}, srcInfoPoints = []}) "Eq")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 29, srcSpanEndLine = 11, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 29, srcSpanEndLine = 11, srcSpanEndColumn = 30}, srcInfoPoints = []}) "x")]))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 34, srcSpanEndLine = 11, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 36, srcSpanEndLine = 11, srcSpanEndColumn = 38}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 34, srcSpanEndLine = 11, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 34, srcSpanEndLine = 11, srcSpanEndColumn = 35}, srcInfoPoints = []}) "x")) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 39, srcSpanEndLine = 11, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 11, srcSpanStartColumn = 39, srcSpanEndLine = 11, srcSpanEndColumn = 40}, srcInfoPoints = []}) "x"))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 54}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 11}, srcInfoPoints = []}) "forallTest") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 12, srcSpanEndLine = 12, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 12, srcSpanEndLine = 12, srcSpanEndColumn = 13}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 14, srcSpanEndLine = 12, srcSpanEndColumn = 54}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 14, srcSpanEndLine = 12, srcSpanEndColumn = 15}]}) (If (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 16, srcSpanEndLine = 12, srcSpanEndColumn = 54}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 16, srcSpanEndLine = 12, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 26, srcSpanEndLine = 12, srcSpanEndColumn = 30},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 48, srcSpanEndLine = 12, srcSpanEndColumn = 52}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 19, srcSpanEndLine = 12, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 19, srcSpanEndLine = 12, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 19, srcSpanEndLine = 12, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 19, srcSpanEndLine = 12, srcSpanEndColumn = 20}, srcInfoPoints = []}) "x"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 21, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 21, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 21, srcSpanEndLine = 12, srcSpanEndColumn = 23}, srcInfoPoints = []}) "=="))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 24, srcSpanEndLine = 12, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 24, srcSpanEndLine = 12, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 24, srcSpanEndLine = 12, srcSpanEndColumn = 25}, srcInfoPoints = []}) "x")))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 31, srcSpanEndLine = 12, srcSpanEndColumn = 47}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 31, srcSpanEndLine = 12, srcSpanEndColumn = 32},SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 46, srcSpanEndLine = 12, srcSpanEndColumn = 47}]}) (ExpTypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 32, srcSpanEndLine = 12, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 42, srcSpanEndLine = 12, srcSpanEndColumn = 44}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 32, srcSpanEndLine = 12, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 32, srcSpanEndLine = 12, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 32, srcSpanEndLine = 12, srcSpanEndColumn = 41}, srcInfoPoints = []}) "undefined"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 45, srcSpanEndLine = 12, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 45, srcSpanEndLine = 12, srcSpanEndColumn = 46}, srcInfoPoints = []}) "x")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 53, srcSpanEndLine = 12, srcSpanEndColumn = 54}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 53, srcSpanEndLine = 12, srcSpanEndColumn = 54}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/ScopedTypeVariables.hs", srcSpanStartLine = 12, srcSpanStartColumn = 53, srcSpanEndLine = 12, srcSpanEndColumn = 54}, srcInfoPoints = []}) "x"))))) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 1 1 13 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 1 1 1 1+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 1 3 1+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 1 3 1+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 1 3 1+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 4 1 4 1+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 1 9 1+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 1 11 1+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 1 12 1+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 13 1 13 1+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 13 1 13 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 1 1 1 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 1 1 1 13+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 1 34 1 37+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 1 14 1 33+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 1 3 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 6 3 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ "test"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 9 3 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 12 3 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 12 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 3 12 3 16+ , srcInfoPoints = []+ }+ "Char"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 4 1 6 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 4 1 4 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 4 1 4 5+ , srcInfoPoints = []+ }+ "test"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 4 6 6 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 4 6 4 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 4 8 6 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 4 8 4 10+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 5 5 5+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 6 5 6 5+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 1 9 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 5 5 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 15 5 17 ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 5 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 7 5 9 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ "x"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 10 5 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 10 5 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 10 5 14+ , srcInfoPoints = []+ }+ "Char"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 18 5 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 18 5 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 5 18 5 25+ , srcInfoPoints = []+ }+ "getChar")))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 6 5 6 13+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 6 5 6 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 6 5 6 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 6 5 6 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 6 5 6 11+ , srcInfoPoints = []+ }+ "return")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 6 12 6 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 6 12 6 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 6 12 6 13+ , srcInfoPoints = []+ }+ "x"))))+ ]))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 1 9 26+ , srcInfoPoints = []+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 1 9 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 7 9 9 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 1 9 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 1 9 6+ , srcInfoPoints = []+ }+ "value"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 10 9 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 10 9 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 10 9 16+ , srcInfoPoints = []+ }+ "String"))))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 17 9 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 17 9 18 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 19 9 26+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 9 19 9 26+ , srcInfoPoints = []+ }+ "Hello"+ "Hello")))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 1 11 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 12 11 14 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 1 11 11+ , srcInfoPoints = []+ }+ "forallTest"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 15 11 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 15 11 21+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 24 11 25+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 22 11 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 22 11 23+ , srcInfoPoints = []+ }+ "x")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30+ , srcInfoPoints = []+ }+ "x"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 34 11 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 36 11 38 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 34 11 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 34 11 35+ , srcInfoPoints = []+ }+ "x"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 39 11 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 39 11 40+ , srcInfoPoints = []+ }+ "x"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 1 12 54+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 1 12 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 1 12 11+ , srcInfoPoints = []+ }+ "forallTest")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 12 12 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 12 12 13+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 14 12 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 14 12 15 ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 16 12 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 16 12 18+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 26 12 30+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 48 12 52+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 19 12 25+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 19 12 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 19 12 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 19 12 20+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 21 12 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 21 12 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 21 12 23+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 24 12 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 24 12 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 24 12 25+ , srcInfoPoints = []+ }+ "x"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 31 12 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 31 12 32+ , SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 46 12 47+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 32 12 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 42 12 44 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 32 12 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 32 12 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 32 12 41+ , srcInfoPoints = []+ }+ "undefined")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 45 12 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 45 12 46+ , srcInfoPoints = []+ }+ "x"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 53 12 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 53 12 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 12 53 12 54+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ ]+ , []+ )
tests/examples/ScopedTypeVariables.hs.prettyprinter.golden view
@@ -1,11 +1,10 @@ {-# LANGUAGE ScopedTypeVariables #-}-module Main (main) where- + test :: IO Char test = do x :: Char <- getChar return x value :: String = "Hello"- -forallTest :: forall x . (Eq x) => x -> x++forallTest :: forall x . Eq x => x -> x forallTest x = if x == x then (undefined :: x) else x
tests/examples/SimpleDeriving.hs.parser.golden view
@@ -1,1 +1,101 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1}]}) Nothing [] [] [DataDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 9}]}) (DataType (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 5}, srcInfoPoints = []})) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 6, srcSpanEndLine = 1, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 6, srcSpanEndLine = 1, srcSpanEndColumn = 7}, srcInfoPoints = []}) "T") []) [QualConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 11}, srcInfoPoints = []}) Nothing Nothing (ConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 11}, srcInfoPoints = []}) "T") [])] (Just (Deriving (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 12, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 12, srcSpanEndLine = 1, srcSpanEndColumn = 20}]}) [IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 21, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 21, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SimpleDeriving.hs", srcSpanStartLine = 1, srcSpanStartColumn = 21, srcSpanEndLine = 1, srcSpanEndColumn = 23}, srcInfoPoints = []}) "Eq")) []]))],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SimpleDeriving.hs" 1 1 2 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SimpleDeriving.hs" 1 1 1 1+ , SrcSpan "tests/examples/SimpleDeriving.hs" 1 1 1 1+ , SrcSpan "tests/examples/SimpleDeriving.hs" 1 1 1 1+ , SrcSpan "tests/examples/SimpleDeriving.hs" 2 1 2 1+ , SrcSpan "tests/examples/SimpleDeriving.hs" 2 1 2 1+ ]+ }+ Nothing+ []+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SimpleDeriving.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SimpleDeriving.hs" 1 8 1 9 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SimpleDeriving.hs" 1 1 1 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SimpleDeriving.hs" 1 6 1 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SimpleDeriving.hs" 1 6 1 7+ , srcInfoPoints = []+ }+ "T"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 10 1 11+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 10 1 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 10 1 11+ , srcInfoPoints = []+ }+ "T")+ [])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 12 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SimpleDeriving.hs" 1 12 1 20 ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+ , srcInfoPoints = []+ }+ "Eq")))+ ]+ ]+ ]+ , []+ )
tests/examples/SimpleDeriving.hs.prettyprinter.golden view
@@ -1,4 +1,1 @@-module Main (main) where- -data T = T- deriving Eq+data T = T deriving Eq
tests/examples/SingleClassAsst.hs.parser.golden view
@@ -1,1 +1,214 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 1, srcSpanStartColumn = 13, srcSpanEndLine = 1, srcSpanEndColumn = 18}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 1, srcSpanStartColumn = 8, srcSpanEndLine = 1, srcSpanEndColumn = 12}, srcInfoPoints = []}) "Test") Nothing Nothing)) [] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 5, srcSpanEndLine = 3, srcSpanEndColumn = 7}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 4}, srcInfoPoints = []}) "foo"] (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = []}) Nothing (Just (CxParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 17}]}) (CxSingle (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) (ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) "Eq")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) "a")])))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 22}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 19}, srcInfoPoints = []}) "a")) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = []}) "a")))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 4}, srcInfoPoints = []}) "foo") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 6}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 8}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SingleClassAsst.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) "x")))) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SingleClassAsst.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SingleClassAsst.hs" 1 1 1 1+ , SrcSpan "tests/examples/SingleClassAsst.hs" 1 1 1 1+ , SrcSpan "tests/examples/SingleClassAsst.hs" 3 1 3 1+ , SrcSpan "tests/examples/SingleClassAsst.hs" 4 1 4 1+ , SrcSpan "tests/examples/SingleClassAsst.hs" 5 1 5 1+ , SrcSpan "tests/examples/SingleClassAsst.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 1 1 1 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SingleClassAsst.hs" 1 1 1 7+ , SrcSpan "tests/examples/SingleClassAsst.hs" 1 13 1 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 1 8 1 12+ , srcInfoPoints = []+ }+ "Test")+ Nothing+ Nothing))+ []+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 1 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SingleClassAsst.hs" 3 5 3 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SingleClassAsst.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 8 3 24+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 8 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SingleClassAsst.hs" 3 8 3 9+ , SrcSpan "tests/examples/SingleClassAsst.hs" 3 13 3 14+ , SrcSpan "tests/examples/SingleClassAsst.hs" 3 15 3 17+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 8 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SingleClassAsst.hs" 3 8 3 9+ , SrcSpan "tests/examples/SingleClassAsst.hs" 3 13 3 14+ , SrcSpan "tests/examples/SingleClassAsst.hs" 3 15 3 17+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ "a")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 18 3 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SingleClassAsst.hs" 3 20 3 22 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 18 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 18 3 19+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 23 3 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 23 3 24+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 4 1 4 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 4 1 4 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SingleClassAsst.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SingleClassAsst.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/SingleClassAsst.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 4 7 4 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SingleClassAsst.hs" 4 7 4 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ ]+ , []+ )
tests/examples/SingleClassAsst.hs.prettyprinter.golden view
@@ -1,4 +1,4 @@ module Test where- + foo :: (Eq a) => a -> a foo x = x
tests/examples/SpecializeInstance.hs.parser.golden view
@@ -1,1 +1,813 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) Nothing [] [] [InstDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 37, srcSpanEndLine = 1, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 0}]}) (Just (CxSingle (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 20}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 18, srcSpanEndLine = 1, srcSpanEndColumn = 20}]}) (ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 20}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 18, srcSpanEndLine = 1, srcSpanEndColumn = 20}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 15}, srcInfoPoints = []}) "Sized")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 16, srcSpanEndLine = 1, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 16, srcSpanEndLine = 1, srcSpanEndColumn = 17}, srcInfoPoints = []}) "a")]))) (IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 21, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 21, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 21, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) "Sized")) [TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 27, srcSpanEndLine = 1, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 27, srcSpanEndLine = 1, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 35, srcSpanEndLine = 1, srcSpanEndColumn = 36}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 35}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 33}, srcInfoPoints = []}) "Digit"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 34, srcSpanEndLine = 1, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 1, srcSpanStartColumn = 34, srcSpanEndLine = 1, srcSpanEndColumn = 35}, srcInfoPoints = []}) "a")))]) (Just [InsDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 58}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 23, srcSpanEndLine = 2, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 55, srcSpanEndLine = 2, srcSpanEndColumn = 58}]}) (InstSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 58}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 23, srcSpanEndLine = 2, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 55, srcSpanEndLine = 2, srcSpanEndColumn = 58}]}) Nothing (IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 32, srcSpanEndLine = 2, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 32, srcSpanEndLine = 2, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 32, srcSpanEndLine = 2, srcSpanEndColumn = 37}, srcInfoPoints = []}) "Sized")) [TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 38, srcSpanEndLine = 2, srcSpanEndColumn = 54}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 38, srcSpanEndLine = 2, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 53, srcSpanEndLine = 2, srcSpanEndColumn = 54}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 39, srcSpanEndLine = 2, srcSpanEndColumn = 53}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 39, srcSpanEndLine = 2, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 39, srcSpanEndLine = 2, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 39, srcSpanEndLine = 2, srcSpanEndColumn = 44}, srcInfoPoints = []}) "Digit"))) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 45, srcSpanEndLine = 2, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 45, srcSpanEndLine = 2, srcSpanEndColumn = 46},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 52, srcSpanEndLine = 2, srcSpanEndColumn = 53}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 46, srcSpanEndLine = 2, srcSpanEndColumn = 52}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 46, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 46, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 46, srcSpanEndLine = 2, srcSpanEndColumn = 50}, srcInfoPoints = []}) "Elem"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 51, srcSpanEndLine = 2, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 2, srcSpanStartColumn = 51, srcSpanEndLine = 2, srcSpanEndColumn = 52}, srcInfoPoints = []}) "a")))))])),InsDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 58}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 55, srcSpanEndLine = 3, srcSpanEndColumn = 58}]}) (InstSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 58}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 55, srcSpanEndLine = 3, srcSpanEndColumn = 58}]}) Nothing (IHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 32, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 32, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 32, srcSpanEndLine = 3, srcSpanEndColumn = 37}, srcInfoPoints = []}) "Sized")) [TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 38, srcSpanEndLine = 3, srcSpanEndColumn = 54}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 38, srcSpanEndLine = 3, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 53, srcSpanEndLine = 3, srcSpanEndColumn = 54}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 39, srcSpanEndLine = 3, srcSpanEndColumn = 53}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 39, srcSpanEndLine = 3, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 39, srcSpanEndLine = 3, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 39, srcSpanEndLine = 3, srcSpanEndColumn = 44}, srcInfoPoints = []}) "Digit"))) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 45, srcSpanEndLine = 3, srcSpanEndColumn = 53}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 45, srcSpanEndLine = 3, srcSpanEndColumn = 46},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 52, srcSpanEndLine = 3, srcSpanEndColumn = 53}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 46, srcSpanEndLine = 3, srcSpanEndColumn = 52}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 46, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 46, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 46, srcSpanEndLine = 3, srcSpanEndColumn = 50}, srcInfoPoints = []}) "Node"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 51, srcSpanEndLine = 3, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 3, srcSpanStartColumn = 51, srcSpanEndLine = 3, srcSpanEndColumn = 52}, srcInfoPoints = []}) "a")))))])),InsDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 50}, srcInfoPoints = []}) (FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 50}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 12}, srcInfoPoints = []}) "size") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 15}, srcInfoPoints = []}) "xs")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 17}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 50}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 47}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 45}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 18, srcSpanEndLine = 4, srcSpanEndColumn = 23}, srcInfoPoints = []}) "foldl"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 24, srcSpanEndLine = 4, srcSpanEndColumn = 45}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 24, srcSpanEndLine = 4, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 44, srcSpanEndLine = 4, srcSpanEndColumn = 45}]}) (Lambda (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 25, srcSpanEndLine = 4, srcSpanEndColumn = 44}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 25, srcSpanEndLine = 4, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 31, srcSpanEndLine = 4, srcSpanEndColumn = 33}]}) [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 27, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 27, srcSpanEndLine = 4, srcSpanEndColumn = 28}, srcInfoPoints = []}) "i"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 29, srcSpanEndLine = 4, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 29, srcSpanEndLine = 4, srcSpanEndColumn = 30}, srcInfoPoints = []}) "x")] (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 34, srcSpanEndLine = 4, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 34, srcSpanEndLine = 4, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 34, srcSpanEndLine = 4, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 34, srcSpanEndLine = 4, srcSpanEndColumn = 35}, srcInfoPoints = []}) "i"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 36, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 36, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 36, srcSpanEndLine = 4, srcSpanEndColumn = 37}, srcInfoPoints = []}) "+"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 42}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 42}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 38, srcSpanEndLine = 4, srcSpanEndColumn = 42}, srcInfoPoints = []}) "size"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 43, srcSpanEndLine = 4, srcSpanEndColumn = 44}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 43, srcSpanEndLine = 4, srcSpanEndColumn = 44}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 43, srcSpanEndLine = 4, srcSpanEndColumn = 44}, srcInfoPoints = []}) "x")))))))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 46, srcSpanEndLine = 4, srcSpanEndColumn = 47}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 46, srcSpanEndLine = 4, srcSpanEndColumn = 47}, srcInfoPoints = []}) 0 "0"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 48, srcSpanEndLine = 4, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 48, srcSpanEndLine = 4, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializeInstance.hs", srcSpanStartLine = 4, srcSpanStartColumn = 48, srcSpanEndLine = 4, srcSpanEndColumn = 50}, srcInfoPoints = []}) "xs"))))) Nothing])])],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 1 1+ , SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 1 1+ , SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 1 1+ , SrcSpan "tests/examples/SpecializeInstance.hs" 5 1 5 1+ , SrcSpan "tests/examples/SpecializeInstance.hs" 5 1 5 1+ ]+ }+ Nothing+ []+ []+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 5 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 1 9+ , SrcSpan "tests/examples/SpecializeInstance.hs" 1 37 1 42+ , SrcSpan "tests/examples/SpecializeInstance.hs" 2 8 2 8+ , SrcSpan "tests/examples/SpecializeInstance.hs" 3 8 3 8+ , SrcSpan "tests/examples/SpecializeInstance.hs" 4 8 4 8+ , SrcSpan "tests/examples/SpecializeInstance.hs" 5 1 5 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 36+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+ , srcInfoPoints = []+ }+ "Sized")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 21 1 36+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 21 1 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 21 1 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 21 1 26+ , srcInfoPoints = []+ }+ "Sized")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 27 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 27 1 28+ , SrcSpan "tests/examples/SpecializeInstance.hs" 1 35 1 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 28 1 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 28 1 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 28 1 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 28 1 33+ , srcInfoPoints = []+ }+ "Digit")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 34 1 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 34 1 35+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 8 2 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 2 8 2 22+ , SrcSpan "tests/examples/SpecializeInstance.hs" 2 23 2 31+ , SrcSpan "tests/examples/SpecializeInstance.hs" 2 55 2 58+ ]+ }+ (InstSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 8 2 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 2 8 2 22+ , SrcSpan "tests/examples/SpecializeInstance.hs" 2 23 2 31+ , SrcSpan "tests/examples/SpecializeInstance.hs" 2 55 2 58+ ]+ }+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 32 2 54+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 32 2 54+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 32 2 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 32 2 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 32 2 37+ , srcInfoPoints = []+ }+ "Sized")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 38 2 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 2 38 2 39+ , SrcSpan "tests/examples/SpecializeInstance.hs" 2 53 2 54+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 39 2 53+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 39 2 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 39 2 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 2 39 2 44+ , srcInfoPoints = []+ }+ "Digit")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 45 2 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 2 45 2 46+ , SrcSpan "tests/examples/SpecializeInstance.hs" 2 52 2 53+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 2 46 2 52+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 2 46 2 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 2 46 2 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 2+ 46+ 2+ 50+ , srcInfoPoints = []+ }+ "Elem")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 2 51 2 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 2 51 2 52+ , srcInfoPoints = []+ }+ "a")))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 8 3 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 3 8 3 22+ , SrcSpan "tests/examples/SpecializeInstance.hs" 3 23 3 31+ , SrcSpan "tests/examples/SpecializeInstance.hs" 3 55 3 58+ ]+ }+ (InstSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 8 3 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 3 8 3 22+ , SrcSpan "tests/examples/SpecializeInstance.hs" 3 23 3 31+ , SrcSpan "tests/examples/SpecializeInstance.hs" 3 55 3 58+ ]+ }+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 32 3 54+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 32 3 54+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 32 3 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 32 3 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 32 3 37+ , srcInfoPoints = []+ }+ "Sized")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 38 3 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 3 38 3 39+ , SrcSpan "tests/examples/SpecializeInstance.hs" 3 53 3 54+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 39 3 53+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 39 3 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 39 3 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 3 39 3 44+ , srcInfoPoints = []+ }+ "Digit")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 45 3 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 3 45 3 46+ , SrcSpan "tests/examples/SpecializeInstance.hs" 3 52 3 53+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 3 46 3 52+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 3 46 3 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 3 46 3 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 3+ 46+ 3+ 50+ , srcInfoPoints = []+ }+ "Node")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 3 51 3 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 3 51 3 52+ , srcInfoPoints = []+ }+ "a")))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 8 4 50+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 8 4 50+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 8 4 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ "size")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 13 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 13 4 15+ , srcInfoPoints = []+ }+ "xs")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 16 4 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 4 16 4 17 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 18 4 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 18 4 47+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 18 4 45+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 4 18 4 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 4 18 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 18+ 4+ 23+ , srcInfoPoints = []+ }+ "foldl")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 4 24 4 45+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/SpecializeInstance.hs" 4 24 4 25+ , SrcSpan+ "tests/examples/SpecializeInstance.hs" 4 44 4 45+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 4 25 4 44+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/SpecializeInstance.hs" 4 25 4 26+ , SrcSpan+ "tests/examples/SpecializeInstance.hs" 4 31 4 33+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 27+ 4+ 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 27+ 4+ 28+ , srcInfoPoints = []+ }+ "i")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 29+ 4+ 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 29+ 4+ 30+ , srcInfoPoints = []+ }+ "x")+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 34+ 4+ 44+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 34+ 4+ 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 34+ 4+ 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 34+ 4+ 35+ , srcInfoPoints = []+ }+ "i")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 36+ 4+ 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 36+ 4+ 37+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 36+ 4+ 37+ , srcInfoPoints = []+ }+ "+")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 38+ 4+ 44+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 38+ 4+ 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 38+ 4+ 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 38+ 4+ 42+ , srcInfoPoints = []+ }+ "size")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 43+ 4+ 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 43+ 4+ 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs"+ 4+ 43+ 4+ 44+ , srcInfoPoints = []+ }+ "x"))))))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 46 4 47+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 4 46 4 47+ , srcInfoPoints = []+ }+ 0+ "0")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 48 4 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 4 48 4 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializeInstance.hs" 4 48 4 50+ , srcInfoPoints = []+ }+ "xs")))))+ Nothing+ ])+ ])+ ]+ , []+ )
tests/examples/SpecializeInstance.hs.prettyprinter.golden view
@@ -1,8 +1,5 @@-module Main (main) where- -instance (Sized a) => Sized (Digit a) where- +instance Sized a => Sized (Digit a) where {-# SPECIALISE instance Sized (Digit (Elem a)) #-}- + {-# SPECIALISE instance Sized (Digit (Node a)) #-} size xs = foldl (\ i x -> i + size x) 0 xs
tests/examples/SpecializePhaseControl.hs.parser.golden view
@@ -1,1 +1,1036 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 16, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 1, srcSpanEndLine = 14, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 16, srcSpanStartColumn = 1, srcSpanEndLine = 16, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 16, srcSpanStartColumn = 1, srcSpanEndLine = 16, srcSpanEndColumn = 1}]}) Nothing [] [] [SpecSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 22, srcSpanEndLine = 1, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 38, srcSpanEndLine = 2, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 34, srcSpanEndLine = 3, srcSpanEndColumn = 35},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 27, srcSpanEndLine = 4, srcSpanEndColumn = 30}]}) (Just (ActiveFrom (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 16, srcSpanEndLine = 1, srcSpanEndColumn = 19}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 16, srcSpanEndLine = 1, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 17, srcSpanEndLine = 1, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 18, srcSpanEndLine = 1, srcSpanEndColumn = 19}]}) 1)) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 20, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 1, srcSpanStartColumn = 20, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) "x")) [TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 9, srcSpanEndLine = 2, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 17, srcSpanEndLine = 2, srcSpanEndColumn = 19}]}) Nothing Nothing (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 9, srcSpanEndLine = 2, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 17, srcSpanEndLine = 2, srcSpanEndColumn = 19}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 9, srcSpanEndLine = 2, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 9, srcSpanEndLine = 2, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 9, srcSpanEndLine = 2, srcSpanEndColumn = 16}, srcInfoPoints = []}) "Integer"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 20, srcSpanEndLine = 2, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 28, srcSpanEndLine = 2, srcSpanEndColumn = 30}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 20, srcSpanEndLine = 2, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 20, srcSpanEndLine = 2, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 20, srcSpanEndLine = 2, srcSpanEndColumn = 27}, srcInfoPoints = []}) "Integer"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 31, srcSpanEndLine = 2, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 31, srcSpanEndLine = 2, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 2, srcSpanStartColumn = 31, srcSpanEndLine = 2, srcSpanEndColumn = 38}, srcInfoPoints = []}) "Integer"))))),TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 19}]}) Nothing Nothing (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 19}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) "Integer"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 24, srcSpanEndLine = 3, srcSpanEndColumn = 26}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 23}, srcInfoPoints = []}) "Int"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 27, srcSpanEndLine = 3, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 27, srcSpanEndLine = 3, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 3, srcSpanStartColumn = 27, srcSpanEndLine = 3, srcSpanEndColumn = 34}, srcInfoPoints = []}) "Integer"))))),TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 15}]}) Nothing Nothing (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 13, srcSpanEndLine = 4, srcSpanEndColumn = 15}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 12}, srcInfoPoints = []}) "Int"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 20, srcSpanEndLine = 4, srcSpanEndColumn = 22}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 16, srcSpanEndLine = 4, srcSpanEndColumn = 19}, srcInfoPoints = []}) "Int"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 23, srcSpanEndLine = 4, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 23, srcSpanEndLine = 4, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 4, srcSpanStartColumn = 23, srcSpanEndLine = 4, srcSpanEndColumn = 26}, srcInfoPoints = []}) "Int")))))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 3, srcSpanEndLine = 6, srcSpanEndColumn = 5}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 2}, srcInfoPoints = []}) "x"] (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 6, srcSpanEndLine = 6, srcSpanEndColumn = 40}, srcInfoPoints = []}) Nothing (Just (CxTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 6, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 6, srcSpanEndLine = 6, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 24, srcSpanEndLine = 6, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 26, srcSpanEndLine = 6, srcSpanEndColumn = 28}]}) [ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 7, srcSpanEndLine = 6, srcSpanEndColumn = 10}, srcInfoPoints = []}) "Num")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 12}, srcInfoPoints = []}) "a")],ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 14, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 14, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 14, srcSpanEndLine = 6, srcSpanEndColumn = 22}, srcInfoPoints = []}) "Integral")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 23, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 23, srcSpanEndLine = 6, srcSpanEndColumn = 24}, srcInfoPoints = []}) "b")]])) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 29, srcSpanEndLine = 6, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 31, srcSpanEndLine = 6, srcSpanEndColumn = 33}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 29, srcSpanEndLine = 6, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 29, srcSpanEndLine = 6, srcSpanEndColumn = 30}, srcInfoPoints = []}) "a")) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 34, srcSpanEndLine = 6, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 36, srcSpanEndLine = 6, srcSpanEndColumn = 38}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 34, srcSpanEndLine = 6, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 34, srcSpanEndLine = 6, srcSpanEndColumn = 35}, srcInfoPoints = []}) "b")) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 39, srcSpanEndLine = 6, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 6, srcSpanStartColumn = 39, srcSpanEndLine = 6, srcSpanEndColumn = 40}, srcInfoPoints = []}) "a"))))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 14}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 2}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 2}, srcInfoPoints = []}) "x")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 7, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 4}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 7, srcSpanStartColumn = 5, srcSpanEndLine = 7, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 7, srcSpanStartColumn = 5, srcSpanEndLine = 7, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 7, srcSpanStartColumn = 5, srcSpanEndLine = 7, srcSpanEndColumn = 14}, srcInfoPoints = []}) "undefined")))) Nothing,SpecInlineSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 9, srcSpanStartColumn = 1, srcSpanEndLine = 9, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 9, srcSpanStartColumn = 31, srcSpanEndLine = 9, srcSpanEndColumn = 33},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 38, srcSpanEndLine = 10, srcSpanEndColumn = 39},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 34, srcSpanEndLine = 11, srcSpanEndColumn = 35},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 27, srcSpanEndLine = 12, srcSpanEndColumn = 30}]}) True (Just (ActiveFrom (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 9, srcSpanStartColumn = 23, srcSpanEndLine = 9, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 9, srcSpanStartColumn = 23, srcSpanEndLine = 9, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 9, srcSpanStartColumn = 24, srcSpanEndLine = 9, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 9, srcSpanStartColumn = 27, srcSpanEndLine = 9, srcSpanEndColumn = 28}]}) 999)) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 9, srcSpanStartColumn = 29, srcSpanEndLine = 9, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 9, srcSpanStartColumn = 29, srcSpanEndLine = 9, srcSpanEndColumn = 30}, srcInfoPoints = []}) "y")) [TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 9, srcSpanEndLine = 10, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 17, srcSpanEndLine = 10, srcSpanEndColumn = 19}]}) Nothing Nothing (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 9, srcSpanEndLine = 10, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 17, srcSpanEndLine = 10, srcSpanEndColumn = 19}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 9, srcSpanEndLine = 10, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 9, srcSpanEndLine = 10, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 9, srcSpanEndLine = 10, srcSpanEndColumn = 16}, srcInfoPoints = []}) "Integer"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 20, srcSpanEndLine = 10, srcSpanEndColumn = 38}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 28, srcSpanEndLine = 10, srcSpanEndColumn = 30}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 20, srcSpanEndLine = 10, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 20, srcSpanEndLine = 10, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 20, srcSpanEndLine = 10, srcSpanEndColumn = 27}, srcInfoPoints = []}) "Integer"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 31, srcSpanEndLine = 10, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 31, srcSpanEndLine = 10, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 10, srcSpanStartColumn = 31, srcSpanEndLine = 10, srcSpanEndColumn = 38}, srcInfoPoints = []}) "Integer"))))),TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 17, srcSpanEndLine = 11, srcSpanEndColumn = 19}]}) Nothing Nothing (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 17, srcSpanEndLine = 11, srcSpanEndColumn = 19}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 16}, srcInfoPoints = []}) "Integer"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 20, srcSpanEndLine = 11, srcSpanEndColumn = 34}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 24, srcSpanEndLine = 11, srcSpanEndColumn = 26}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 20, srcSpanEndLine = 11, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 20, srcSpanEndLine = 11, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 20, srcSpanEndLine = 11, srcSpanEndColumn = 23}, srcInfoPoints = []}) "Int"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 27, srcSpanEndLine = 11, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 27, srcSpanEndLine = 11, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 11, srcSpanStartColumn = 27, srcSpanEndLine = 11, srcSpanEndColumn = 34}, srcInfoPoints = []}) "Integer"))))),TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 9, srcSpanEndLine = 12, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 13, srcSpanEndLine = 12, srcSpanEndColumn = 15}]}) Nothing Nothing (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 9, srcSpanEndLine = 12, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 13, srcSpanEndLine = 12, srcSpanEndColumn = 15}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 9, srcSpanEndLine = 12, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 9, srcSpanEndLine = 12, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 9, srcSpanEndLine = 12, srcSpanEndColumn = 12}, srcInfoPoints = []}) "Int"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 16, srcSpanEndLine = 12, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 20, srcSpanEndLine = 12, srcSpanEndColumn = 22}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 16, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 16, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 16, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) "Int"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 23, srcSpanEndLine = 12, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 23, srcSpanEndLine = 12, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 12, srcSpanStartColumn = 23, srcSpanEndLine = 12, srcSpanEndColumn = 26}, srcInfoPoints = []}) "Int")))))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 1, srcSpanEndLine = 14, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 3, srcSpanEndLine = 14, srcSpanEndColumn = 5}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 1, srcSpanEndLine = 14, srcSpanEndColumn = 2}, srcInfoPoints = []}) "y"] (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 6, srcSpanEndLine = 14, srcSpanEndColumn = 40}, srcInfoPoints = []}) Nothing (Just (CxTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 6, srcSpanEndLine = 14, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 6, srcSpanEndLine = 14, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 12, srcSpanEndLine = 14, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 24, srcSpanEndLine = 14, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 26, srcSpanEndLine = 14, srcSpanEndColumn = 28}]}) [ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 7, srcSpanEndLine = 14, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 7, srcSpanEndLine = 14, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 7, srcSpanEndLine = 14, srcSpanEndColumn = 10}, srcInfoPoints = []}) "Num")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 11, srcSpanEndLine = 14, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 11, srcSpanEndLine = 14, srcSpanEndColumn = 12}, srcInfoPoints = []}) "a")],ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 14, srcSpanEndLine = 14, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 14, srcSpanEndLine = 14, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 14, srcSpanEndLine = 14, srcSpanEndColumn = 22}, srcInfoPoints = []}) "Integral")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 23, srcSpanEndLine = 14, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 23, srcSpanEndLine = 14, srcSpanEndColumn = 24}, srcInfoPoints = []}) "b")]])) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 29, srcSpanEndLine = 14, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 31, srcSpanEndLine = 14, srcSpanEndColumn = 33}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 29, srcSpanEndLine = 14, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 29, srcSpanEndLine = 14, srcSpanEndColumn = 30}, srcInfoPoints = []}) "a")) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 34, srcSpanEndLine = 14, srcSpanEndColumn = 40}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 36, srcSpanEndLine = 14, srcSpanEndColumn = 38}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 34, srcSpanEndLine = 14, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 34, srcSpanEndLine = 14, srcSpanEndColumn = 35}, srcInfoPoints = []}) "b")) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 39, srcSpanEndLine = 14, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 14, srcSpanStartColumn = 39, srcSpanEndLine = 14, srcSpanEndColumn = 40}, srcInfoPoints = []}) "a"))))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 14}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 2}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 2}, srcInfoPoints = []}) "y")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 15, srcSpanStartColumn = 3, srcSpanEndLine = 15, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 15, srcSpanStartColumn = 3, srcSpanEndLine = 15, srcSpanEndColumn = 4}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 14}, srcInfoPoints = []}) "undefined")))) Nothing],[Comment True (SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 24}) "# INLINABLE [1] x #",Comment True (SrcSpan {srcSpanFilename = "tests/examples/SpecializePhaseControl.hs", srcSpanStartLine = 13, srcSpanStartColumn = 1, srcSpanEndLine = 13, srcSpanEndColumn = 24}) "# INLINABLE [1] y #"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 16 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 1+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 1+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 1+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 1 6 1+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 1+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 1 9 1+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 1 14 1+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 1+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 16 1 16 1+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 16 1 16 1+ ]+ }+ Nothing+ []+ []+ [ SpecSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 4 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 15+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 22 1 24+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 38 2 39+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 34 3 35+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 27 4 30+ ]+ }+ (Just+ (ActiveFrom+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 16 1 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 16 1 17+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 17 1 18+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 18 1 19+ ]+ }+ 1))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 20 1 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 20 1 21+ , srcInfoPoints = []+ }+ "x"))+ [ TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 17 2 19 ]+ }+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 17 2 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 16+ , srcInfoPoints = []+ }+ "Integer")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 28 2 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 27+ , srcInfoPoints = []+ }+ "Integer")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 31 2 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 31 2 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 31 2 38+ , srcInfoPoints = []+ }+ "Integer")))))+ , TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 17 3 19 ]+ }+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 17 3 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 16+ , srcInfoPoints = []+ }+ "Integer")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 24 3 26 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 23+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 27 3 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 27 3 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 27 3 34+ , srcInfoPoints = []+ }+ "Integer")))))+ , TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 13 4 15 ]+ }+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 13 4 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 20 4 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 19+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 23 4 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 23 4 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 23 4 26+ , srcInfoPoints = []+ }+ "Int")))))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 1 6 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 3 6 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 1 6 2+ , srcInfoPoints = []+ }+ "x"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 6 6 40+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 6 6 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 6 6 7+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 12 6 13+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 24 6 25+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 26 6 28+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+ , srcInfoPoints = []+ }+ "Integral")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ "b")))+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 29 6 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 31 6 33 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 29 6 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 29 6 30+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 34 6 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 36 6 38 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 34 6 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 34 6 35+ , srcInfoPoints = []+ }+ "b"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 39 6 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 39 6 40+ , srcInfoPoints = []+ }+ "a")))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 2+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 3 7 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 3 7 4 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 5 7 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 5 7 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 5 7 14+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ , SpecInlineSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 1 12 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 1 9 22+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 31 9 33+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 38 10 39+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 34 11 35+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 27 12 30+ ]+ }+ True+ (Just+ (ActiveFrom+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 23 9 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 23 9 24+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 24 9 27+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 27 9 28+ ]+ }+ 999))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 29 9 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 29 9 30+ , srcInfoPoints = []+ }+ "y"))+ [ TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 17 10 19 ]+ }+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 17 10 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 16+ , srcInfoPoints = []+ }+ "Integer")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 28 10 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 27+ , srcInfoPoints = []+ }+ "Integer")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 31 10 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 31 10 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 31 10 38+ , srcInfoPoints = []+ }+ "Integer")))))+ , TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 17 11 19 ]+ }+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 17 11 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 16+ , srcInfoPoints = []+ }+ "Integer")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 24 11 26 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 23+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 27 11 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 27 11 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 27 11 34+ , srcInfoPoints = []+ }+ "Integer")))))+ , TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 13 12 15 ]+ }+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 13 12 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 12+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 20 12 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 19+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ "Int")))))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 1 14 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 3 14 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 1 14 2+ , srcInfoPoints = []+ }+ "y"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 6 14 40+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 6 14 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 6 14 7+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 12 14 13+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 24 14 25+ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 26 14 28+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+ , srcInfoPoints = []+ }+ "Integral")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24+ , srcInfoPoints = []+ }+ "b")))+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 29 14 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 31 14 33 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 29 14 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 29 14 30+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 34 14 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 36 14 38 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 34 14 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 34 14 35+ , srcInfoPoints = []+ }+ "b"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 39 14 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 39 14 40+ , srcInfoPoints = []+ }+ "a")))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 2+ , srcInfoPoints = []+ }+ "y"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 3 15 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 3 15 4 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 5 15 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 5 15 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 5 15 14+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ , [ Comment+ True+ (SrcSpan "tests/examples/SpecializePhaseControl.hs" 5 1 5 24)+ "# INLINABLE [1] x #"+ , Comment+ True+ (SrcSpan "tests/examples/SpecializePhaseControl.hs" 13 1 13 24)+ "# INLINABLE [1] y #"+ ]+ )
tests/examples/SpecializePhaseControl.hs.prettyprinter.golden view
@@ -1,13 +1,11 @@-module Main (main) where- {-# SPECIALISE [1] x :: Integer -> Integer -> Integer, Integer -> Int -> Integer, Int -> Int -> Int #-}- + x :: (Num a, Integral b) => a -> b -> a x = undefined- + {-# SPECIALISE INLINE [999] y :: Integer -> Integer -> Integer, Integer -> Int -> Integer, Int -> Int -> Int #-}- + y :: (Num a, Integral b) => a -> b -> a y = undefined
+ tests/examples/StarInType.hs view
@@ -0,0 +1,5 @@+{-# language TypeOperators, KindSignatures #-}+data B = B+data a * b = Foo+type A = B * B+main = print 1
+ tests/examples/StarInType.hs.exactprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeOperators, KindSignatures #-}+data B = B+data a * b = Foo+type A = B * B+main = print 1+
+ tests/examples/StarInType.hs.parser.golden view
@@ -0,0 +1,287 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 1 1 1 1+ , SrcSpan "tests/examples/StarInType.hs" 2 1 2 1+ , SrcSpan "tests/examples/StarInType.hs" 2 1 2 1+ , SrcSpan "tests/examples/StarInType.hs" 2 1 2 1+ , SrcSpan "tests/examples/StarInType.hs" 3 1 3 1+ , SrcSpan "tests/examples/StarInType.hs" 4 1 4 1+ , SrcSpan "tests/examples/StarInType.hs" 5 1 5 1+ , SrcSpan "tests/examples/StarInType.hs" 6 1 6 1+ , SrcSpan "tests/examples/StarInType.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 1 1 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 1 1 1 13+ , SrcSpan "tests/examples/StarInType.hs" 1 27 1 28+ , SrcSpan "tests/examples/StarInType.hs" 1 44 1 47+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 29 1 43+ , srcInfoPoints = []+ }+ "KindSignatures"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 1 2 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 2 8 2 9 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 1 2 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 6 2 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 6 2 7+ , srcInfoPoints = []+ }+ "B"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ "B")+ [])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 1 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 3 12 3 13 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 11+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 11+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "a"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 8 3 9+ , srcInfoPoints = []+ }+ "*"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ "Foo")+ [])+ ]+ []+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 1 4 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 4 1 4 5+ , SrcSpan "tests/examples/StarInType.hs" 4 8 4 9+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "A"))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ "B")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "*")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ "B"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 1 5 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 1 5 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 1 5 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 6 5 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 5 6 5 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 13+ , srcInfoPoints = []+ }+ "print")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ 1+ "1"))))+ Nothing+ ]+ , []+ )
+ tests/examples/StarInType.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/StarInType.hs.prettyprinter.golden view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeOperators, KindSignatures #-}++data B = B++data a * b = Foo++type A = B * B+main = print 1
+ tests/examples/T11727.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE PatternSynonyms #-}++module T11727 where++pattern A,B :: Int+pattern A = 5+pattern B = 5+
+ tests/examples/T11727.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T11727.hs.parser.golden view
@@ -0,0 +1,180 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 1 1 1 1+ , SrcSpan "tests/examples/T11727.hs" 3 1 3 1+ , SrcSpan "tests/examples/T11727.hs" 3 1 3 1+ , SrcSpan "tests/examples/T11727.hs" 5 1 5 1+ , SrcSpan "tests/examples/T11727.hs" 6 1 6 1+ , SrcSpan "tests/examples/T11727.hs" 7 1 7 1+ , SrcSpan "tests/examples/T11727.hs" 9 1 9 1+ , SrcSpan "tests/examples/T11727.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 3 1 3 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 3 1 3 7+ , SrcSpan "tests/examples/T11727.hs" 3 15 3 20+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ "T11727")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 1 1 1 13+ , SrcSpan "tests/examples/T11727.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ []+ [ PatSynSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 1 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 5 1 5 8+ , SrcSpan "tests/examples/T11727.hs" 5 10 5 11+ , SrcSpan "tests/examples/T11727.hs" 5 13 5 15+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ "A"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ "B"+ ]+ Nothing+ Nothing+ Nothing+ Nothing+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ "Int")))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 1 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 6 1 6 8+ , SrcSpan "tests/examples/T11727.hs" 6 11 6 12+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ "A"))+ [])+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 13 6 14+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ 5+ "5"))+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 1 7 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 7 1 7 8+ , SrcSpan "tests/examples/T11727.hs" 7 11 7 12+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ "B"))+ [])+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 13 7 14+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ 5+ "5"))+ ImplicitBidirectional+ ]+ , []+ )
+ tests/examples/T11727.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T11727.hs.prettyprinter.golden view
@@ -0,0 +1,8 @@+{-# LANGUAGE PatternSynonyms #-}+module T11727 where++pattern A, B :: Int++pattern A = 5++pattern B = 5
+ tests/examples/T13050.hs view
@@ -0,0 +1,7 @@+module HolesInfix where++f, g, q :: Int -> Int -> Int+f x y = _ x y+g x y = x `_` y+q x y = x `_a` y+
+ tests/examples/T13050.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T13050.hs.parser.golden view
@@ -0,0 +1,439 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 1 1 1 1+ , SrcSpan "tests/examples/T13050.hs" 1 1 1 1+ , SrcSpan "tests/examples/T13050.hs" 3 1 3 1+ , SrcSpan "tests/examples/T13050.hs" 4 1 4 1+ , SrcSpan "tests/examples/T13050.hs" 5 1 5 1+ , SrcSpan "tests/examples/T13050.hs" 6 1 6 1+ , SrcSpan "tests/examples/T13050.hs" 8 1 8 1+ , SrcSpan "tests/examples/T13050.hs" 8 1 8 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 1 1 1 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 1 1 1 7+ , SrcSpan "tests/examples/T13050.hs" 1 19 1 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 1 8 1 18+ , srcInfoPoints = []+ }+ "HolesInfix")+ Nothing+ Nothing))+ []+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 1 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 3 2 3 3+ , SrcSpan "tests/examples/T13050.hs" 3 5 3 6+ , SrcSpan "tests/examples/T13050.hs" 3 9 3 11+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 4 3 5+ , srcInfoPoints = []+ }+ "g"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 7 3 8+ , srcInfoPoints = []+ }+ "q"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 29+ , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 3 16 3 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 29+ , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 3 23 3 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 22+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 26 3 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 26 3 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 26 3 29+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 1 4 14+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 1 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 7 4 14+ , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 4 7 4 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 10+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ "x"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 1 5 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 1 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ "g")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 3 5 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 3 5 4+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 7 5 16+ , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 5 7 5 8 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 11 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 5 11 5 12+ , SrcSpan "tests/examples/T13050.hs" 5 12 5 13+ , SrcSpan "tests/examples/T13050.hs" 5 13 5 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 11 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 5 11 5 12+ , SrcSpan "tests/examples/T13050.hs" 5 12 5 13+ , SrcSpan "tests/examples/T13050.hs" 5 13 5 14+ ]+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 12 5 13+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 1 6 17+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 1 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 1 6 2+ , srcInfoPoints = []+ }+ "q")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 3 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 3 6 4+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 5 6 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 5 6 6+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 7 6 17+ , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 6 7 6 8 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 11 6 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 6 11 6 12+ , SrcSpan "tests/examples/T13050.hs" 6 12 6 14+ , SrcSpan "tests/examples/T13050.hs" 6 14 6 15+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 11 6 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 6 11 6 12+ , SrcSpan "tests/examples/T13050.hs" 6 12 6 14+ , SrcSpan "tests/examples/T13050.hs" 6 14 6 15+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 12 6 14+ , srcInfoPoints = []+ }+ "_a")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/T13050.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T13050.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+module HolesInfix where++f, g, q :: Int -> Int -> Int+f x y = _ x y+g x y = x `_` y+q x y = x `_a` y
+ tests/examples/T326.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeApplications #-}+module T326 where++(@:) a b = a
+ tests/examples/T326.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T326.hs.parser.golden view
@@ -0,0 +1,116 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 1 1 1 1+ , SrcSpan "tests/examples/T326.hs" 2 1 2 1+ , SrcSpan "tests/examples/T326.hs" 2 1 2 1+ , SrcSpan "tests/examples/T326.hs" 4 1 4 1+ , SrcSpan "tests/examples/T326.hs" 5 1 5 1+ , SrcSpan "tests/examples/T326.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 2 1 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 2 1 2 7+ , SrcSpan "tests/examples/T326.hs" 2 13 2 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 2 8 2 12+ , srcInfoPoints = []+ }+ "T326")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 1 1 1 13+ , SrcSpan "tests/examples/T326.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 1 4 13+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 1 4 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 4 1 4 2+ , SrcSpan "tests/examples/T326.hs" 4 2 4 4+ , SrcSpan "tests/examples/T326.hs" 4 4 4 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 2 4 4+ , srcInfoPoints = []+ }+ "@:")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 10 4 13+ , srcInfoPoints = [ SrcSpan "tests/examples/T326.hs" 4 10 4 11 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "a"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/T326.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T326.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE TypeApplications #-}+module T326 where+(@:) a b = a
+ tests/examples/THTSplices.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH+main = undefined :: $(undefined)
+ tests/examples/THTSplices.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/THTSplices.hs.parser.golden view
@@ -0,0 +1,133 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTSplices.hs" 1 1 1 1+ , SrcSpan "tests/examples/THTSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTSplices.hs" 3 1 3 1+ , SrcSpan "tests/examples/THTSplices.hs" 4 1 4 1+ , SrcSpan "tests/examples/THTSplices.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTSplices.hs" 1 1 1 13+ , SrcSpan "tests/examples/THTSplices.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTSplices.hs" 2 1 2 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 2 8 2 27+ , srcInfoPoints = []+ }+ "Language.Haskell.TH"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 1 3 33+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 6 3 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTSplices.hs" 3 6 3 7 ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 8 3 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTSplices.hs" 3 18 3 20 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 8 3 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 8 3 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 8 3 17+ , srcInfoPoints = []+ }+ "undefined")))+ (TySplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 21 3 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTSplices.hs" 3 21 3 23+ , SrcSpan "tests/examples/THTSplices.hs" 3 32 3 33+ ]+ }+ (ParenSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 21 3 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTSplices.hs" 3 21 3 23+ , SrcSpan "tests/examples/THTSplices.hs" 3 32 3 33+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 23 3 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 23 3 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTSplices.hs" 3 23 3 32+ , srcInfoPoints = []+ }+ "undefined")))))))+ Nothing+ ]+ , []+ )
+ tests/examples/THTSplices.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/THTSplices.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH+main = undefined :: $( undefined )
+ tests/examples/THTypedSplices.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH++import THTypedSplices.Defs++main = $$justTH ($$([e|| 2 ||]))
+ tests/examples/THTypedSplices.hs.exactprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH++import THTypedSplices.Defs++main = $$justTH ($$([|| 2 ||]))+
+ tests/examples/THTypedSplices.hs.parser.golden view
@@ -0,0 +1,177 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 7 1 7 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 13+ , SrcSpan "tests/examples/THTypedSplices.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 2 8 2 27+ , srcInfoPoints = []+ }+ "Language.Haskell.TH"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 4 8 4 27+ , srcInfoPoints = []+ }+ "THTypedSplices.Defs"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 33+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 6 6 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 6 6 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 33+ , srcInfoPoints = []+ }+ (SpliceExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 16+ , srcInfoPoints = []+ }+ (TIdSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 16+ , srcInfoPoints = []+ }+ "justTH"))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 17 6 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 17 6 18+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 32 6 33+ ]+ }+ (SpliceExp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 21+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 31 6 32+ ]+ }+ (TParenSplice+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 21+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 31 6 32+ ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 25+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 28 6 31+ ]+ }+ (TExpBracket+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 25+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 28 6 31+ ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ 2+ "2")))))))))+ Nothing+ ]+ , []+ )
+ tests/examples/THTypedSplices.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/THTypedSplices.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH+import THTypedSplices.Defs+main = $$justTH ($$( [|| 2 ||] ))
tests/examples/THTypes.hs view
@@ -6,6 +6,6 @@ import Language.Haskell.TH x :: DecsQ-x = [d| instance Show $(conT (mkName \"Int\")) |]+x = [d| instance Show $(conT (mkName "Int")) |] unit x = [t| $x |]
tests/examples/THTypes.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/THTypes.hs", srcLine = 9, srcColumn = 23}) "Parse error: $("+Match
tests/examples/THTypes.hs.parser.golden view
@@ -1,1 +1,363 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/THTypes.hs", srcLine = 9, srcColumn = 23}) "Parse error: $("+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 1 1 12 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 1 1 1 1+ , SrcSpan "tests/examples/THTypes.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTypes.hs" 3 1 3 1+ , SrcSpan "tests/examples/THTypes.hs" 4 1 4 1+ , SrcSpan "tests/examples/THTypes.hs" 4 1 4 1+ , SrcSpan "tests/examples/THTypes.hs" 6 1 6 1+ , SrcSpan "tests/examples/THTypes.hs" 8 1 8 1+ , SrcSpan "tests/examples/THTypes.hs" 9 1 9 1+ , SrcSpan "tests/examples/THTypes.hs" 11 1 11 1+ , SrcSpan "tests/examples/THTypes.hs" 12 1 12 1+ , SrcSpan "tests/examples/THTypes.hs" 12 1 12 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 4 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 4 1 4 7+ , SrcSpan "tests/examples/THTypes.hs" 4 16 4 21+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 4 8 4 15+ , srcInfoPoints = []+ }+ "THTypes")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 1 1 1 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 1 1 1 13+ , SrcSpan "tests/examples/THTypes.hs" 1 32 1 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 1 14 1 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 2 1 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 2 1 2 13+ , SrcSpan "tests/examples/THTypes.hs" 2 30 2 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 2 14 2 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 3 1 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 3 1 3 13+ , SrcSpan "tests/examples/THTypes.hs" 3 26 3 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 3 14 3 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 6 1 6 27+ , srcInfoPoints = [ SrcSpan "tests/examples/THTypes.hs" 6 1 6 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 6 8 6 27+ , srcInfoPoints = []+ }+ "Language.Haskell.TH"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 8 1 8 11+ , srcInfoPoints = [ SrcSpan "tests/examples/THTypes.hs" 8 3 8 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 8 1 8 2+ , srcInfoPoints = []+ }+ "x"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 8 6 8 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 8 6 8 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 8 6 8 11+ , srcInfoPoints = []+ }+ "DecsQ")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 1 9 48+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 1 9 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 1 9 2+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 3 9 48+ , srcInfoPoints = [ SrcSpan "tests/examples/THTypes.hs" 9 3 9 4 ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 5 9 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 9 5 9 8+ , SrcSpan "tests/examples/THTypes.hs" 9 46 9 48+ ]+ }+ (DeclBracket+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 5 9 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 9 9 9 9+ , SrcSpan "tests/examples/THTypes.hs" 9 46 9 46+ , SrcSpan "tests/examples/THTypes.hs" 9 46 9 48+ ]+ }+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 9 9 45+ , srcInfoPoints = [ SrcSpan "tests/examples/THTypes.hs" 9 9 9 17 ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 18 9 45+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 18 9 45+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypes.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ "Show")))+ (TySplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 23 9 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 9 23 9 25+ , SrcSpan "tests/examples/THTypes.hs" 9 44 9 45+ ]+ }+ (ParenSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 23 9 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 9 23 9 25+ , SrcSpan "tests/examples/THTypes.hs" 9 44 9 45+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypes.hs" 9 25 9 44+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypes.hs" 9 25 9 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypes.hs" 9 25 9 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypes.hs" 9 25 9 29+ , srcInfoPoints = []+ }+ "conT")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypes.hs" 9 30 9 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 9 30 9 31+ , SrcSpan "tests/examples/THTypes.hs" 9 43 9 44+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypes.hs" 9 31 9 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypes.hs" 9 31 9 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/THTypes.hs" 9 31 9 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/THTypes.hs" 9 31 9 37+ , srcInfoPoints = []+ }+ "mkName")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypes.hs" 9 38 9 43+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/THTypes.hs" 9 38 9 43+ , srcInfoPoints = []+ }+ "Int"+ "Int")))))))))+ Nothing+ ])))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 1 11 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 1 11 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 1 11 5+ , srcInfoPoints = []+ }+ "unit")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 6 11 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 6 11 7+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 8 11 19+ , srcInfoPoints = [ SrcSpan "tests/examples/THTypes.hs" 11 8 11 9 ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 10 11 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 11 10 11 13+ , SrcSpan "tests/examples/THTypes.hs" 11 17 11 19+ ]+ }+ (TypeBracket+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 10 11 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypes.hs" 11 10 11 13+ , SrcSpan "tests/examples/THTypes.hs" 11 17 11 19+ ]+ }+ (TySplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 14 11 16+ , srcInfoPoints = []+ }+ (IdSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 14 11 16+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ ]+ , []+ )
tests/examples/THTypes.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/THTypes.hs", srcLine = 9, srcColumn = 23}) "Parse error: $("+Match
tests/examples/THTypes.hs.prettyprinter.golden view
@@ -1,1 +1,12 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/THTypes.hs", srcLine = 9, srcColumn = 23}) "Parse error: $("+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE QuasiQuotes #-}+module THTypes where+import Language.Haskell.TH++x :: DecsQ+x = [d|+ + instance Show $( conT (mkName "Int") )+ |]+unit x = [t| $x |]
tests/examples/TabWhitespace.hs.parser.golden view
@@ -1,1 +1,19 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TabWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TabWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TabWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TabWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TabWhitespace.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1}]}) Nothing [] [] [],[Comment False (SrcSpan {srcSpanFilename = "tests/examples/TabWhitespace.hs", srcSpanStartLine = 1, srcSpanStartColumn = 9, srcSpanEndLine = 1, srcSpanEndColumn = 14}) " hi"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TabWhitespace.hs" 2 1 2 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TabWhitespace.hs" 2 1 2 1+ , SrcSpan "tests/examples/TabWhitespace.hs" 2 1 2 1+ , SrcSpan "tests/examples/TabWhitespace.hs" 2 1 2 1+ , SrcSpan "tests/examples/TabWhitespace.hs" 2 1 2 1+ ]+ }+ Nothing+ []+ []+ []+ , [ Comment+ False (SrcSpan "tests/examples/TabWhitespace.hs" 1 9 1 14) " hi"+ ]+ )
tests/examples/TabWhitespace.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-module Main (main) where+
+ tests/examples/TemplateHaskellQuotedNames.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE TemplateHaskell #-}+f = g 'Constructor 'function+h = g '() '[]
+ tests/examples/TemplateHaskellQuotedNames.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TemplateHaskellQuotedNames.hs.parser.golden view
@@ -0,0 +1,246 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 4 1 4 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 13+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 29+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 3 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 3 2 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 29+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ "g")))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 7 2 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 7 2 8 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 8 2 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 8 2 19+ , srcInfoPoints = []+ }+ "Constructor"))))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 20 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 20 2 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 21 2 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 21 2 29+ , srcInfoPoints = []+ }+ "function")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "h"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 3 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 3 3 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 10+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ "g")))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 7 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 7 3 8 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 9+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 9 3 10+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 9+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 9 3 10+ ]+ }))))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 11 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 11 3 12+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 13+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 13 3 14+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 13+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 13 3 14+ ]+ })))))+ Nothing+ ]+ , []+ )
+ tests/examples/TemplateHaskellQuotedNames.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TemplateHaskellQuotedNames.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE TemplateHaskell #-}+f = g 'Constructor 'function+h = g '() '[]
+ tests/examples/TensorTests.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE ConstraintKinds, FlexibleContexts, DataKinds, NoImplicitPrelude,+ RebindableSyntax, ScopedTypeVariables, TypeFamilies, TypeOperators,+ UndecidableInstances #-}++module TensorTests (tensorTests) where++type TMRParams = ( '(,) <$> Tensors) <*> MRCombos+tmrParams :: Proxy TMRParams+tmrParams = Proxy++--type ExtParams = ( '(,) <$> Tensors) <*> MRExtCombos+type TrEmParams = ( '(,) <$> Tensors) <*> MM'RCombos+tremParams :: Proxy TrEmParams+tremParams = Proxy++type NormParams = ( '(,) <$> '[RT]) <*> (Filter Liftable MRCombos)++--data Liftable :: TyFun (Factored, *) Bool -> *+type instance Apply Liftable '(m,zq) = Int64 :== (LiftOf zq)+
+ tests/examples/TensorTests.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TensorTests.hs.parser.golden view
@@ -0,0 +1,965 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 1 21 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 1 1 1 1+ , SrcSpan "tests/examples/TensorTests.hs" 5 1 5 1+ , SrcSpan "tests/examples/TensorTests.hs" 5 1 5 1+ , SrcSpan "tests/examples/TensorTests.hs" 7 1 7 1+ , SrcSpan "tests/examples/TensorTests.hs" 8 1 8 1+ , SrcSpan "tests/examples/TensorTests.hs" 9 1 9 1+ , SrcSpan "tests/examples/TensorTests.hs" 12 1 12 1+ , SrcSpan "tests/examples/TensorTests.hs" 13 1 13 1+ , SrcSpan "tests/examples/TensorTests.hs" 14 1 14 1+ , SrcSpan "tests/examples/TensorTests.hs" 16 1 16 1+ , SrcSpan "tests/examples/TensorTests.hs" 19 1 19 1+ , SrcSpan "tests/examples/TensorTests.hs" 21 1 21 1+ , SrcSpan "tests/examples/TensorTests.hs" 21 1 21 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 1 5 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 5 1 5 7+ , SrcSpan "tests/examples/TensorTests.hs" 5 34 5 39+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 8 5 19+ , srcInfoPoints = []+ }+ "TensorTests")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 20 5 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 5 20 5 21+ , SrcSpan "tests/examples/TensorTests.hs" 5 32 5 33+ ]+ }+ [ EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 21 5 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 21 5 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 21 5 32+ , srcInfoPoints = []+ }+ "tensorTests"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 1 3 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 1 1 1 13+ , SrcSpan "tests/examples/TensorTests.hs" 1 29 1 30+ , SrcSpan "tests/examples/TensorTests.hs" 1 47 1 48+ , SrcSpan "tests/examples/TensorTests.hs" 1 58 1 59+ , SrcSpan "tests/examples/TensorTests.hs" 1 77 1 78+ , SrcSpan "tests/examples/TensorTests.hs" 2 30 2 31+ , SrcSpan "tests/examples/TensorTests.hs" 2 51 2 52+ , SrcSpan "tests/examples/TensorTests.hs" 2 65 2 66+ , SrcSpan "tests/examples/TensorTests.hs" 2 80 2 81+ , SrcSpan "tests/examples/TensorTests.hs" 3 35 3 38+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 31 1 47+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 49 1 58+ , srcInfoPoints = []+ }+ "DataKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 60 1 77+ , srcInfoPoints = []+ }+ "NoImplicitPrelude"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 14 2 30+ , srcInfoPoints = []+ }+ "RebindableSyntax"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 32 2 51+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 53 2 65+ , srcInfoPoints = []+ }+ "TypeFamilies"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 67 2 80+ , srcInfoPoints = []+ }+ "TypeOperators"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 3 14 3 34+ , srcInfoPoints = []+ }+ "UndecidableInstances"+ ]+ ]+ []+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 1 7 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 1 7 5+ , SrcSpan "tests/examples/TensorTests.hs" 7 16 7 17+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 6 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 6 7 15+ , srcInfoPoints = []+ }+ "TMRParams"))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 18 7 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 18 7 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 18 7 19+ , SrcSpan "tests/examples/TensorTests.hs" 7 36 7 37+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 20 7 36+ , srcInfoPoints = []+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 20 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 20 7 21 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 20 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 20 7 21 ]+ }+ True+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 21 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 21 7 22+ , SrcSpan "tests/examples/TensorTests.hs" 7 22 7 23+ , SrcSpan "tests/examples/TensorTests.hs" 7 23 7 24+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 21 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 21 7 22+ , SrcSpan "tests/examples/TensorTests.hs" 7 22 7 23+ , SrcSpan "tests/examples/TensorTests.hs" 7 23 7 24+ ]+ }+ Boxed+ 2))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 25 7 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 25 7 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 25 7 28+ , srcInfoPoints = []+ }+ "<$>")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 29 7 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 29 7 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 29 7 36+ , srcInfoPoints = []+ }+ "Tensors")))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 38 7 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 38 7 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 38 7 41+ , srcInfoPoints = []+ }+ "<*>")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 42 7 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 42 7 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 42 7 50+ , srcInfoPoints = []+ }+ "MRCombos"))))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 1 8 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 8 11 8 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 1 8 10+ , srcInfoPoints = []+ }+ "tmrParams"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 20 8 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 20 8 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 20 8 29+ , srcInfoPoints = []+ }+ "TMRParams"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 1 9 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 1 9 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 1 9 10+ , srcInfoPoints = []+ }+ "tmrParams"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 11 9 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 9 11 9 12 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 13 9 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 13 9 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 13 9 18+ , srcInfoPoints = []+ }+ "Proxy"))))+ Nothing+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 1 12 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 1 12 5+ , SrcSpan "tests/examples/TensorTests.hs" 12 17 12 18+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 6 12 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 6 12 16+ , srcInfoPoints = []+ }+ "TrEmParams"))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 19 12 53+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 19 12 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 19 12 20+ , SrcSpan "tests/examples/TensorTests.hs" 12 37 12 38+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 21 12 37+ , srcInfoPoints = []+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 21 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 21 12 22 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 21 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 21 12 22 ]+ }+ True+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 22 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 22 12 23+ , SrcSpan "tests/examples/TensorTests.hs" 12 23 12 24+ , SrcSpan "tests/examples/TensorTests.hs" 12 24 12 25+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 22 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 22 12 23+ , SrcSpan "tests/examples/TensorTests.hs" 12 23 12 24+ , SrcSpan "tests/examples/TensorTests.hs" 12 24 12 25+ ]+ }+ Boxed+ 2))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 26 12 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 26 12 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 26 12 29+ , srcInfoPoints = []+ }+ "<$>")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 30 12 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 30 12 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 30 12 37+ , srcInfoPoints = []+ }+ "Tensors")))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 39 12 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 39 12 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 39 12 42+ , srcInfoPoints = []+ }+ "<*>")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 43 12 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 43 12 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 43 12 53+ , srcInfoPoints = []+ }+ "MM'RCombos"))))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 1 13 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 13 12 13 14 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 1 13 11+ , srcInfoPoints = []+ }+ "tremParams"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 20+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 21 13 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 21 13 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 21 13 31+ , srcInfoPoints = []+ }+ "TrEmParams"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 1 14 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 1 14 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 1 14 11+ , srcInfoPoints = []+ }+ "tremParams"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 12 14 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 14 12 14 13 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 14 14 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 14 14 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 14 14 19+ , srcInfoPoints = []+ }+ "Proxy"))))+ Nothing+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 1 16 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 1 16 5+ , SrcSpan "tests/examples/TensorTests.hs" 16 17 16 18+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 6 16 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 6 16 16+ , srcInfoPoints = []+ }+ "NormParams"))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 19 16 67+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 19 16 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 19 16 20+ , SrcSpan "tests/examples/TensorTests.hs" 16 35 16 36+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 21 16 35+ , srcInfoPoints = []+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 21 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 21 16 22 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 21 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 21 16 22 ]+ }+ True+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 22 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 22 16 23+ , SrcSpan "tests/examples/TensorTests.hs" 16 23 16 24+ , SrcSpan "tests/examples/TensorTests.hs" 16 24 16 25+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 22 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 22 16 23+ , SrcSpan "tests/examples/TensorTests.hs" 16 23 16 24+ , SrcSpan "tests/examples/TensorTests.hs" 16 24 16 25+ ]+ }+ Boxed+ 2))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 26 16 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 26 16 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 26 16 29+ , srcInfoPoints = []+ }+ "<$>")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 30 16 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 30 16 31+ , SrcSpan "tests/examples/TensorTests.hs" 16 34 16 35+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 30 16 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 30 16 31+ , SrcSpan "tests/examples/TensorTests.hs" 16 34 16 35+ ]+ }+ True+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 32 16 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TensorTests.hs" 16 32 16 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TensorTests.hs" 16 32 16 34+ , srcInfoPoints = []+ }+ "RT"))+ ]))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 37 16 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 37 16 40+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 37 16 40+ , srcInfoPoints = []+ }+ "<*>")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 41 16 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 41 16 42+ , SrcSpan "tests/examples/TensorTests.hs" 16 66 16 67+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 66+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 57+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 48+ , srcInfoPoints = []+ }+ "Filter")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 49 16 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 49 16 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 49 16 57+ , srcInfoPoints = []+ }+ "Liftable"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 58 16 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 58 16 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 58 16 66+ , srcInfoPoints = []+ }+ "MRCombos"))))))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 1 19 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 19 1 19 5+ , SrcSpan "tests/examples/TensorTests.hs" 19 6 19 14+ , SrcSpan "tests/examples/TensorTests.hs" 19 38 19 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 20+ , srcInfoPoints = []+ }+ "Apply")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 21 19 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 21 19 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 21 19 29+ , srcInfoPoints = []+ }+ "Liftable"))))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 30 19 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 19 30 19 31+ , SrcSpan "tests/examples/TensorTests.hs" 19 33 19 34+ , SrcSpan "tests/examples/TensorTests.hs" 19 36 19 37+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 30 19 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 19 30 19 31+ , SrcSpan "tests/examples/TensorTests.hs" 19 33 19 34+ , SrcSpan "tests/examples/TensorTests.hs" 19 36 19 37+ ]+ }+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 32 19 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 32 19 33+ , srcInfoPoints = []+ }+ "m")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 34 19 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 34 19 36+ , srcInfoPoints = []+ }+ "zq")+ ])))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 45+ , srcInfoPoints = []+ }+ "Int64")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 46 19 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 46 19 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 46 19 49+ , srcInfoPoints = []+ }+ ":==")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 50 19 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 19 50 19 51+ , SrcSpan "tests/examples/TensorTests.hs" 19 60 19 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 60+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 57+ , srcInfoPoints = []+ }+ "LiftOf")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 58 19 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 58 19 60+ , srcInfoPoints = []+ }+ "zq")))))+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/TensorTests.hs" 11 1 11 55)+ "type ExtParams = ( '(,) <$> Tensors) <*> MRExtCombos"+ , Comment+ False+ (SrcSpan "tests/examples/TensorTests.hs" 18 1 18 49)+ "data Liftable :: TyFun (Factored, *) Bool -> *"+ ]+ )
+ tests/examples/TensorTests.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TensorTests.hs.prettyprinter.golden view
@@ -0,0 +1,18 @@+{-# LANGUAGE ConstraintKinds, FlexibleContexts, DataKinds,+ NoImplicitPrelude, RebindableSyntax, ScopedTypeVariables,+ TypeFamilies, TypeOperators, UndecidableInstances #-}+module TensorTests (tensorTests) where++type TMRParams = ('(,) <$> Tensors) <*> MRCombos++tmrParams :: Proxy TMRParams+tmrParams = Proxy++type TrEmParams = ('(,) <$> Tensors) <*> MM'RCombos++tremParams :: Proxy TrEmParams+tremParams = Proxy++type NormParams = ('(,) <$> '[RT]) <*> (Filter Liftable MRCombos)++type instance Apply Liftable '(m, zq) = Int64 :== (LiftOf zq)
tests/examples/Testing.hs.parser.golden view
@@ -1,1 +1,89 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1}]}) Nothing [] [] [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 17}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 6, srcSpanEndLine = 2, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 6, srcSpanEndLine = 2, srcSpanEndColumn = 7}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 14}, srcInfoPoints = []}) "return"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 15, srcSpanEndLine = 2, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 15, srcSpanEndLine = 2, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 16, srcSpanEndLine = 2, srcSpanEndColumn = 17}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 15, srcSpanEndLine = 2, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 15, srcSpanEndLine = 2, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 16, srcSpanEndLine = 2, srcSpanEndColumn = 17}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 15, srcSpanEndLine = 2, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 15, srcSpanEndLine = 2, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 2, srcSpanStartColumn = 16, srcSpanEndLine = 2, srcSpanEndColumn = 17}]})))))) Nothing],[Comment True (SrcSpan {srcSpanFilename = "tests/examples/Testing.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 46}) "# LINE 5 \"templates\\GenericTemplate.hs\" #"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Testing.hs" 2 1 2 1+ , SrcSpan "tests/examples/Testing.hs" 2 1 2 1+ , SrcSpan "tests/examples/Testing.hs" 2 1 2 1+ , SrcSpan "tests/examples/Testing.hs" 3 1 3 1+ , SrcSpan "tests/examples/Testing.hs" 3 1 3 1+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 1 2 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 1 2 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 1 2 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 6 2 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Testing.hs" 2 6 2 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 8 2 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 8 2 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 8 2 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 8 2 14+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 15 2 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Testing.hs" 2 15 2 16+ , SrcSpan "tests/examples/Testing.hs" 2 16 2 17+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 15 2 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Testing.hs" 2 15 2 16+ , SrcSpan "tests/examples/Testing.hs" 2 16 2 17+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Testing.hs" 2 15 2 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Testing.hs" 2 15 2 16+ , SrcSpan "tests/examples/Testing.hs" 2 16 2 17+ ]+ })))))+ Nothing+ ]+ , [ Comment+ True+ (SrcSpan "tests/examples/Testing.hs" 1 1 1 46)+ "# LINE 5 \"templates\\GenericTemplate.hs\" #"+ ]+ )
tests/examples/Testing.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@-module Main (main) where main = return ()
+ tests/examples/TrailingWhere.hs view
@@ -0,0 +1,5 @@+fail = x+ where+ broken = 24+ where+ x = 413
+ tests/examples/TrailingWhere.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TrailingWhere.hs.parser.golden view
@@ -0,0 +1,148 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 1 1 6 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere.hs" 1 1 1 1+ , SrcSpan "tests/examples/TrailingWhere.hs" 1 1 1 1+ , SrcSpan "tests/examples/TrailingWhere.hs" 1 1 1 1+ , SrcSpan "tests/examples/TrailingWhere.hs" 6 1 6 0+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 1 1 5 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere.hs" 2 5 2 10 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 1 1 1 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 1 1 1 5+ , srcInfoPoints = []+ }+ "fail"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 1 6 1 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere.hs" 1 6 1 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ "x"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 3 5 5 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere.hs" 3 5 3 5+ , SrcSpan "tests/examples/TrailingWhere.hs" 5 5 5 5+ , SrcSpan "tests/examples/TrailingWhere.hs" 6 1 6 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 3 5 5 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere.hs" 4 9 4 14 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 3 5 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 3 5 3 11+ , srcInfoPoints = []+ }+ "broken"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 3 12 3 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere.hs" 3 12 3 13 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 3 14 3 16+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 3 14 3 16+ , srcInfoPoints = []+ }+ 24+ "24")))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 5 0 5 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere.hs" 5 5 5 5+ , SrcSpan "tests/examples/TrailingWhere.hs" 5 5 5 5+ , SrcSpan "tests/examples/TrailingWhere.hs" 5 0 5 0+ ]+ }+ []))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 5 5 5 12+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 5 7 5 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere.hs" 5 7 5 8 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 5 9 5 12+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere.hs" 5 9 5 12+ , srcInfoPoints = []+ }+ 413+ "413")))+ Nothing+ ]))+ ]+ , []+ )
+ tests/examples/TrailingWhere.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TrailingWhere.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+fail = x+ where broken = 24+ where+ x = 413
+ tests/examples/TrailingWhere2.hs view
@@ -0,0 +1,6 @@+data Baz = Baz++instance Show Baz where+ show _ = ""+ where+ show _ = ""
+ tests/examples/TrailingWhere2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TrailingWhere2.hs.parser.golden view
@@ -0,0 +1,231 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 1 1 7 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere2.hs" 1 1 1 1+ , SrcSpan "tests/examples/TrailingWhere2.hs" 1 1 1 1+ , SrcSpan "tests/examples/TrailingWhere2.hs" 1 1 1 1+ , SrcSpan "tests/examples/TrailingWhere2.hs" 3 1 3 1+ , SrcSpan "tests/examples/TrailingWhere2.hs" 7 1 7 0+ ]+ }+ Nothing+ []+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 1 1 1 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere2.hs" 1 10 1 11 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 1 1 1 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ "Baz"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 1 12 1 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 1 12 1 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 1 12 1 15+ , srcInfoPoints = []+ }+ "Baz")+ [])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 3 1 7 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere2.hs" 3 1 3 9+ , SrcSpan "tests/examples/TrailingWhere2.hs" 3 19 3 24+ , SrcSpan "tests/examples/TrailingWhere2.hs" 4 3 4 3+ , SrcSpan "tests/examples/TrailingWhere2.hs" 6 3 6 3+ , SrcSpan "tests/examples/TrailingWhere2.hs" 7 1 7 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 3 10 3 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 3 10 3 18+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 3 10 3 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 3 10 3 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 3 10 3 14+ , srcInfoPoints = []+ }+ "Show")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 3 15 3 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 3 15 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 3 15 3 18+ , srcInfoPoints = []+ }+ "Baz")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 4 3 6 14+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 4 3 6 14+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 4 3 6 3+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere2.hs" 5 5 5 10 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 4 3 4 7+ , srcInfoPoints = []+ }+ "show")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 4 10 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere2.hs" 4 10 4 11 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 4 12 4 14+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 4 12 4 14+ , srcInfoPoints = []+ }+ ""+ "")))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 6 0 6 3+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere2.hs" 6 3 6 3+ , SrcSpan "tests/examples/TrailingWhere2.hs" 6 3 6 3+ , SrcSpan "tests/examples/TrailingWhere2.hs" 6 0 6 0+ ]+ }+ []))+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 6 3 6 7+ , srcInfoPoints = []+ }+ "show")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 6 10 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere2.hs" 6 10 6 11 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 6 12 6 14+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere2.hs" 6 12 6 14+ , srcInfoPoints = []+ }+ ""+ "")))+ Nothing+ ])+ ])+ ]+ , []+ )
+ tests/examples/TrailingWhere2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TrailingWhere2.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+data Baz = Baz++instance Show Baz where+ show _ = ""+ where+ show _ = ""
+ tests/examples/TrailingWhere3.hs view
@@ -0,0 +1,3 @@+main = f where+ f = g where+ g = putStrLn "hello world"
+ tests/examples/TrailingWhere3.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TrailingWhere3.hs.parser.golden view
@@ -0,0 +1,178 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 1 1 4 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere3.hs" 1 1 1 1+ , SrcSpan "tests/examples/TrailingWhere3.hs" 1 1 1 1+ , SrcSpan "tests/examples/TrailingWhere3.hs" 1 1 1 1+ , SrcSpan "tests/examples/TrailingWhere3.hs" 4 1 4 0+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 1 1 3 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere3.hs" 1 10 1 15 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 1 1 1 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 1 1 1 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 1 6 1 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere3.hs" 1 6 1 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 1 8 1 9+ , srcInfoPoints = []+ }+ "f"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 2 5 3 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere3.hs" 2 5 2 5+ , SrcSpan "tests/examples/TrailingWhere3.hs" 3 5 3 5+ , SrcSpan "tests/examples/TrailingWhere3.hs" 4 1 4 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 2 5 3 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere3.hs" 2 11 2 16 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 2 7 2 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere3.hs" 2 7 2 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere3.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ "g"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 3 0 3 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere3.hs" 3 5 3 5+ , SrcSpan "tests/examples/TrailingWhere3.hs" 3 5 3 5+ , SrcSpan "tests/examples/TrailingWhere3.hs" 3 0 3 0+ ]+ }+ []))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 3 5 3 31+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ "g"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 3 7 3 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TrailingWhere3.hs" 3 7 3 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 3 9 3 31+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere3.hs" 3 9 3 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere3.hs" 3 9 3 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere3.hs" 3 9 3 17+ , srcInfoPoints = []+ }+ "putStrLn")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere3.hs" 3 18 3 31+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TrailingWhere3.hs" 3 18 3 31+ , srcInfoPoints = []+ }+ "hello world"+ "hello world"))))+ Nothing+ ]))+ ]+ , []+ )
+ tests/examples/TrailingWhere3.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TrailingWhere3.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+main = f+ where f = g+ where+ g = putStrLn "hello world"
tests/examples/TupleSections.hs.parser.golden view
@@ -1,1 +1,138 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 31}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = []}) "TupleSections"]] [] [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 4}, srcInfoPoints = []}) "foo") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 5, srcSpanEndLine = 3, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 5, srcSpanEndLine = 3, srcSpanEndColumn = 6}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 7, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 7, srcSpanEndLine = 3, srcSpanEndColumn = 8}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (TupleSection (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 14}]}) Boxed [Just (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 10, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 10, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) 1 "1")),Nothing,Nothing]) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) "x")))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TupleSections.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18}, srcInfoPoints = []}) 3 "3")))) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TupleSections.hs" 1 1 1 1+ , SrcSpan "tests/examples/TupleSections.hs" 3 1 3 1+ , SrcSpan "tests/examples/TupleSections.hs" 3 1 3 1+ , SrcSpan "tests/examples/TupleSections.hs" 3 1 3 1+ , SrcSpan "tests/examples/TupleSections.hs" 4 1 4 1+ , SrcSpan "tests/examples/TupleSections.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TupleSections.hs" 1 1 1 13+ , SrcSpan "tests/examples/TupleSections.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "TupleSections"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 1 3 18+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 1 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 7 3 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TupleSections.hs" 3 7 3 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 9 3 18+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 9 3 16+ , srcInfoPoints = []+ }+ (TupleSection+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 9 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TupleSections.hs" 3 9 3 10+ , SrcSpan "tests/examples/TupleSections.hs" 3 11 3 12+ , SrcSpan "tests/examples/TupleSections.hs" 3 12 3 13+ , SrcSpan "tests/examples/TupleSections.hs" 3 13 3 14+ ]+ }+ Boxed+ [ Just+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TupleSections.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TupleSections.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ 1+ "1"))+ , Nothing+ , Nothing+ ])+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TupleSections.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ "x"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TupleSections.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ 3+ "3"))))+ Nothing+ ]+ ]+ , []+ )
tests/examples/TupleSections.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE TupleSections #-}-module Main (main) where foo x = (1, ,) x 3
+ tests/examples/TyQuasiQuote.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE QuasiQuotes, TemplateHaskell #-}+f :: [qq| something in here |]+f = ()
+ tests/examples/TyQuasiQuote.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TyQuasiQuote.hs.parser.golden view
@@ -0,0 +1,109 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 4 1 4 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 13+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 1 25 1 26+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 1 43 1 46+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 27 1 42+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 2 3 2 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyQuasiQuote+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 6 2 31+ , srcInfoPoints = []+ }+ "qq"+ " something in here ")+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 7+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 3 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 3 3 4 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7+ ]+ }))))+ Nothing+ ]+ , []+ )
+ tests/examples/TyQuasiQuote.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TyQuasiQuote.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE QuasiQuotes, TemplateHaskell #-}++f :: [qq| something in here |]+f = ()
+ tests/examples/TySplice.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE TemplateHaskell #-}++[| f :: $ty |]+[| f :: $(fun ty) |]
+ tests/examples/TySplice.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TySplice.hs.parser.golden view
@@ -0,0 +1,191 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice.hs" 1 1 1 1+ , SrcSpan "tests/examples/TySplice.hs" 3 1 3 1+ , SrcSpan "tests/examples/TySplice.hs" 3 1 3 1+ , SrcSpan "tests/examples/TySplice.hs" 3 1 3 1+ , SrcSpan "tests/examples/TySplice.hs" 4 1 4 1+ , SrcSpan "tests/examples/TySplice.hs" 5 1 5 1+ , SrcSpan "tests/examples/TySplice.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice.hs" 1 1 1 13+ , SrcSpan "tests/examples/TySplice.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ SpliceDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 3 1 3 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice.hs" 3 1 3 3+ , SrcSpan "tests/examples/TySplice.hs" 3 13 3 15+ ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 3 1 3 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice.hs" 3 1 3 3+ , SrcSpan "tests/examples/TySplice.hs" 3 13 3 15+ ]+ }+ (ExpBracket+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 3 1 3 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice.hs" 3 1 3 3+ , SrcSpan "tests/examples/TySplice.hs" 3 13 3 15+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 3 4 3 12+ , srcInfoPoints = [ SrcSpan "tests/examples/TySplice.hs" 3 6 3 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 3 4 3 5+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 3 4 3 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 3 4 3 5+ , srcInfoPoints = []+ }+ "f")))+ (TySplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ (IdSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ "ty")))))+ , SpliceDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice.hs" 4 1 4 3+ , SrcSpan "tests/examples/TySplice.hs" 4 19 4 21+ ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice.hs" 4 1 4 3+ , SrcSpan "tests/examples/TySplice.hs" 4 19 4 21+ ]+ }+ (ExpBracket+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice.hs" 4 1 4 3+ , SrcSpan "tests/examples/TySplice.hs" 4 19 4 21+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 4 4 18+ , srcInfoPoints = [ SrcSpan "tests/examples/TySplice.hs" 4 6 4 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 4 4 5+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 4 4 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 4 4 5+ , srcInfoPoints = []+ }+ "f")))+ (TySplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 9 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice.hs" 4 9 4 11+ , SrcSpan "tests/examples/TySplice.hs" 4 17 4 18+ ]+ }+ (ParenSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 9 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice.hs" 4 9 4 11+ , SrcSpan "tests/examples/TySplice.hs" 4 17 4 18+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 11 4 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TySplice.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ "fun")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 15 4 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice.hs" 4 15 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TySplice.hs" 4 15 4 17+ , srcInfoPoints = []+ }+ "ty")))))))))+ ]+ , []+ )
+ tests/examples/TySplice.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TySplice.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE TemplateHaskell #-}++[| f :: $ty |]++[| f :: $( fun ty ) |]
+ tests/examples/TySplice2.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE TemplateHaskell #-}+t1 :: $( [t|Int|] )+t1 = 1+
+ tests/examples/TySplice2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TySplice2.hs.parser.golden view
@@ -0,0 +1,129 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice2.hs" 1 1 1 1+ , SrcSpan "tests/examples/TySplice2.hs" 2 1 2 1+ , SrcSpan "tests/examples/TySplice2.hs" 2 1 2 1+ , SrcSpan "tests/examples/TySplice2.hs" 2 1 2 1+ , SrcSpan "tests/examples/TySplice2.hs" 3 1 3 1+ , SrcSpan "tests/examples/TySplice2.hs" 5 1 5 1+ , SrcSpan "tests/examples/TySplice2.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice2.hs" 1 1 1 13+ , SrcSpan "tests/examples/TySplice2.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 2 1 2 20+ , srcInfoPoints = [ SrcSpan "tests/examples/TySplice2.hs" 2 4 2 6 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 2 1 2 3+ , srcInfoPoints = []+ }+ "t1"+ ]+ (TySplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 2 7 2 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice2.hs" 2 7 2 9+ , SrcSpan "tests/examples/TySplice2.hs" 2 19 2 20+ ]+ }+ (ParenSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 2 7 2 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice2.hs" 2 7 2 9+ , SrcSpan "tests/examples/TySplice2.hs" 2 19 2 20+ ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 2 10 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice2.hs" 2 10 2 13+ , SrcSpan "tests/examples/TySplice2.hs" 2 16 2 18+ ]+ }+ (TypeBracket+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 2 10 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice2.hs" 2 10 2 13+ , SrcSpan "tests/examples/TySplice2.hs" 2 16 2 18+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 2 13 2 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 2 13 2 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 2 13 2 16+ , srcInfoPoints = []+ }+ "Int")))))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 3 1 3 7+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 3 1 3 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 3 1 3 3+ , srcInfoPoints = []+ }+ "t1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 3 4 3 7+ , srcInfoPoints = [ SrcSpan "tests/examples/TySplice2.hs" 3 4 3 5 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice2.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ ]+ , []+ )
+ tests/examples/TySplice2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TySplice2.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TemplateHaskell #-}++t1 :: $( [t| Int |] )+t1 = 1
+ tests/examples/TySplice3.hs view
@@ -0,0 +1,2 @@+{-# LANGUAGE QuasiQuotes #-}+[qq| abc |]
+ tests/examples/TySplice3.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TySplice3.hs.parser.golden view
@@ -0,0 +1,46 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice3.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice3.hs" 1 1 1 1+ , SrcSpan "tests/examples/TySplice3.hs" 2 1 2 1+ , SrcSpan "tests/examples/TySplice3.hs" 2 1 2 1+ , SrcSpan "tests/examples/TySplice3.hs" 2 1 2 1+ , SrcSpan "tests/examples/TySplice3.hs" 3 1 3 1+ , SrcSpan "tests/examples/TySplice3.hs" 3 1 3 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice3.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice3.hs" 1 1 1 13+ , SrcSpan "tests/examples/TySplice3.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice3.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ ]+ ]+ []+ [ SpliceDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice3.hs" 2 1 2 12+ , srcInfoPoints = []+ }+ (QuasiQuote+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice3.hs" 2 1 2 12+ , srcInfoPoints = []+ }+ "qq"+ " abc ")+ ]+ , []+ )
+ tests/examples/TySplice3.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TySplice3.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE QuasiQuotes #-}++[qq| abc |]
+ tests/examples/TySplice4.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE TemplateHaskell #-}+x = [d| f :: a -> Int+ f x = 1 |]++y = [d| f2 :: a -> Int; f2 x = 1 |]
+ tests/examples/TySplice4.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TySplice4.hs.parser.golden view
@@ -0,0 +1,309 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 1 1 1 1+ , SrcSpan "tests/examples/TySplice4.hs" 2 1 2 1+ , SrcSpan "tests/examples/TySplice4.hs" 2 1 2 1+ , SrcSpan "tests/examples/TySplice4.hs" 2 1 2 1+ , SrcSpan "tests/examples/TySplice4.hs" 5 1 5 1+ , SrcSpan "tests/examples/TySplice4.hs" 6 1 6 1+ , SrcSpan "tests/examples/TySplice4.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 1 1 1 13+ , SrcSpan "tests/examples/TySplice4.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 1 3 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "x"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 3 3 19+ , srcInfoPoints = [ SrcSpan "tests/examples/TySplice4.hs" 2 3 2 4 ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 5 3 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 2 5 2 8+ , SrcSpan "tests/examples/TySplice4.hs" 3 9 3 9+ , SrcSpan "tests/examples/TySplice4.hs" 3 17 3 19+ ]+ }+ (DeclBracket+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 5 3 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 2 9 2 9+ , SrcSpan "tests/examples/TySplice4.hs" 3 9 3 9+ , SrcSpan "tests/examples/TySplice4.hs" 3 17 3 17+ , SrcSpan "tests/examples/TySplice4.hs" 3 17 3 19+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 9 2 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 2 11 2 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 14 2 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 2 16 2 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 14 2 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 14 2 15+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 19 2 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 19 2 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 2 19 2 22+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 3 9 3 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 3 9 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 3 13 3 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 3 13 3 14 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TySplice4.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ ]+ ])))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 1 5 36+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ "y"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 3 5 36+ , srcInfoPoints = [ SrcSpan "tests/examples/TySplice4.hs" 5 3 5 4 ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 5 5 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 5 5 5 8+ , SrcSpan "tests/examples/TySplice4.hs" 5 23 5 24+ , SrcSpan "tests/examples/TySplice4.hs" 5 34 5 36+ ]+ }+ (DeclBracket+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 5 5 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 5 9 5 9+ , SrcSpan "tests/examples/TySplice4.hs" 5 23 5 24+ , SrcSpan "tests/examples/TySplice4.hs" 5 34 5 34+ , SrcSpan "tests/examples/TySplice4.hs" 5 34 5 36+ ]+ }+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 9 5 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 5 12 5 14 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 9 5 11+ , srcInfoPoints = []+ }+ "f2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 15 5 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 5 17 5 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 20 5 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 20 5 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 20 5 23+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 25 5 33+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 25 5 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 25 5 27+ , srcInfoPoints = []+ }+ "f2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 28 5 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 28 5 29+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 30 5 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TySplice4.hs" 5 30 5 31 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TySplice4.hs" 5 32 5 33+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TySplice4.hs" 5 32 5 33+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ ]+ ])))+ Nothing+ ]+ , []+ )
+ tests/examples/TySplice4.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TySplice4.hs.prettyprinter.golden view
@@ -0,0 +1,9 @@+{-# LANGUAGE TemplateHaskell #-}+x = [d|+ + f :: a -> Int+ f x = 1 |]+y = [d|+ + f2 :: a -> Int+ f2 x = 1 |]
+ tests/examples/TypeEqualityParen.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE TypeFamilies #-}+f :: ( Eq a, (a ~ Int) ) => a -> Int+f _ = 3
+ tests/examples/TypeEqualityParen.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TypeEqualityParen.hs.parser.golden view
@@ -0,0 +1,260 @@+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+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12+ , srcInfoPoints = []+ }+ (TyCon+ 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+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ]+ }+ (TyEquals+ 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+ ]+ ]+ , []+ )
+ tests/examples/TypeEqualityParen.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TypeEqualityParen.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeFamilies #-}++f :: (Eq a, (a ~ Int)) => a -> Int+f _ = 3
+ tests/examples/TypeErrorMessage.hs view
@@ -0,0 +1,1 @@+newtype PoC = PoC (forall b . b)
+ tests/examples/TypeErrorMessage.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/TypeErrorMessage.hs" 2 1) "At least one of ExplicitForAll or TypeOperators language extensions needs to be enabled. Please add: {-# LANGUAGE ExplicitForAll #-} or {-# LANGUAGE TypeOperators #-} language pragma at the top of your module."
+ tests/examples/TypeErrorMessage.hs.parser.golden view
@@ -0,0 +1,3 @@+ParseFailed+ (SrcLoc "tests/examples/TypeErrorMessage.hs" 2 1)+ "At least one of ExplicitForAll or TypeOperators language extensions needs to be enabled. Please add: {-# LANGUAGE ExplicitForAll #-} or {-# LANGUAGE TypeOperators #-} language pragma at the top of your module."
+ tests/examples/TypeErrorMessage.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/TypeErrorMessage.hs" 2 1) "At least one of ExplicitForAll or TypeOperators language extensions needs to be enabled. Please add: {-# LANGUAGE ExplicitForAll #-} or {-# LANGUAGE TypeOperators #-} language pragma at the top of your module."
+ tests/examples/TypeErrorMessage.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/TypeErrorMessage.hs" 2 1) "At least one of ExplicitForAll or TypeOperators language extensions needs to be enabled. Please add: {-# LANGUAGE ExplicitForAll #-} or {-# LANGUAGE TypeOperators #-} language pragma at the top of your module."
tests/examples/TypeFunctions.hs.parser.golden view
@@ -1,1 +1,244 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 8, srcSpanStartColumn = 1, srcSpanEndLine = 8, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 46}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 26, srcSpanEndLine = 1, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 43, srcSpanEndLine = 1, srcSpanEndColumn = 46}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 26}, srcInfoPoints = []}) "TypeFamilies",Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 42}, srcInfoPoints = []}) "KindSignatures"]] [] [DataDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 10}]}) (DataType (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 5}, srcInfoPoints = []})) Nothing (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 8}, srcInfoPoints = []}) "Id") []) [QualConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) Nothing Nothing (ConDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) "Id") [])] Nothing,TypeFamDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 37}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 6, srcSpanEndLine = 5, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 33, srcSpanEndLine = 5, srcSpanEndColumn = 35}]}) (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 13, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 13, srcSpanEndLine = 5, srcSpanEndColumn = 16}, srcInfoPoints = []}) "Rep") [KindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 17, srcSpanEndLine = 5, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 17, srcSpanEndLine = 5, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 20, srcSpanEndLine = 5, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 29, srcSpanEndLine = 5, srcSpanEndColumn = 30}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 18, srcSpanEndLine = 5, srcSpanEndColumn = 19}, srcInfoPoints = []}) "f") (KindFn (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 5, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 25, srcSpanEndLine = 5, srcSpanEndColumn = 27}]}) (KindStar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 23, srcSpanEndLine = 5, srcSpanEndColumn = 24}, srcInfoPoints = []})) (KindStar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 28, srcSpanEndLine = 5, srcSpanEndColumn = 29}, srcInfoPoints = []}))),UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 31, srcSpanEndLine = 5, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 31, srcSpanEndLine = 5, srcSpanEndColumn = 32}, srcInfoPoints = []}) "x")]) (Just (KindStar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 5, srcSpanStartColumn = 36, srcSpanEndLine = 5, srcSpanEndColumn = 37}, srcInfoPoints = []}))),TypeInsDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 6, srcSpanEndLine = 7, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 24, srcSpanEndLine = 7, srcSpanEndColumn = 25}]}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 15, srcSpanEndLine = 7, srcSpanEndColumn = 23}, srcInfoPoints = []}) (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 15, srcSpanEndLine = 7, srcSpanEndColumn = 21}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 15, srcSpanEndLine = 7, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 15, srcSpanEndLine = 7, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 15, srcSpanEndLine = 7, srcSpanEndColumn = 18}, srcInfoPoints = []}) "Rep"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 19, srcSpanEndLine = 7, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 19, srcSpanEndLine = 7, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 19, srcSpanEndLine = 7, srcSpanEndColumn = 21}, srcInfoPoints = []}) "Id")))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 22, srcSpanEndLine = 7, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 22, srcSpanEndLine = 7, srcSpanEndColumn = 23}, srcInfoPoints = []}) "x"))) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 26, srcSpanEndLine = 7, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeFunctions.hs", srcSpanStartLine = 7, srcSpanStartColumn = 26, srcSpanEndLine = 7, srcSpanEndColumn = 27}, srcInfoPoints = []}) "x"))],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeFunctions.hs" 1 1 1 1+ , SrcSpan "tests/examples/TypeFunctions.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeFunctions.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeFunctions.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 1+ , SrcSpan "tests/examples/TypeFunctions.hs" 7 1 7 1+ , SrcSpan "tests/examples/TypeFunctions.hs" 8 1 8 1+ , SrcSpan "tests/examples/TypeFunctions.hs" 8 1 8 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 1 1 1 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeFunctions.hs" 1 1 1 13+ , SrcSpan "tests/examples/TypeFunctions.hs" 1 26 1 27+ , SrcSpan "tests/examples/TypeFunctions.hs" 1 43 1 46+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 1 28 1 42+ , srcInfoPoints = []+ }+ "KindSignatures"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 3 1 3 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeFunctions.hs" 3 9 3 10 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 3 6 3 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 3 6 3 8+ , srcInfoPoints = []+ }+ "Id"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 3 11 3 13+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 3 11 3 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 3 11 3 13+ , srcInfoPoints = []+ }+ "Id")+ [])+ ]+ []+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 5+ , SrcSpan "tests/examples/TypeFunctions.hs" 5 6 5 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 13 5 32+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 13 5 30+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ "Rep"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 17 5 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeFunctions.hs" 5 17 5 18+ , SrcSpan "tests/examples/TypeFunctions.hs" 5 20 5 22+ , SrcSpan "tests/examples/TypeFunctions.hs" 5 29 5 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ "f")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 23 5 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeFunctions.hs" 5 25 5 27 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 23 5 24+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 28 5 29+ , srcInfoPoints = []+ }))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 31 5 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 31 5 32+ , srcInfoPoints = []+ }+ "x")))+ (Just+ (KindSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 35 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 36 5 37+ , srcInfoPoints = []+ })))+ Nothing+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 1 7 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeFunctions.hs" 7 1 7 5+ , SrcSpan "tests/examples/TypeFunctions.hs" 7 6 7 14+ , SrcSpan "tests/examples/TypeFunctions.hs" 7 24 7 25+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 15 7 23+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 15 7 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 15 7 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 15 7 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 15 7 18+ , srcInfoPoints = []+ }+ "Rep")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 19 7 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 19 7 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 19 7 21+ , srcInfoPoints = []+ }+ "Id"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 22 7 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 22 7 23+ , srcInfoPoints = []+ }+ "x")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 26 7 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 26 7 27+ , srcInfoPoints = []+ }+ "x"))+ ]+ , []+ )
tests/examples/TypeFunctions.hs.prettyprinter.golden view
@@ -1,8 +1,7 @@ {-# LANGUAGE TypeFamilies, KindSignatures #-}-module Main (main) where- + data Id = Id- + type family Rep (f :: * -> *) x :: *- + type instance Rep Id x = x
+ tests/examples/TypeInstances.hs view
@@ -0,0 +1,7 @@+{-# LANGUAGE TypeFamilies #-}++class MapType v where+ type Key v :: *+ type instance Key v = TileKey v++ type Source v :: *
+ tests/examples/TypeInstances.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TypeInstances.hs.parser.golden view
@@ -0,0 +1,249 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 1 1 1 1+ , SrcSpan "tests/examples/TypeInstances.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeInstances.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeInstances.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeInstances.hs" 8 1 8 1+ , SrcSpan "tests/examples/TypeInstances.hs" 8 1 8 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 1 1 1 13+ , SrcSpan "tests/examples/TypeInstances.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 1 7 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 3 1 3 6+ , SrcSpan "tests/examples/TypeInstances.hs" 3 17 3 22+ , SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 3+ , SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 3+ , SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 3+ , SrcSpan "tests/examples/TypeInstances.hs" 8 1 8 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 7 3 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 7 3 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 7 3 14+ , srcInfoPoints = []+ }+ "MapType"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ "v")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 8 4 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 8 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 8 4 11+ , srcInfoPoints = []+ }+ "Key"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "v")))+ (Just+ (KindSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 16 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 17 4 18+ , srcInfoPoints = []+ })))+ Nothing+ , ClsTyDef+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 7+ , SrcSpan "tests/examples/TypeInstances.hs" 5 8 5 16+ ]+ }+ (TypeEqn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 5 23 5 24 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ "Key")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ "v")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32+ , srcInfoPoints = []+ }+ "TileKey")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34+ , srcInfoPoints = []+ }+ "v"))))+ , ClsTyFam+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 8 7 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 8 7 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 8 7 14+ , srcInfoPoints = []+ }+ "Source"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 15 7 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 15 7 16+ , srcInfoPoints = []+ }+ "v")))+ (Just+ (KindSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 19 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 20 7 21+ , srcInfoPoints = []+ })))+ Nothing+ ])+ ]+ , []+ )
+ tests/examples/TypeInstances.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TypeInstances.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeFamilies #-}++class MapType v where+ type Key v :: *+ type Key v = TileKey v+ type Source v :: *
+ tests/examples/TypeListCons.hs view
@@ -0,0 +1,7 @@+{-# LANGUAGE DataKinds, TypeOperators #-}++module TypeListCons where++type List1 a = a ': '[]+type List2 a b = a ': '[]+type List3 a b c = a ': b ': c ': '[]
+ tests/examples/TypeListCons.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TypeListCons.hs.parser.golden view
@@ -0,0 +1,426 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 1 1 1 1+ , SrcSpan "tests/examples/TypeListCons.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeListCons.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeListCons.hs" 5 1 5 1+ , SrcSpan "tests/examples/TypeListCons.hs" 6 1 6 1+ , SrcSpan "tests/examples/TypeListCons.hs" 7 1 7 1+ , SrcSpan "tests/examples/TypeListCons.hs" 8 1 8 1+ , SrcSpan "tests/examples/TypeListCons.hs" 8 1 8 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 3 1 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 3 1 3 7+ , SrcSpan "tests/examples/TypeListCons.hs" 3 21 3 26+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 3 8 3 20+ , srcInfoPoints = []+ }+ "TypeListCons")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 1 1 1 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 1 1 1 13+ , SrcSpan "tests/examples/TypeListCons.hs" 1 23 1 24+ , SrcSpan "tests/examples/TypeListCons.hs" 1 39 1 42+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "DataKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 1 25 1 38+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ ]+ []+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 1 5 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 5 1 5 5+ , SrcSpan "tests/examples/TypeListCons.hs" 5 14 5 15+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 6 5 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 6 5 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 6 5 11+ , srcInfoPoints = []+ }+ "List1"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 12 5 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 12 5 13+ , srcInfoPoints = []+ }+ "a")))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ "a"))+ (PromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 19 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 19 5 20+ , srcInfoPoints = []+ })))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 21 5 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 5 21 5 22+ , SrcSpan "tests/examples/TypeListCons.hs" 5 23 5 24+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 21 5 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 5 21 5 22+ , SrcSpan "tests/examples/TypeListCons.hs" 5 23 5 24+ ]+ }+ True+ [])))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 1 6 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 6 1 6 5+ , SrcSpan "tests/examples/TypeListCons.hs" 6 16 6 17+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 6 6 15+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 6 6 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 6 6 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 6 6 11+ , srcInfoPoints = []+ }+ "List2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 12 6 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 12 6 13+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ "b")))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ "a"))+ (PromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 21 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 21 6 22+ , srcInfoPoints = []+ })))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 23 6 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 6 23 6 24+ , SrcSpan "tests/examples/TypeListCons.hs" 6 25 6 26+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 23 6 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 6 23 6 24+ , SrcSpan "tests/examples/TypeListCons.hs" 6 25 6 26+ ]+ }+ True+ [])))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 1 7 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 7 1 7 5+ , SrcSpan "tests/examples/TypeListCons.hs" 7 18 7 19+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 6 7 17+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 6 7 15+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 6 7 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 6 7 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 6 7 11+ , srcInfoPoints = []+ }+ "List3"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 12 7 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 12 7 13+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ "b")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ "c")))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 21+ , srcInfoPoints = []+ }+ "a"))+ (PromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 23 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 23 7 24+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 23 7 24+ , srcInfoPoints = []+ })))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ "b"))+ (PromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 28 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 28 7 29+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 28 7 29+ , srcInfoPoints = []+ })))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 30 7 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 30 7 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 30 7 31+ , srcInfoPoints = []+ }+ "c"))+ (PromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 32 7 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 7 32 7 33 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 33 7 34+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 33 7 34+ , srcInfoPoints = []+ })))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 36+ , SrcSpan "tests/examples/TypeListCons.hs" 7 37 7 38+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 36+ , SrcSpan "tests/examples/TypeListCons.hs" 7 37 7 38+ ]+ }+ True+ [])))))+ ]+ , []+ )
+ tests/examples/TypeListCons.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TypeListCons.hs.prettyprinter.golden view
@@ -0,0 +1,8 @@+{-# LANGUAGE DataKinds, TypeOperators #-}+module TypeListCons where++type List1 a = a ': '[]++type List2 a b = a ': '[]++type List3 a b c = a ': b ': c ': '[]
tests/examples/TypeOperatorAsVariable.hs.parser.golden view
@@ -1,1 +1,159 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 31}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = []}) "TypeOperators"]] [] [TypeDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 14}]}) (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 7}, srcInfoPoints = []}) "T") [UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 12}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 11, srcSpanEndLine = 3, srcSpanEndColumn = 12}]}) "~>")]) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 17}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 17}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 17}]})))),TypeDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 10, srcSpanEndLine = 5, srcSpanEndColumn = 11}]}) (DHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 6, srcSpanEndLine = 5, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 6, srcSpanEndLine = 5, srcSpanEndColumn = 9}, srcInfoPoints = []}) "Foo") []) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 13, srcSpanEndLine = 5, srcSpanEndColumn = 14}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 13, srcSpanEndLine = 5, srcSpanEndColumn = 14}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorAsVariable.hs", srcSpanStartLine = 5, srcSpanStartColumn = 13, srcSpanEndLine = 5, srcSpanEndColumn = 14}]}))))],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 1 1 1 1+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 1 5 1+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 6 1 6 1+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 1 1 1 13+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ ]+ []+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 1 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 1 3 5+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 13 3 14+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 6 3 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "T"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 8 3 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 8 3 9+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 9 3 11+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 11 3 12+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ "~>")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 15 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 15 3 16+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 16 3 17+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 15 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 15 3 16+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 16 3 17+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 15 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 15 3 16+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 3 16 3 17+ ]+ })))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 1 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 1 5 5+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 10 5 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ "Foo"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 12 5 13+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 13 5 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 12 5 13+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 13 5 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 12 5 13+ , SrcSpan "tests/examples/TypeOperatorAsVariable.hs" 5 13 5 14+ ]+ })))+ ]+ , []+ )
tests/examples/TypeOperatorAsVariable.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE TypeOperators #-}-module Main (main) where- + type T (~>) = ()- + type Foo = ()
tests/examples/TypeOperatorsTest.hs.parser.golden view
@@ -1,1 +1,242 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 1, srcSpanStartColumn = 27, srcSpanEndLine = 1, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 1, srcSpanStartColumn = 45, srcSpanEndLine = 1, srcSpanEndColumn = 46},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 1, srcSpanStartColumn = 65, srcSpanEndLine = 1, srcSpanEndColumn = 68}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = []}) "TypeOperators",Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 1, srcSpanStartColumn = 29, srcSpanEndLine = 1, srcSpanEndColumn = 45}, srcInfoPoints = []}) "FlexibleContexts",Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 1, srcSpanStartColumn = 47, srcSpanEndLine = 1, srcSpanEndColumn = 64}, srcInfoPoints = []}) "FlexibleInstances"]] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 5}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 2}, srcInfoPoints = []}) "f"] (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = []}) Nothing (Just (CxSingle (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 22}]}) (ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 20, srcSpanEndLine = 3, srcSpanEndColumn = 22}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 14}, srcInfoPoints = []}) "ArrowXml")) [TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 19}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 19}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 19}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 19}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 19}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 16, srcSpanEndLine = 3, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 19}]}) "~>"))]))) (TyInfix (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = []}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 24}, srcInfoPoints = []}) "a")) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 25, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 25, srcSpanEndLine = 3, srcSpanEndColumn = 27}, srcInfoPoints = []}) "~>")) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = []}) "a")))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) "f")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 4}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/TypeOperatorsTest.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 14}, srcInfoPoints = []}) "undefined")))) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 1 1 1 1+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 1 3 1+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 4 1 4 1+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 5 1 5 1+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 1 1 1 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 1 1 1 13+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 1 27 1 28+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 1 45 1 46+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 1 65 1 68+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 1 29 1 45+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 1 47 1 64+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 1 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 3 3 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 29+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14+ , srcInfoPoints = []+ }+ "ArrowXml")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+ , srcInfoPoints = []+ }+ "~>")))))))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 23 3 29+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 23 3 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 23 3 24+ , srcInfoPoints = []+ }+ "a"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 25 3 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 25 3 27+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 25 3 27+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 28 3 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 28 3 29+ , srcInfoPoints = []+ }+ "a"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 4 1 4 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 4 3 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 4 3 4 4 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 4 5 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 4 5 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 4 5 4 14+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ , []+ )
tests/examples/TypeOperatorsTest.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeOperators, FlexibleContexts, FlexibleInstances #-}-module Main (main) where- -f :: (ArrowXml (~>)) => a ~> a++f :: ArrowXml (~>) => a ~> a f = undefined
tests/examples/UnboxedSingleton.hs.parser.golden view
@@ -1,1 +1,113 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 31}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = []}) "UnboxedTuples"]] [] [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 4}, srcInfoPoints = []}) "foo") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 5, srcSpanEndLine = 3, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 5, srcSpanEndLine = 3, srcSpanEndColumn = 6}, srcInfoPoints = []}) "a")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 7, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 7, srcSpanEndLine = 3, srcSpanEndColumn = 8}]}) (Tuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 16}]}) Unboxed [Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) "a"))])) Nothing]],[Comment False (SrcSpan {srcSpanFilename = "tests/examples/UnboxedSingleton.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 33}) " See e.g. GHC.Prim.indexArray#"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedSingleton.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnboxedSingleton.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnboxedSingleton.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnboxedSingleton.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnboxedSingleton.hs" 4 1 4 1+ , SrcSpan "tests/examples/UnboxedSingleton.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedSingleton.hs" 1 1 1 13+ , SrcSpan "tests/examples/UnboxedSingleton.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "UnboxedTuples"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 1 3 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 1 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ "a")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 7 3 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 7 3 8 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 9 3 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 9 3 11+ , SrcSpan "tests/examples/UnboxedSingleton.hs" 3 14 3 16+ ]+ }+ Unboxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedSingleton.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ "a"))+ ]))+ Nothing+ ]+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/UnboxedSingleton.hs" 2 1 2 33)+ " See e.g. GHC.Prim.indexArray#"+ ]+ )
tests/examples/UnboxedSingleton.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE UnboxedTuples #-}-module Main (main) where-foo a = (#a#)+foo a = (# a #)
tests/examples/UnboxedTuples.hs.parser.golden view
@@ -1,1 +1,365 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 31}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = []}) "UnboxedTuples"]] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 5, srcSpanEndLine = 3, srcSpanEndColumn = 7}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 4}, srcInfoPoints = []}) "foo"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 17}]}) (TyTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 10, srcSpanEndLine = 3, srcSpanEndColumn = 11},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 13, srcSpanEndLine = 3, srcSpanEndColumn = 14}]}) Boxed [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 9, srcSpanEndLine = 3, srcSpanEndColumn = 10}, srcInfoPoints = []}) "a"),TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}, srcInfoPoints = []}) "b")]) (TyTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 23, srcSpanEndLine = 3, srcSpanEndColumn = 24},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 27, srcSpanEndLine = 3, srcSpanEndColumn = 29}]}) Unboxed [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 21, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 21, srcSpanEndLine = 3, srcSpanEndColumn = 22}, srcInfoPoints = []}) "b"),TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 25, srcSpanEndLine = 3, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 3, srcSpanStartColumn = 25, srcSpanEndLine = 3, srcSpanEndColumn = 26}, srcInfoPoints = []}) "a")])),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 0}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 4}, srcInfoPoints = []}) "foo") [PTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 6},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 7, srcSpanEndLine = 4, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 10, srcSpanEndLine = 4, srcSpanEndColumn = 11}]}) Boxed [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 6, srcSpanEndLine = 4, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 6, srcSpanEndLine = 4, srcSpanEndColumn = 7}, srcInfoPoints = []}) "a"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 9, srcSpanEndLine = 4, srcSpanEndColumn = 10}, srcInfoPoints = []}) "b")]] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 7, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 4, srcSpanStartColumn = 12, srcSpanEndLine = 4, srcSpanEndColumn = 13}]}) (Case (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 3, srcSpanEndLine = 7, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 3, srcSpanEndLine = 5, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 19, srcSpanEndLine = 5, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 0}]}) (Tuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 8, srcSpanEndLine = 5, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 8, srcSpanEndLine = 5, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 12, srcSpanEndLine = 5, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 16, srcSpanEndLine = 5, srcSpanEndColumn = 18}]}) Unboxed [Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 11, srcSpanEndLine = 5, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 11, srcSpanEndLine = 5, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 11, srcSpanEndLine = 5, srcSpanEndColumn = 12}, srcInfoPoints = []}) "b")),Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 14, srcSpanEndLine = 5, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 14, srcSpanEndLine = 5, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 5, srcSpanStartColumn = 14, srcSpanEndLine = 5, srcSpanEndColumn = 15}, srcInfoPoints = []}) "a"))]) [Alt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 30}, srcInfoPoints = []}) (PTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 5, srcSpanEndLine = 6, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 15}]}) Unboxed [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 8, srcSpanEndLine = 6, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 8, srcSpanEndLine = 6, srcSpanEndColumn = 9}, srcInfoPoints = []}) "b"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 12}, srcInfoPoints = []}) "a")]) (UnGuardedAlt (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 16, srcSpanEndLine = 6, srcSpanEndColumn = 30}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 16, srcSpanEndLine = 6, srcSpanEndColumn = 18}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 30}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 22, srcSpanEndLine = 6, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 24, srcSpanEndLine = 6, srcSpanEndColumn = 26}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 22, srcSpanEndLine = 6, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 24, srcSpanEndLine = 6, srcSpanEndColumn = 26}]}) (TupleCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 19, srcSpanEndLine = 6, srcSpanEndColumn = 21},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 22, srcSpanEndLine = 6, srcSpanEndColumn = 23},SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 24, srcSpanEndLine = 6, srcSpanEndColumn = 26}]}) Unboxed 2))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 27, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 27, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 27, srcSpanEndLine = 6, srcSpanEndColumn = 28}, srcInfoPoints = []}) "b")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 29, srcSpanEndLine = 6, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 29, srcSpanEndLine = 6, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnboxedTuples.hs", srcSpanStartLine = 6, srcSpanStartColumn = 29, srcSpanEndLine = 6, srcSpanEndColumn = 30}, srcInfoPoints = []}) "a"))))) Nothing])) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnboxedTuples.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnboxedTuples.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnboxedTuples.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnboxedTuples.hs" 4 1 4 1+ , SrcSpan "tests/examples/UnboxedTuples.hs" 7 1 7 1+ , SrcSpan "tests/examples/UnboxedTuples.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 1 1 1 13+ , SrcSpan "tests/examples/UnboxedTuples.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "UnboxedTuples"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 1 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 3 5 3 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 8 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 3 15 3 17 ]+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 8 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 3 8 3 9+ , SrcSpan "tests/examples/UnboxedTuples.hs" 3 10 3 11+ , SrcSpan "tests/examples/UnboxedTuples.hs" 3 13 3 14+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ "b")+ ])+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 18 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 3 18 3 20+ , SrcSpan "tests/examples/UnboxedTuples.hs" 3 23 3 24+ , SrcSpan "tests/examples/UnboxedTuples.hs" 3 27 3 29+ ]+ }+ Unboxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ "b")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 25 3 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 3 25 3 26+ , srcInfoPoints = []+ }+ "a")+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 4 1 6 30+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 4 1 6 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo")+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 4 5 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 4 5 4 6+ , SrcSpan "tests/examples/UnboxedTuples.hs" 4 7 4 8+ , SrcSpan "tests/examples/UnboxedTuples.hs" 4 10 4 11+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ "b")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 4 12 6 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 4 12 4 13 ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 5 3 6 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 5 3 5 7+ , SrcSpan "tests/examples/UnboxedTuples.hs" 5 19 5 21+ , SrcSpan "tests/examples/UnboxedTuples.hs" 6 5 6 5+ , SrcSpan "tests/examples/UnboxedTuples.hs" 7 1 7 0+ ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 5 8 5 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 5 8 5 10+ , SrcSpan "tests/examples/UnboxedTuples.hs" 5 12 5 13+ , SrcSpan "tests/examples/UnboxedTuples.hs" 5 16 5 18+ ]+ }+ Unboxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ "b"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ "a"))+ ])+ [ Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 6 5 6 30+ , srcInfoPoints = []+ }+ (PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 6 5 6 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 6 5 6 7+ , SrcSpan "tests/examples/UnboxedTuples.hs" 6 9 6 10+ , SrcSpan "tests/examples/UnboxedTuples.hs" 6 13 6 15+ ]+ }+ Unboxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ "b")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "a")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 6 16 6 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 6 16 6 18 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnboxedTuples.hs" 6 19 6 30+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 19 6 28+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 19 6 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 6 19 6 21+ , SrcSpan "tests/examples/UnboxedTuples.hs" 6 22 6 23+ , SrcSpan "tests/examples/UnboxedTuples.hs" 6 24 6 26+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 19 6 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnboxedTuples.hs" 6 19 6 21+ , SrcSpan "tests/examples/UnboxedTuples.hs" 6 22 6 23+ , SrcSpan "tests/examples/UnboxedTuples.hs" 6 24 6 26+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 19 6 26+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/UnboxedTuples.hs" 6 19 6 21+ , SrcSpan+ "tests/examples/UnboxedTuples.hs" 6 22 6 23+ , SrcSpan+ "tests/examples/UnboxedTuples.hs" 6 24 6 26+ ]+ }+ Unboxed+ 2)))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 27 6 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 27 6 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 27 6 28+ , srcInfoPoints = []+ }+ "b"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 29 6 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 29 6 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnboxedTuples.hs" 6 29 6 30+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ]))+ Nothing+ ]+ ]+ , []+ )
tests/examples/UnboxedTuples.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE UnboxedTuples #-}-module Main (main) where- -foo :: (a, b) -> (#b, a#)++foo :: (a, b) -> (# b, a #) foo (a, b)- = case (#b, a#) of- (#b, a#) -> (#,#) b a+ = case (# b, a #) of+ (# b, a #) -> (# , #) b a
tests/examples/Unicode.hs.parser.golden view
@@ -1,1 +1,7749 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 119, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 1, srcSpanEndLine = 18, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 1, srcSpanEndLine = 25, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 1, srcSpanEndLine = 26, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 1, srcSpanEndLine = 33, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 1, srcSpanEndLine = 34, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 1, srcSpanEndLine = 43, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 1, srcSpanEndLine = 44, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 1, srcSpanEndLine = 53, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 1, srcSpanEndLine = 54, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 1, srcSpanEndLine = 63, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 1, srcSpanEndLine = 64, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 1, srcSpanEndLine = 74, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 1, srcSpanEndLine = 75, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 1, srcSpanEndLine = 76, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 1, srcSpanEndLine = 82, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 1, srcSpanEndLine = 83, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 1, srcSpanEndLine = 84, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 1, srcSpanEndLine = 86, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 1, srcSpanEndLine = 87, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 1, srcSpanEndLine = 88, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 1, srcSpanEndLine = 89, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 1, srcSpanEndLine = 90, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 1, srcSpanEndLine = 92, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 1, srcSpanEndLine = 93, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 1, srcSpanEndLine = 94, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 1, srcSpanEndLine = 95, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 1, srcSpanEndLine = 99, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 1, srcSpanEndLine = 100, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 1, srcSpanEndLine = 101, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 1, srcSpanEndLine = 102, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 1, srcSpanEndLine = 103, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 105, srcSpanStartColumn = 1, srcSpanEndLine = 105, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 119, srcSpanStartColumn = 1, srcSpanEndLine = 119, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 119, srcSpanStartColumn = 1, srcSpanEndLine = 119, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 2, srcSpanStartColumn = 13, srcSpanEndLine = 2, srcSpanEndColumn = 18}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 12}, srcInfoPoints = []}) "Main") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 1, srcSpanStartColumn = 28, srcSpanEndLine = 1, srcSpanEndColumn = 31}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = []}) "UnicodeSyntax"]] [ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 26}, srcInfoPoints = []}) "System.Environment", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 6, srcSpanEndLine = 6, srcSpanEndColumn = 8}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main"] (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 9, srcSpanEndLine = 6, srcSpanEndColumn = 11}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 14}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 14}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 6, srcSpanStartColumn = 13, srcSpanEndLine = 6, srcSpanEndColumn = 14}]}))))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 7, srcSpanStartColumn = 6, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 7, srcSpanStartColumn = 6, srcSpanEndLine = 7, srcSpanEndColumn = 7}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 7, srcSpanStartColumn = 8, srcSpanEndLine = 17, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 7, srcSpanStartColumn = 8, srcSpanEndLine = 7, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 3, srcSpanEndLine = 11, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 3, srcSpanEndLine = 12, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 3, srcSpanEndLine = 13, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 3, srcSpanEndLine = 14, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 3, srcSpanEndLine = 15, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 8, srcSpanStartColumn = 6, srcSpanEndLine = 8, srcSpanEndColumn = 7}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 5}, srcInfoPoints = []}) "as")) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 8, srcSpanStartColumn = 8, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 8, srcSpanStartColumn = 8, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 8, srcSpanStartColumn = 8, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = []}) "getArgs"))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 13}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 8}, srcInfoPoints = []}) "print"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 9, srcSpanEndLine = 9, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 9, srcSpanEndLine = 9, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 9, srcSpanEndLine = 9, srcSpanEndColumn = 10}, srcInfoPoints = []}) "$"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 11, srcSpanEndLine = 9, srcSpanEndColumn = 13}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 11, srcSpanEndLine = 9, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 9, srcSpanStartColumn = 11, srcSpanEndLine = 9, srcSpanEndColumn = 13}, srcInfoPoints = []}) "as")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 32}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 3, srcSpanEndLine = 10, srcSpanEndColumn = 8}, srcInfoPoints = []}) "print"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 9, srcSpanEndLine = 10, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 9, srcSpanEndLine = 10, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 9, srcSpanEndLine = 10, srcSpanEndColumn = 10}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 11, srcSpanEndLine = 10, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 11, srcSpanEndLine = 10, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 11, srcSpanEndLine = 10, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 11, srcSpanEndLine = 10, srcSpanEndColumn = 15}, srcInfoPoints = []}) "test"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 31, srcSpanEndLine = 10, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 10, srcSpanStartColumn = 31, srcSpanEndLine = 10, srcSpanEndColumn = 32}, srcInfoPoints = []}) 0 "0")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 3, srcSpanEndLine = 11, srcSpanEndColumn = 32}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 3, srcSpanEndLine = 11, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 3, srcSpanEndLine = 11, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 3, srcSpanEndLine = 11, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 3, srcSpanEndLine = 11, srcSpanEndColumn = 8}, srcInfoPoints = []}) "print"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 9, srcSpanEndLine = 11, srcSpanEndColumn = 10}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 11, srcSpanEndLine = 11, srcSpanEndColumn = 16}, srcInfoPoints = []}) "test2"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 31, srcSpanEndLine = 11, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 11, srcSpanStartColumn = 31, srcSpanEndLine = 11, srcSpanEndColumn = 32}, srcInfoPoints = []}) 0 "0")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 3, srcSpanEndLine = 12, srcSpanEndColumn = 32}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 3, srcSpanEndLine = 12, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 3, srcSpanEndLine = 12, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 3, srcSpanEndLine = 12, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 3, srcSpanEndLine = 12, srcSpanEndColumn = 8}, srcInfoPoints = []}) "print"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 9, srcSpanEndLine = 12, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 9, srcSpanEndLine = 12, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 9, srcSpanEndLine = 12, srcSpanEndColumn = 10}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 22}, srcInfoPoints = []}) "testRewrite"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 31, srcSpanEndLine = 12, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 12, srcSpanStartColumn = 31, srcSpanEndLine = 12, srcSpanEndColumn = 32}, srcInfoPoints = []}) 0 "0")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 3, srcSpanEndLine = 13, srcSpanEndColumn = 32}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 3, srcSpanEndLine = 13, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 3, srcSpanEndLine = 13, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 3, srcSpanEndLine = 13, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 3, srcSpanEndLine = 13, srcSpanEndColumn = 8}, srcInfoPoints = []}) "print"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 9, srcSpanEndLine = 13, srcSpanEndColumn = 10}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 11, srcSpanEndLine = 13, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 11, srcSpanEndLine = 13, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 11, srcSpanEndLine = 13, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 11, srcSpanEndLine = 13, srcSpanEndColumn = 29}, srcInfoPoints = []}) "testRewriteReverse"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 31, srcSpanEndLine = 13, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 13, srcSpanStartColumn = 31, srcSpanEndLine = 13, srcSpanEndColumn = 32}, srcInfoPoints = []}) 0 "0")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 3, srcSpanEndLine = 14, srcSpanEndColumn = 32}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 3, srcSpanEndLine = 14, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 3, srcSpanEndLine = 14, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 3, srcSpanEndLine = 14, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 3, srcSpanEndLine = 14, srcSpanEndColumn = 8}, srcInfoPoints = []}) "print"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 9, srcSpanEndLine = 14, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 9, srcSpanEndLine = 14, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 9, srcSpanEndLine = 14, srcSpanEndColumn = 10}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 11, srcSpanEndLine = 14, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 11, srcSpanEndLine = 14, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 11, srcSpanEndLine = 14, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 11, srcSpanEndLine = 14, srcSpanEndColumn = 23}, srcInfoPoints = []}) "testRewrite2"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 31, srcSpanEndLine = 14, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 14, srcSpanStartColumn = 31, srcSpanEndLine = 14, srcSpanEndColumn = 32}, srcInfoPoints = []}) 0 "0")))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 3, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 3, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 3, srcSpanEndLine = 15, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 3, srcSpanEndLine = 15, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 3, srcSpanEndLine = 15, srcSpanEndColumn = 8}, srcInfoPoints = []}) "print"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 9, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 9, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 9, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 11, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 11, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 11, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 11, srcSpanEndLine = 15, srcSpanEndColumn = 30}, srcInfoPoints = []}) "testRewriteReverse2"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 31, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 15, srcSpanStartColumn = 31, srcSpanEndLine = 15, srcSpanEndColumn = 32}, srcInfoPoints = []}) 0 "0"))))])) Nothing,TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 6, srcSpanEndLine = 17, srcSpanEndColumn = 8}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 1, srcSpanEndLine = 17, srcSpanEndColumn = 5}, srcInfoPoints = []}) "test"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 9, srcSpanEndLine = 17, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 11, srcSpanEndLine = 17, srcSpanEndColumn = 12}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 9, srcSpanEndLine = 17, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 9, srcSpanEndLine = 17, srcSpanEndColumn = 10}, srcInfoPoints = []}) "a")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 13, srcSpanEndLine = 17, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 13, srcSpanEndLine = 17, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 17, srcSpanStartColumn = 13, srcSpanEndLine = 17, srcSpanEndColumn = 17}, srcInfoPoints = []}) "Bool")))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 1, srcSpanEndLine = 25, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 19, srcSpanStartColumn = 3, srcSpanEndLine = 19, srcSpanEndColumn = 8}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 1, srcSpanEndLine = 25, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 19, srcSpanStartColumn = 3, srcSpanEndLine = 19, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 1, srcSpanEndLine = 18, srcSpanEndColumn = 5}, srcInfoPoints = []}) "test") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 6, srcSpanEndLine = 18, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 6, srcSpanEndLine = 18, srcSpanEndColumn = 7}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 8, srcSpanEndLine = 18, srcSpanEndColumn = 12}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 8, srcSpanEndLine = 18, srcSpanEndColumn = 9}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 10, srcSpanEndLine = 18, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 10, srcSpanEndLine = 18, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 18, srcSpanStartColumn = 10, srcSpanEndLine = 18, srcSpanEndColumn = 12}, srcInfoPoints = []}) "pi")))) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 5, srcSpanEndLine = 25, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 5, srcSpanEndLine = 20, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 5, srcSpanEndLine = 21, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 5, srcSpanEndLine = 22, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 5, srcSpanEndLine = 23, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 1, srcSpanEndLine = 25, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 5, srcSpanEndLine = 20, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 5, srcSpanEndLine = 20, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 5, srcSpanEndLine = 20, srcSpanEndColumn = 6}, srcInfoPoints = []}) "f")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 8, srcSpanEndLine = 20, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 8, srcSpanEndLine = 20, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 10, srcSpanEndLine = 20, srcSpanEndColumn = 26}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 10, srcSpanEndLine = 20, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 10, srcSpanEndLine = 20, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 10, srcSpanEndLine = 20, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 10, srcSpanEndLine = 20, srcSpanEndColumn = 19}, srcInfoPoints = []}) "replicate"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 20, srcSpanEndLine = 20, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 20, srcSpanEndLine = 20, srcSpanEndColumn = 24}, srcInfoPoints = []}) 2000 "2000"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 25, srcSpanEndLine = 20, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 25, srcSpanEndLine = 20, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 20, srcSpanStartColumn = 25, srcSpanEndLine = 20, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 5, srcSpanEndLine = 21, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 5, srcSpanEndLine = 21, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 5, srcSpanEndLine = 21, srcSpanEndColumn = 6}, srcInfoPoints = []}) "i")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 8, srcSpanEndLine = 21, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 8, srcSpanEndLine = 21, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 10, srcSpanEndLine = 21, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 10, srcSpanEndLine = 21, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 10, srcSpanEndLine = 21, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 10, srcSpanEndLine = 21, srcSpanEndColumn = 16}, srcInfoPoints = []}) "repeat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 25, srcSpanEndLine = 21, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 25, srcSpanEndLine = 21, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 21, srcSpanStartColumn = 25, srcSpanEndLine = 21, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 5, srcSpanEndLine = 22, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 5, srcSpanEndLine = 22, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 5, srcSpanEndLine = 22, srcSpanEndColumn = 7}, srcInfoPoints = []}) "pf")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 8, srcSpanEndLine = 22, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 8, srcSpanEndLine = 22, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 10, srcSpanEndLine = 22, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 10, srcSpanEndLine = 22, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 10, srcSpanEndLine = 22, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 10, srcSpanEndLine = 22, srcSpanEndColumn = 11}, srcInfoPoints = []}) "f"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 12, srcSpanEndLine = 22, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 12, srcSpanEndLine = 22, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 12, srcSpanEndLine = 22, srcSpanEndColumn = 14}, srcInfoPoints = []}) "|>"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 15, srcSpanEndLine = 22, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 22, srcSpanStartColumn = 15, srcSpanEndLine = 22, srcSpanEndColumn = 18}, srcInfoPoints = []}) 300 "300")))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 5, srcSpanEndLine = 23, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 5, srcSpanEndLine = 23, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 5, srcSpanEndLine = 23, srcSpanEndColumn = 7}, srcInfoPoints = []}) "pi")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 8, srcSpanEndLine = 23, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 8, srcSpanEndLine = 23, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 10, srcSpanEndLine = 23, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 10, srcSpanEndLine = 23, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 10, srcSpanEndLine = 23, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 10, srcSpanEndLine = 23, srcSpanEndColumn = 11}, srcInfoPoints = []}) "i"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 12, srcSpanEndLine = 23, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 12, srcSpanEndLine = 23, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 12, srcSpanEndLine = 23, srcSpanEndColumn = 14}, srcInfoPoints = []}) "|>"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 15, srcSpanEndLine = 23, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 23, srcSpanStartColumn = 15, srcSpanEndLine = 23, srcSpanEndColumn = 18}, srcInfoPoints = []}) 300 "300")))) Nothing]))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 1, srcSpanEndLine = 25, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 7, srcSpanEndLine = 25, srcSpanEndColumn = 9}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 1, srcSpanEndLine = 25, srcSpanEndColumn = 6}, srcInfoPoints = []}) "test2"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 10, srcSpanEndLine = 25, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 12, srcSpanEndLine = 25, srcSpanEndColumn = 13}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 10, srcSpanEndLine = 25, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 10, srcSpanEndLine = 25, srcSpanEndColumn = 11}, srcInfoPoints = []}) "a")) (TyTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 14, srcSpanEndLine = 25, srcSpanEndColumn = 25}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 14, srcSpanEndLine = 25, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 19, srcSpanEndLine = 25, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 24, srcSpanEndLine = 25, srcSpanEndColumn = 25}]}) Boxed [TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 15, srcSpanEndLine = 25, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 15, srcSpanEndLine = 25, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 15, srcSpanEndLine = 25, srcSpanEndColumn = 19}, srcInfoPoints = []}) "Bool")),TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 20, srcSpanEndLine = 25, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 20, srcSpanEndLine = 25, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 25, srcSpanStartColumn = 20, srcSpanEndLine = 25, srcSpanEndColumn = 24}, srcInfoPoints = []}) "Bool"))])),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 1, srcSpanEndLine = 33, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 27, srcSpanStartColumn = 3, srcSpanEndLine = 27, srcSpanEndColumn = 8}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 1, srcSpanEndLine = 33, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 27, srcSpanStartColumn = 3, srcSpanEndLine = 27, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 1, srcSpanEndLine = 26, srcSpanEndColumn = 6}, srcInfoPoints = []}) "test2") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 7, srcSpanEndLine = 26, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 7, srcSpanEndLine = 26, srcSpanEndColumn = 8}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 9, srcSpanEndLine = 26, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 9, srcSpanEndLine = 26, srcSpanEndColumn = 10}]}) (Tuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 11, srcSpanEndLine = 26, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 11, srcSpanEndLine = 26, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 14, srcSpanEndLine = 26, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 17, srcSpanEndLine = 26, srcSpanEndColumn = 18}]}) Boxed [Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 12, srcSpanEndLine = 26, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 12, srcSpanEndLine = 26, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 12, srcSpanEndLine = 26, srcSpanEndColumn = 14}, srcInfoPoints = []}) "pf")),Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 15, srcSpanEndLine = 26, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 15, srcSpanEndLine = 26, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 26, srcSpanStartColumn = 15, srcSpanEndLine = 26, srcSpanEndColumn = 17}, srcInfoPoints = []}) "pi"))])) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 5, srcSpanEndLine = 33, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 5, srcSpanEndLine = 28, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 5, srcSpanEndLine = 29, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 5, srcSpanEndLine = 30, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 5, srcSpanEndLine = 31, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 1, srcSpanEndLine = 33, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 5, srcSpanEndLine = 28, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 5, srcSpanEndLine = 28, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 5, srcSpanEndLine = 28, srcSpanEndColumn = 6}, srcInfoPoints = []}) "f")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 8, srcSpanEndLine = 28, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 8, srcSpanEndLine = 28, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 10, srcSpanEndLine = 28, srcSpanEndColumn = 26}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 10, srcSpanEndLine = 28, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 10, srcSpanEndLine = 28, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 10, srcSpanEndLine = 28, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 10, srcSpanEndLine = 28, srcSpanEndColumn = 19}, srcInfoPoints = []}) "replicate"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 20, srcSpanEndLine = 28, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 20, srcSpanEndLine = 28, srcSpanEndColumn = 24}, srcInfoPoints = []}) 2000 "2000"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 25, srcSpanEndLine = 28, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 25, srcSpanEndLine = 28, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 28, srcSpanStartColumn = 25, srcSpanEndLine = 28, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 5, srcSpanEndLine = 29, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 5, srcSpanEndLine = 29, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 5, srcSpanEndLine = 29, srcSpanEndColumn = 6}, srcInfoPoints = []}) "i")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 8, srcSpanEndLine = 29, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 8, srcSpanEndLine = 29, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 10, srcSpanEndLine = 29, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 10, srcSpanEndLine = 29, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 10, srcSpanEndLine = 29, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 10, srcSpanEndLine = 29, srcSpanEndColumn = 16}, srcInfoPoints = []}) "repeat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 25, srcSpanEndLine = 29, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 25, srcSpanEndLine = 29, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 29, srcSpanStartColumn = 25, srcSpanEndLine = 29, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 5, srcSpanEndLine = 30, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 5, srcSpanEndLine = 30, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 5, srcSpanEndLine = 30, srcSpanEndColumn = 7}, srcInfoPoints = []}) "pf")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 8, srcSpanEndLine = 30, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 8, srcSpanEndLine = 30, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 10, srcSpanEndLine = 30, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 10, srcSpanEndLine = 30, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 10, srcSpanEndLine = 30, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 10, srcSpanEndLine = 30, srcSpanEndColumn = 11}, srcInfoPoints = []}) "f"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 12, srcSpanEndLine = 30, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 12, srcSpanEndLine = 30, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 12, srcSpanEndLine = 30, srcSpanEndColumn = 14}, srcInfoPoints = []}) "|>"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 15, srcSpanEndLine = 30, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 30, srcSpanStartColumn = 15, srcSpanEndLine = 30, srcSpanEndColumn = 18}, srcInfoPoints = []}) 300 "300")))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 5, srcSpanEndLine = 31, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 5, srcSpanEndLine = 31, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 5, srcSpanEndLine = 31, srcSpanEndColumn = 7}, srcInfoPoints = []}) "pi")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 8, srcSpanEndLine = 31, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 8, srcSpanEndLine = 31, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 10, srcSpanEndLine = 31, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 10, srcSpanEndLine = 31, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 10, srcSpanEndLine = 31, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 10, srcSpanEndLine = 31, srcSpanEndColumn = 11}, srcInfoPoints = []}) "i"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 12, srcSpanEndLine = 31, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 12, srcSpanEndLine = 31, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 12, srcSpanEndLine = 31, srcSpanEndColumn = 14}, srcInfoPoints = []}) "|>"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 15, srcSpanEndLine = 31, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 31, srcSpanStartColumn = 15, srcSpanEndLine = 31, srcSpanEndColumn = 18}, srcInfoPoints = []}) 300 "300")))) Nothing]))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 1, srcSpanEndLine = 33, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 13, srcSpanEndLine = 33, srcSpanEndColumn = 15}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 1, srcSpanEndLine = 33, srcSpanEndColumn = 12}, srcInfoPoints = []}) "testRewrite"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 16, srcSpanEndLine = 33, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 18, srcSpanEndLine = 33, srcSpanEndColumn = 19}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 16, srcSpanEndLine = 33, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 16, srcSpanEndLine = 33, srcSpanEndColumn = 17}, srcInfoPoints = []}) "a")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 20, srcSpanEndLine = 33, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 20, srcSpanEndLine = 33, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 33, srcSpanStartColumn = 20, srcSpanEndLine = 33, srcSpanEndColumn = 24}, srcInfoPoints = []}) "Bool")))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 1, srcSpanEndLine = 43, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 35, srcSpanStartColumn = 3, srcSpanEndLine = 35, srcSpanEndColumn = 8}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 1, srcSpanEndLine = 43, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 35, srcSpanStartColumn = 3, srcSpanEndLine = 35, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 1, srcSpanEndLine = 34, srcSpanEndColumn = 12}, srcInfoPoints = []}) "testRewrite") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 13, srcSpanEndLine = 34, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 13, srcSpanEndLine = 34, srcSpanEndColumn = 14}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 15, srcSpanEndLine = 34, srcSpanEndColumn = 19}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 15, srcSpanEndLine = 34, srcSpanEndColumn = 16}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 17, srcSpanEndLine = 34, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 17, srcSpanEndLine = 34, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 34, srcSpanStartColumn = 17, srcSpanEndLine = 34, srcSpanEndColumn = 19}, srcInfoPoints = []}) "pi")))) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 5, srcSpanEndLine = 43, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 5, srcSpanEndLine = 36, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 5, srcSpanEndLine = 37, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 5, srcSpanEndLine = 38, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 5, srcSpanEndLine = 39, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 5, srcSpanEndLine = 40, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 5, srcSpanEndLine = 41, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 1, srcSpanEndLine = 43, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 5, srcSpanEndLine = 36, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 5, srcSpanEndLine = 36, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 5, srcSpanEndLine = 36, srcSpanEndColumn = 6}, srcInfoPoints = []}) "f")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 8, srcSpanEndLine = 36, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 8, srcSpanEndLine = 36, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 10, srcSpanEndLine = 36, srcSpanEndColumn = 26}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 10, srcSpanEndLine = 36, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 10, srcSpanEndLine = 36, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 10, srcSpanEndLine = 36, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 10, srcSpanEndLine = 36, srcSpanEndColumn = 19}, srcInfoPoints = []}) "replicate"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 20, srcSpanEndLine = 36, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 20, srcSpanEndLine = 36, srcSpanEndColumn = 24}, srcInfoPoints = []}) 2000 "2000"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 25, srcSpanEndLine = 36, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 25, srcSpanEndLine = 36, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 36, srcSpanStartColumn = 25, srcSpanEndLine = 36, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 5, srcSpanEndLine = 37, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 5, srcSpanEndLine = 37, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 5, srcSpanEndLine = 37, srcSpanEndColumn = 6}, srcInfoPoints = []}) "i")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 8, srcSpanEndLine = 37, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 8, srcSpanEndLine = 37, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 10, srcSpanEndLine = 37, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 10, srcSpanEndLine = 37, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 10, srcSpanEndLine = 37, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 10, srcSpanEndLine = 37, srcSpanEndColumn = 16}, srcInfoPoints = []}) "repeat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 25, srcSpanEndLine = 37, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 25, srcSpanEndLine = 37, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 37, srcSpanStartColumn = 25, srcSpanEndLine = 37, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 5, srcSpanEndLine = 38, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 5, srcSpanEndLine = 38, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 5, srcSpanEndLine = 38, srcSpanEndColumn = 7}, srcInfoPoints = []}) "lf")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 8, srcSpanEndLine = 38, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 8, srcSpanEndLine = 38, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 10, srcSpanEndLine = 38, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 10, srcSpanEndLine = 38, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 10, srcSpanEndLine = 38, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 10, srcSpanEndLine = 38, srcSpanEndColumn = 16}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 17, srcSpanEndLine = 38, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 17, srcSpanEndLine = 38, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 38, srcSpanStartColumn = 17, srcSpanEndLine = 38, srcSpanEndColumn = 18}, srcInfoPoints = []}) "f"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 5, srcSpanEndLine = 39, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 5, srcSpanEndLine = 39, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 5, srcSpanEndLine = 39, srcSpanEndColumn = 7}, srcInfoPoints = []}) "li")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 8, srcSpanEndLine = 39, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 8, srcSpanEndLine = 39, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 10, srcSpanEndLine = 39, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 10, srcSpanEndLine = 39, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 10, srcSpanEndLine = 39, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 10, srcSpanEndLine = 39, srcSpanEndColumn = 16}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 17, srcSpanEndLine = 39, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 17, srcSpanEndLine = 39, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 39, srcSpanStartColumn = 17, srcSpanEndLine = 39, srcSpanEndColumn = 18}, srcInfoPoints = []}) "i"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 5, srcSpanEndLine = 40, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 5, srcSpanEndLine = 40, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 5, srcSpanEndLine = 40, srcSpanEndColumn = 7}, srcInfoPoints = []}) "pf")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 8, srcSpanEndLine = 40, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 8, srcSpanEndLine = 40, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 10, srcSpanEndLine = 40, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 10, srcSpanEndLine = 40, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 10, srcSpanEndLine = 40, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 10, srcSpanEndLine = 40, srcSpanEndColumn = 12}, srcInfoPoints = []}) "lf"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 13, srcSpanEndLine = 40, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 13, srcSpanEndLine = 40, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 13, srcSpanEndLine = 40, srcSpanEndColumn = 14}, srcInfoPoints = []}) ">"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 15, srcSpanEndLine = 40, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 40, srcSpanStartColumn = 15, srcSpanEndLine = 40, srcSpanEndColumn = 18}, srcInfoPoints = []}) 300 "300")))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 5, srcSpanEndLine = 41, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 5, srcSpanEndLine = 41, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 5, srcSpanEndLine = 41, srcSpanEndColumn = 7}, srcInfoPoints = []}) "pi")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 8, srcSpanEndLine = 41, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 8, srcSpanEndLine = 41, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 10, srcSpanEndLine = 41, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 10, srcSpanEndLine = 41, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 10, srcSpanEndLine = 41, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 10, srcSpanEndLine = 41, srcSpanEndColumn = 12}, srcInfoPoints = []}) "li"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 13, srcSpanEndLine = 41, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 13, srcSpanEndLine = 41, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 13, srcSpanEndLine = 41, srcSpanEndColumn = 14}, srcInfoPoints = []}) ">"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 15, srcSpanEndLine = 41, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 41, srcSpanStartColumn = 15, srcSpanEndLine = 41, srcSpanEndColumn = 18}, srcInfoPoints = []}) 300 "300")))) Nothing]))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 1, srcSpanEndLine = 43, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 20, srcSpanEndLine = 43, srcSpanEndColumn = 22}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 1, srcSpanEndLine = 43, srcSpanEndColumn = 19}, srcInfoPoints = []}) "testRewriteReverse"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 23, srcSpanEndLine = 43, srcSpanEndColumn = 31}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 25, srcSpanEndLine = 43, srcSpanEndColumn = 26}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 23, srcSpanEndLine = 43, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 23, srcSpanEndLine = 43, srcSpanEndColumn = 24}, srcInfoPoints = []}) "a")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 27, srcSpanEndLine = 43, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 27, srcSpanEndLine = 43, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 43, srcSpanStartColumn = 27, srcSpanEndLine = 43, srcSpanEndColumn = 31}, srcInfoPoints = []}) "Bool")))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 1, srcSpanEndLine = 53, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 45, srcSpanStartColumn = 3, srcSpanEndLine = 45, srcSpanEndColumn = 8}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 1, srcSpanEndLine = 53, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 45, srcSpanStartColumn = 3, srcSpanEndLine = 45, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 1, srcSpanEndLine = 44, srcSpanEndColumn = 19}, srcInfoPoints = []}) "testRewriteReverse") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 20, srcSpanEndLine = 44, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 20, srcSpanEndLine = 44, srcSpanEndColumn = 21}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 22, srcSpanEndLine = 44, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 22, srcSpanEndLine = 44, srcSpanEndColumn = 23}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 24, srcSpanEndLine = 44, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 24, srcSpanEndLine = 44, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 44, srcSpanStartColumn = 24, srcSpanEndLine = 44, srcSpanEndColumn = 26}, srcInfoPoints = []}) "pi")))) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 5, srcSpanEndLine = 53, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 5, srcSpanEndLine = 46, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 5, srcSpanEndLine = 47, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 5, srcSpanEndLine = 48, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 5, srcSpanEndLine = 49, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 5, srcSpanEndLine = 50, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 5, srcSpanEndLine = 51, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 1, srcSpanEndLine = 53, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 5, srcSpanEndLine = 46, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 5, srcSpanEndLine = 46, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 5, srcSpanEndLine = 46, srcSpanEndColumn = 6}, srcInfoPoints = []}) "f")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 8, srcSpanEndLine = 46, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 8, srcSpanEndLine = 46, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 10, srcSpanEndLine = 46, srcSpanEndColumn = 26}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 10, srcSpanEndLine = 46, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 10, srcSpanEndLine = 46, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 10, srcSpanEndLine = 46, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 10, srcSpanEndLine = 46, srcSpanEndColumn = 19}, srcInfoPoints = []}) "replicate"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 20, srcSpanEndLine = 46, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 20, srcSpanEndLine = 46, srcSpanEndColumn = 24}, srcInfoPoints = []}) 2000 "2000"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 25, srcSpanEndLine = 46, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 25, srcSpanEndLine = 46, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 46, srcSpanStartColumn = 25, srcSpanEndLine = 46, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 5, srcSpanEndLine = 47, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 5, srcSpanEndLine = 47, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 5, srcSpanEndLine = 47, srcSpanEndColumn = 6}, srcInfoPoints = []}) "i")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 8, srcSpanEndLine = 47, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 8, srcSpanEndLine = 47, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 10, srcSpanEndLine = 47, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 10, srcSpanEndLine = 47, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 10, srcSpanEndLine = 47, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 10, srcSpanEndLine = 47, srcSpanEndColumn = 16}, srcInfoPoints = []}) "repeat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 25, srcSpanEndLine = 47, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 25, srcSpanEndLine = 47, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 47, srcSpanStartColumn = 25, srcSpanEndLine = 47, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 5, srcSpanEndLine = 48, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 5, srcSpanEndLine = 48, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 5, srcSpanEndLine = 48, srcSpanEndColumn = 7}, srcInfoPoints = []}) "lf")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 8, srcSpanEndLine = 48, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 8, srcSpanEndLine = 48, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 10, srcSpanEndLine = 48, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 10, srcSpanEndLine = 48, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 10, srcSpanEndLine = 48, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 10, srcSpanEndLine = 48, srcSpanEndColumn = 16}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 17, srcSpanEndLine = 48, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 17, srcSpanEndLine = 48, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 48, srcSpanStartColumn = 17, srcSpanEndLine = 48, srcSpanEndColumn = 18}, srcInfoPoints = []}) "f"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 5, srcSpanEndLine = 49, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 5, srcSpanEndLine = 49, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 5, srcSpanEndLine = 49, srcSpanEndColumn = 7}, srcInfoPoints = []}) "li")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 8, srcSpanEndLine = 49, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 8, srcSpanEndLine = 49, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 10, srcSpanEndLine = 49, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 10, srcSpanEndLine = 49, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 10, srcSpanEndLine = 49, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 10, srcSpanEndLine = 49, srcSpanEndColumn = 16}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 17, srcSpanEndLine = 49, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 17, srcSpanEndLine = 49, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 49, srcSpanStartColumn = 17, srcSpanEndLine = 49, srcSpanEndColumn = 18}, srcInfoPoints = []}) "i"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 5, srcSpanEndLine = 50, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 5, srcSpanEndLine = 50, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 5, srcSpanEndLine = 50, srcSpanEndColumn = 7}, srcInfoPoints = []}) "pf")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 8, srcSpanEndLine = 50, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 8, srcSpanEndLine = 50, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 10, srcSpanEndLine = 50, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 10, srcSpanEndLine = 50, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 10, srcSpanEndLine = 50, srcSpanEndColumn = 13}, srcInfoPoints = []}) 300 "300")) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 14, srcSpanEndLine = 50, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 14, srcSpanEndLine = 50, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 14, srcSpanEndLine = 50, srcSpanEndColumn = 15}, srcInfoPoints = []}) "\8804"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 16, srcSpanEndLine = 50, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 16, srcSpanEndLine = 50, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 50, srcSpanStartColumn = 16, srcSpanEndLine = 50, srcSpanEndColumn = 18}, srcInfoPoints = []}) "lf"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 5, srcSpanEndLine = 51, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 5, srcSpanEndLine = 51, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 5, srcSpanEndLine = 51, srcSpanEndColumn = 7}, srcInfoPoints = []}) "pi")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 8, srcSpanEndLine = 51, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 8, srcSpanEndLine = 51, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 10, srcSpanEndLine = 51, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 10, srcSpanEndLine = 51, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 10, srcSpanEndLine = 51, srcSpanEndColumn = 13}, srcInfoPoints = []}) 300 "300")) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 14, srcSpanEndLine = 51, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 14, srcSpanEndLine = 51, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 14, srcSpanEndLine = 51, srcSpanEndColumn = 15}, srcInfoPoints = []}) "\8804"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 16, srcSpanEndLine = 51, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 16, srcSpanEndLine = 51, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 51, srcSpanStartColumn = 16, srcSpanEndLine = 51, srcSpanEndColumn = 18}, srcInfoPoints = []}) "li"))))) Nothing]))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 1, srcSpanEndLine = 53, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 14, srcSpanEndLine = 53, srcSpanEndColumn = 16}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 1, srcSpanEndLine = 53, srcSpanEndColumn = 13}, srcInfoPoints = []}) "testRewrite2"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 17, srcSpanEndLine = 53, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 19, srcSpanEndLine = 53, srcSpanEndColumn = 20}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 17, srcSpanEndLine = 53, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 17, srcSpanEndLine = 53, srcSpanEndColumn = 18}, srcInfoPoints = []}) "a")) (TyTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 21, srcSpanEndLine = 53, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 21, srcSpanEndLine = 53, srcSpanEndColumn = 22},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 26, srcSpanEndLine = 53, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 31, srcSpanEndLine = 53, srcSpanEndColumn = 32}]}) Boxed [TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 22, srcSpanEndLine = 53, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 22, srcSpanEndLine = 53, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 22, srcSpanEndLine = 53, srcSpanEndColumn = 26}, srcInfoPoints = []}) "Bool")),TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 27, srcSpanEndLine = 53, srcSpanEndColumn = 31}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 27, srcSpanEndLine = 53, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 53, srcSpanStartColumn = 27, srcSpanEndLine = 53, srcSpanEndColumn = 31}, srcInfoPoints = []}) "Bool"))])),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 1, srcSpanEndLine = 63, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 55, srcSpanStartColumn = 3, srcSpanEndLine = 55, srcSpanEndColumn = 8}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 1, srcSpanEndLine = 63, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 55, srcSpanStartColumn = 3, srcSpanEndLine = 55, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 1, srcSpanEndLine = 54, srcSpanEndColumn = 13}, srcInfoPoints = []}) "testRewrite2") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 14, srcSpanEndLine = 54, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 14, srcSpanEndLine = 54, srcSpanEndColumn = 15}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 16, srcSpanEndLine = 54, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 16, srcSpanEndLine = 54, srcSpanEndColumn = 17}]}) (Tuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 18, srcSpanEndLine = 54, srcSpanEndColumn = 49}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 18, srcSpanEndLine = 54, srcSpanEndColumn = 19},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 33, srcSpanEndLine = 54, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 48, srcSpanEndLine = 54, srcSpanEndColumn = 49}]}) Boxed [InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 19, srcSpanEndLine = 54, srcSpanEndColumn = 33}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 19, srcSpanEndLine = 54, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 19, srcSpanEndLine = 54, srcSpanEndColumn = 25}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 19, srcSpanEndLine = 54, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 19, srcSpanEndLine = 54, srcSpanEndColumn = 25}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 26, srcSpanEndLine = 54, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 26, srcSpanEndLine = 54, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 26, srcSpanEndLine = 54, srcSpanEndColumn = 27}, srcInfoPoints = []}) "i")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 28, srcSpanEndLine = 54, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 28, srcSpanEndLine = 54, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 28, srcSpanEndLine = 54, srcSpanEndColumn = 29}, srcInfoPoints = []}) ">"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 30, srcSpanEndLine = 54, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 30, srcSpanEndLine = 54, srcSpanEndColumn = 33}, srcInfoPoints = []}) 300 "300")),InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 34, srcSpanEndLine = 54, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 34, srcSpanEndLine = 54, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 34, srcSpanEndLine = 54, srcSpanEndColumn = 37}, srcInfoPoints = []}) 300 "300")) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 38, srcSpanEndLine = 54, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 38, srcSpanEndLine = 54, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 38, srcSpanEndLine = 54, srcSpanEndColumn = 39}, srcInfoPoints = []}) ">"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 40, srcSpanEndLine = 54, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 40, srcSpanEndLine = 54, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 40, srcSpanEndLine = 54, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 40, srcSpanEndLine = 54, srcSpanEndColumn = 46}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 47, srcSpanEndLine = 54, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 47, srcSpanEndLine = 54, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 54, srcSpanStartColumn = 47, srcSpanEndLine = 54, srcSpanEndColumn = 48}, srcInfoPoints = []}) "i"))))])) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 5, srcSpanEndLine = 63, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 5, srcSpanEndLine = 57, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 1, srcSpanEndLine = 63, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 5, srcSpanEndLine = 57, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 5, srcSpanEndLine = 57, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 5, srcSpanEndLine = 57, srcSpanEndColumn = 6}, srcInfoPoints = []}) "i")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 8, srcSpanEndLine = 57, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 8, srcSpanEndLine = 57, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 10, srcSpanEndLine = 57, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 10, srcSpanEndLine = 57, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 10, srcSpanEndLine = 57, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 10, srcSpanEndLine = 57, srcSpanEndColumn = 16}, srcInfoPoints = []}) "repeat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 25, srcSpanEndLine = 57, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 25, srcSpanEndLine = 57, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 57, srcSpanStartColumn = 25, srcSpanEndLine = 57, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing]))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 1, srcSpanEndLine = 63, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 21, srcSpanEndLine = 63, srcSpanEndColumn = 23}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 1, srcSpanEndLine = 63, srcSpanEndColumn = 20}, srcInfoPoints = []}) "testRewriteReverse2"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 24, srcSpanEndLine = 63, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 26, srcSpanEndLine = 63, srcSpanEndColumn = 27}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 24, srcSpanEndLine = 63, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 24, srcSpanEndLine = 63, srcSpanEndColumn = 25}, srcInfoPoints = []}) "a")) (TyTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 28, srcSpanEndLine = 63, srcSpanEndColumn = 39}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 28, srcSpanEndLine = 63, srcSpanEndColumn = 29},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 33, srcSpanEndLine = 63, srcSpanEndColumn = 34},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 38, srcSpanEndLine = 63, srcSpanEndColumn = 39}]}) Boxed [TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 29, srcSpanEndLine = 63, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 29, srcSpanEndLine = 63, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 29, srcSpanEndLine = 63, srcSpanEndColumn = 33}, srcInfoPoints = []}) "Bool")),TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 34, srcSpanEndLine = 63, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 34, srcSpanEndLine = 63, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 63, srcSpanStartColumn = 34, srcSpanEndLine = 63, srcSpanEndColumn = 38}, srcInfoPoints = []}) "Bool"))])),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 1, srcSpanEndLine = 74, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 65, srcSpanStartColumn = 3, srcSpanEndLine = 65, srcSpanEndColumn = 8}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 1, srcSpanEndLine = 74, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 65, srcSpanStartColumn = 3, srcSpanEndLine = 65, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 1, srcSpanEndLine = 64, srcSpanEndColumn = 20}, srcInfoPoints = []}) "testRewriteReverse2") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 21, srcSpanEndLine = 64, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 21, srcSpanEndLine = 64, srcSpanEndColumn = 22}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 23, srcSpanEndLine = 64, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 23, srcSpanEndLine = 64, srcSpanEndColumn = 24}]}) (Tuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 25, srcSpanEndLine = 64, srcSpanEndColumn = 56}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 25, srcSpanEndLine = 64, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 41, srcSpanEndLine = 64, srcSpanEndColumn = 42},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 55, srcSpanEndLine = 64, srcSpanEndColumn = 56}]}) Boxed [InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 26, srcSpanEndLine = 64, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 26, srcSpanEndLine = 64, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 26, srcSpanEndLine = 64, srcSpanEndColumn = 30}, srcInfoPoints = []}) 2000 "2000")) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 31, srcSpanEndLine = 64, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 31, srcSpanEndLine = 64, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 31, srcSpanEndLine = 64, srcSpanEndColumn = 32}, srcInfoPoints = []}) "<"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 33, srcSpanEndLine = 64, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 33, srcSpanEndLine = 64, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 33, srcSpanEndLine = 64, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 33, srcSpanEndLine = 64, srcSpanEndColumn = 39}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 40, srcSpanEndLine = 64, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 40, srcSpanEndLine = 64, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 40, srcSpanEndLine = 64, srcSpanEndColumn = 41}, srcInfoPoints = []}) "i")))),InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 42, srcSpanEndLine = 64, srcSpanEndColumn = 55}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 42, srcSpanEndLine = 64, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 42, srcSpanEndLine = 64, srcSpanEndColumn = 48}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 42, srcSpanEndLine = 64, srcSpanEndColumn = 48}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 42, srcSpanEndLine = 64, srcSpanEndColumn = 48}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 49, srcSpanEndLine = 64, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 49, srcSpanEndLine = 64, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 49, srcSpanEndLine = 64, srcSpanEndColumn = 50}, srcInfoPoints = []}) "i")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 51, srcSpanEndLine = 64, srcSpanEndColumn = 52}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 51, srcSpanEndLine = 64, srcSpanEndColumn = 52}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 51, srcSpanEndLine = 64, srcSpanEndColumn = 52}, srcInfoPoints = []}) ">"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 53, srcSpanEndLine = 64, srcSpanEndColumn = 55}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 64, srcSpanStartColumn = 53, srcSpanEndLine = 64, srcSpanEndColumn = 55}, srcInfoPoints = []}) 20 "20"))])) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 5, srcSpanEndLine = 74, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 5, srcSpanEndLine = 66, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 5, srcSpanEndLine = 67, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 5, srcSpanEndLine = 68, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 5, srcSpanEndLine = 69, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 5, srcSpanEndLine = 70, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 5, srcSpanEndLine = 71, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 1, srcSpanEndLine = 74, srcSpanEndColumn = 0}]}) [PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 5, srcSpanEndLine = 66, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 5, srcSpanEndLine = 66, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 5, srcSpanEndLine = 66, srcSpanEndColumn = 6}, srcInfoPoints = []}) "f")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 8, srcSpanEndLine = 66, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 8, srcSpanEndLine = 66, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 10, srcSpanEndLine = 66, srcSpanEndColumn = 26}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 10, srcSpanEndLine = 66, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 10, srcSpanEndLine = 66, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 10, srcSpanEndLine = 66, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 10, srcSpanEndLine = 66, srcSpanEndColumn = 19}, srcInfoPoints = []}) "replicate"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 20, srcSpanEndLine = 66, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 20, srcSpanEndLine = 66, srcSpanEndColumn = 24}, srcInfoPoints = []}) 2000 "2000"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 25, srcSpanEndLine = 66, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 25, srcSpanEndLine = 66, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 66, srcSpanStartColumn = 25, srcSpanEndLine = 66, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 5, srcSpanEndLine = 67, srcSpanEndColumn = 26}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 5, srcSpanEndLine = 67, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 5, srcSpanEndLine = 67, srcSpanEndColumn = 6}, srcInfoPoints = []}) "i")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 8, srcSpanEndLine = 67, srcSpanEndColumn = 26}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 8, srcSpanEndLine = 67, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 10, srcSpanEndLine = 67, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 10, srcSpanEndLine = 67, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 10, srcSpanEndLine = 67, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 10, srcSpanEndLine = 67, srcSpanEndColumn = 16}, srcInfoPoints = []}) "repeat"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 25, srcSpanEndLine = 67, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 25, srcSpanEndLine = 67, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 67, srcSpanStartColumn = 25, srcSpanEndLine = 67, srcSpanEndColumn = 26}, srcInfoPoints = []}) "x"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 5, srcSpanEndLine = 68, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 5, srcSpanEndLine = 68, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 5, srcSpanEndLine = 68, srcSpanEndColumn = 7}, srcInfoPoints = []}) "lf")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 8, srcSpanEndLine = 68, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 8, srcSpanEndLine = 68, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 10, srcSpanEndLine = 68, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 10, srcSpanEndLine = 68, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 10, srcSpanEndLine = 68, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 10, srcSpanEndLine = 68, srcSpanEndColumn = 16}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 17, srcSpanEndLine = 68, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 17, srcSpanEndLine = 68, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 68, srcSpanStartColumn = 17, srcSpanEndLine = 68, srcSpanEndColumn = 18}, srcInfoPoints = []}) "f"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 5, srcSpanEndLine = 69, srcSpanEndColumn = 18}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 5, srcSpanEndLine = 69, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 5, srcSpanEndLine = 69, srcSpanEndColumn = 7}, srcInfoPoints = []}) "li")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 8, srcSpanEndLine = 69, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 8, srcSpanEndLine = 69, srcSpanEndColumn = 9}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 10, srcSpanEndLine = 69, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 10, srcSpanEndLine = 69, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 10, srcSpanEndLine = 69, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 10, srcSpanEndLine = 69, srcSpanEndColumn = 16}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 17, srcSpanEndLine = 69, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 17, srcSpanEndLine = 69, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 69, srcSpanStartColumn = 17, srcSpanEndLine = 69, srcSpanEndColumn = 18}, srcInfoPoints = []}) "i"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 5, srcSpanEndLine = 70, srcSpanEndColumn = 20}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 5, srcSpanEndLine = 70, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 5, srcSpanEndLine = 70, srcSpanEndColumn = 7}, srcInfoPoints = []}) "pf")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 8, srcSpanEndLine = 70, srcSpanEndColumn = 20}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 8, srcSpanEndLine = 70, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 10, srcSpanEndLine = 70, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 10, srcSpanEndLine = 70, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 10, srcSpanEndLine = 70, srcSpanEndColumn = 14}, srcInfoPoints = []}) 2000 "2000")) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 15, srcSpanEndLine = 70, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 15, srcSpanEndLine = 70, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 15, srcSpanEndLine = 70, srcSpanEndColumn = 17}, srcInfoPoints = []}) "=="))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 18, srcSpanEndLine = 70, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 18, srcSpanEndLine = 70, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 70, srcSpanStartColumn = 18, srcSpanEndLine = 70, srcSpanEndColumn = 20}, srcInfoPoints = []}) "lf"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 5, srcSpanEndLine = 71, srcSpanEndColumn = 17}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 5, srcSpanEndLine = 71, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 5, srcSpanEndLine = 71, srcSpanEndColumn = 7}, srcInfoPoints = []}) "pi")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 8, srcSpanEndLine = 71, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 8, srcSpanEndLine = 71, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 10, srcSpanEndLine = 71, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 10, srcSpanEndLine = 71, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 10, srcSpanEndLine = 71, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 10, srcSpanEndLine = 71, srcSpanEndColumn = 12}, srcInfoPoints = []}) "lf"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 13, srcSpanEndLine = 71, srcSpanEndColumn = 14}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 13, srcSpanEndLine = 71, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 13, srcSpanEndLine = 71, srcSpanEndColumn = 14}, srcInfoPoints = []}) "\8805"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 15, srcSpanEndLine = 71, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 15, srcSpanEndLine = 71, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 71, srcSpanStartColumn = 15, srcSpanEndLine = 71, srcSpanEndColumn = 17}, srcInfoPoints = []}) "li"))))) Nothing]))],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 1, srcSpanEndLine = 74, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 10, srcSpanEndLine = 74, srcSpanEndColumn = 12}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 1, srcSpanEndLine = 74, srcSpanEndColumn = 9}, srcInfoPoints = []}) "lengthOP"] (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 13, srcSpanEndLine = 74, srcSpanEndColumn = 68}, srcInfoPoints = []}) Nothing (Just (CxTuple (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 13, srcSpanEndLine = 74, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 13, srcSpanEndLine = 74, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 19, srcSpanEndLine = 74, srcSpanEndColumn = 20},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 26, srcSpanEndLine = 74, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 28, srcSpanEndLine = 74, srcSpanEndColumn = 29}]}) [ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 14, srcSpanEndLine = 74, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 14, srcSpanEndLine = 74, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 14, srcSpanEndLine = 74, srcSpanEndColumn = 17}, srcInfoPoints = []}) "Num")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 18, srcSpanEndLine = 74, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 18, srcSpanEndLine = 74, srcSpanEndColumn = 19}, srcInfoPoints = []}) "a")],ClassA (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 21, srcSpanEndLine = 74, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 21, srcSpanEndLine = 74, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 21, srcSpanEndLine = 74, srcSpanEndColumn = 24}, srcInfoPoints = []}) "Ord")) [TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 25, srcSpanEndLine = 74, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 25, srcSpanEndLine = 74, srcSpanEndColumn = 26}, srcInfoPoints = []}) "a")]])) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 30, srcSpanEndLine = 74, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 35, srcSpanEndLine = 74, srcSpanEndColumn = 36}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 30, srcSpanEndLine = 74, srcSpanEndColumn = 34}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 30, srcSpanEndLine = 74, srcSpanEndColumn = 34}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 30, srcSpanEndLine = 74, srcSpanEndColumn = 34}, srcInfoPoints = []}) "Bool"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 37, srcSpanEndLine = 74, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 52, srcSpanEndLine = 74, srcSpanEndColumn = 53}]}) (TyParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 37, srcSpanEndLine = 74, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 37, srcSpanEndLine = 74, srcSpanEndColumn = 38},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 50, srcSpanEndLine = 74, srcSpanEndColumn = 51}]}) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 38, srcSpanEndLine = 74, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 40, srcSpanEndLine = 74, srcSpanEndColumn = 41}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 38, srcSpanEndLine = 74, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 38, srcSpanEndLine = 74, srcSpanEndColumn = 39}, srcInfoPoints = []}) "a")) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 42, srcSpanEndLine = 74, srcSpanEndColumn = 50}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 44, srcSpanEndLine = 74, srcSpanEndColumn = 45}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 42, srcSpanEndLine = 74, srcSpanEndColumn = 43}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 42, srcSpanEndLine = 74, srcSpanEndColumn = 43}, srcInfoPoints = []}) "a")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 46, srcSpanEndLine = 74, srcSpanEndColumn = 50}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 46, srcSpanEndLine = 74, srcSpanEndColumn = 50}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 46, srcSpanEndLine = 74, srcSpanEndColumn = 50}, srcInfoPoints = []}) "Bool")))))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 54, srcSpanEndLine = 74, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 58, srcSpanEndLine = 74, srcSpanEndColumn = 59}]}) (TyList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 54, srcSpanEndLine = 74, srcSpanEndColumn = 57}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 54, srcSpanEndLine = 74, srcSpanEndColumn = 55},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 56, srcSpanEndLine = 74, srcSpanEndColumn = 57}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 55, srcSpanEndLine = 74, srcSpanEndColumn = 56}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 55, srcSpanEndLine = 74, srcSpanEndColumn = 56}, srcInfoPoints = []}) "b"))) (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 60, srcSpanEndLine = 74, srcSpanEndColumn = 68}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 62, srcSpanEndLine = 74, srcSpanEndColumn = 63}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 60, srcSpanEndLine = 74, srcSpanEndColumn = 61}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 60, srcSpanEndLine = 74, srcSpanEndColumn = 61}, srcInfoPoints = []}) "a")) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 64, srcSpanEndLine = 74, srcSpanEndColumn = 68}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 64, srcSpanEndLine = 74, srcSpanEndColumn = 68}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 74, srcSpanStartColumn = 64, srcSpanEndLine = 74, srcSpanEndColumn = 68}, srcInfoPoints = []}) "Bool")))))))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 1, srcSpanEndLine = 82, srcSpanEndColumn = 0}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 1, srcSpanEndLine = 75, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 1, srcSpanEndLine = 75, srcSpanEndColumn = 9}, srcInfoPoints = []}) "lengthOP") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 10, srcSpanEndLine = 75, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 10, srcSpanEndLine = 75, srcSpanEndColumn = 11}, srcInfoPoints = []}) "v"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 12, srcSpanEndLine = 75, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 12, srcSpanEndLine = 75, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 13, srcSpanEndLine = 75, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 14, srcSpanEndLine = 75, srcSpanEndColumn = 15}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 12, srcSpanEndLine = 75, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 12, srcSpanEndLine = 75, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 13, srcSpanEndLine = 75, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 14, srcSpanEndLine = 75, srcSpanEndColumn = 15}]}) "\8860"),PList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 16, srcSpanEndLine = 75, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 16, srcSpanEndLine = 75, srcSpanEndColumn = 17},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 17, srcSpanEndLine = 75, srcSpanEndColumn = 18}]}) [],PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 20, srcSpanEndLine = 75, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 20, srcSpanEndLine = 75, srcSpanEndColumn = 21}, srcInfoPoints = []}) "n")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 22, srcSpanEndLine = 75, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 22, srcSpanEndLine = 75, srcSpanEndColumn = 23}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 24, srcSpanEndLine = 75, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 24, srcSpanEndLine = 75, srcSpanEndColumn = 25}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 24, srcSpanEndLine = 75, srcSpanEndColumn = 25}, srcInfoPoints = []}) 0 "0")) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 26, srcSpanEndLine = 75, srcSpanEndColumn = 27}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 26, srcSpanEndLine = 75, srcSpanEndColumn = 27}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 26, srcSpanEndLine = 75, srcSpanEndColumn = 27}, srcInfoPoints = []}) "\8860"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 28, srcSpanEndLine = 75, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 28, srcSpanEndLine = 75, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 75, srcSpanStartColumn = 28, srcSpanEndLine = 75, srcSpanEndColumn = 29}, srcInfoPoints = []}) "n"))))) Nothing,Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 1, srcSpanEndLine = 82, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 77, srcSpanStartColumn = 3, srcSpanEndLine = 77, srcSpanEndColumn = 8}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 1, srcSpanEndLine = 76, srcSpanEndColumn = 9}, srcInfoPoints = []}) "lengthOP") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 10, srcSpanEndLine = 76, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 10, srcSpanEndLine = 76, srcSpanEndColumn = 11}, srcInfoPoints = []}) "v"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 12, srcSpanEndLine = 76, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 12, srcSpanEndLine = 76, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 13, srcSpanEndLine = 76, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 14, srcSpanEndLine = 76, srcSpanEndColumn = 15}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 12, srcSpanEndLine = 76, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 12, srcSpanEndLine = 76, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 13, srcSpanEndLine = 76, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 14, srcSpanEndLine = 76, srcSpanEndColumn = 15}]}) "\8860"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 16, srcSpanEndLine = 76, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 16, srcSpanEndLine = 76, srcSpanEndColumn = 19}, srcInfoPoints = []}) "xxs"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 20, srcSpanEndLine = 76, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 20, srcSpanEndLine = 76, srcSpanEndColumn = 21}, srcInfoPoints = []}) "n")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 22, srcSpanEndLine = 76, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 22, srcSpanEndLine = 76, srcSpanEndColumn = 23}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 24, srcSpanEndLine = 76, srcSpanEndColumn = 32}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 24, srcSpanEndLine = 76, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 24, srcSpanEndLine = 76, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 24, srcSpanEndLine = 76, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 24, srcSpanEndLine = 76, srcSpanEndColumn = 26}, srcInfoPoints = []}) "co"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 27, srcSpanEndLine = 76, srcSpanEndColumn = 30}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 27, srcSpanEndLine = 76, srcSpanEndColumn = 30}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 27, srcSpanEndLine = 76, srcSpanEndColumn = 30}, srcInfoPoints = []}) "xxs")))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 31, srcSpanEndLine = 76, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 76, srcSpanStartColumn = 31, srcSpanEndLine = 76, srcSpanEndColumn = 32}, srcInfoPoints = []}) 0 "0")))) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 5, srcSpanEndLine = 82, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 5, srcSpanEndLine = 78, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 5, srcSpanEndLine = 80, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 1, srcSpanEndLine = 82, srcSpanEndColumn = 0}]}) [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 5, srcSpanEndLine = 80, srcSpanEndColumn = 24}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 5, srcSpanEndLine = 79, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 5, srcSpanEndLine = 78, srcSpanEndColumn = 7}, srcInfoPoints = []}) "co") [PParen (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 8, srcSpanEndLine = 78, srcSpanEndColumn = 14}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 8, srcSpanEndLine = 78, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 13, srcSpanEndLine = 78, srcSpanEndColumn = 14}]}) (PInfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 9, srcSpanEndLine = 78, srcSpanEndColumn = 13}, srcInfoPoints = []}) (PWildCard (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 9, srcSpanEndLine = 78, srcSpanEndColumn = 10}, srcInfoPoints = []})) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 10, srcSpanEndLine = 78, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Cons (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 10, srcSpanEndLine = 78, srcSpanEndColumn = 11}, srcInfoPoints = []}))) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 11, srcSpanEndLine = 78, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 11, srcSpanEndLine = 78, srcSpanEndColumn = 13}, srcInfoPoints = []}) "xs"))),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 15, srcSpanEndLine = 78, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 15, srcSpanEndLine = 78, srcSpanEndColumn = 16}, srcInfoPoints = []}) "c")] (GuardedRhss (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 17, srcSpanEndLine = 79, srcSpanEndColumn = 32}, srcInfoPoints = []}) [GuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 17, srcSpanEndLine = 78, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 17, srcSpanEndLine = 78, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 29, srcSpanEndLine = 78, srcSpanEndColumn = 30}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 19, srcSpanEndLine = 78, srcSpanEndColumn = 24}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 19, srcSpanEndLine = 78, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 19, srcSpanEndLine = 78, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 19, srcSpanEndLine = 78, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 19, srcSpanEndLine = 78, srcSpanEndColumn = 20}, srcInfoPoints = []}) "n"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 21, srcSpanEndLine = 78, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 21, srcSpanEndLine = 78, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 21, srcSpanEndLine = 78, srcSpanEndColumn = 22}, srcInfoPoints = []}) ">"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 23, srcSpanEndLine = 78, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 23, srcSpanEndLine = 78, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 23, srcSpanEndLine = 78, srcSpanEndColumn = 24}, srcInfoPoints = []}) "c"))))] (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 31, srcSpanEndLine = 78, srcSpanEndColumn = 42}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 31, srcSpanEndLine = 78, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 31, srcSpanEndLine = 78, srcSpanEndColumn = 33}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 31, srcSpanEndLine = 78, srcSpanEndColumn = 33}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 31, srcSpanEndLine = 78, srcSpanEndColumn = 33}, srcInfoPoints = []}) "co"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 34, srcSpanEndLine = 78, srcSpanEndColumn = 36}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 34, srcSpanEndLine = 78, srcSpanEndColumn = 36}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 34, srcSpanEndLine = 78, srcSpanEndColumn = 36}, srcInfoPoints = []}) "xs")))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 37, srcSpanEndLine = 78, srcSpanEndColumn = 42}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 37, srcSpanEndLine = 78, srcSpanEndColumn = 38},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 41, srcSpanEndLine = 78, srcSpanEndColumn = 42}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 38, srcSpanEndLine = 78, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 38, srcSpanEndLine = 78, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 38, srcSpanEndLine = 78, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 38, srcSpanEndLine = 78, srcSpanEndColumn = 39}, srcInfoPoints = []}) "c"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 39, srcSpanEndLine = 78, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 39, srcSpanEndLine = 78, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 39, srcSpanEndLine = 78, srcSpanEndColumn = 40}, srcInfoPoints = []}) "+"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 40, srcSpanEndLine = 78, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 78, srcSpanStartColumn = 40, srcSpanEndLine = 78, srcSpanEndColumn = 41}, srcInfoPoints = []}) 1 "1"))))),GuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 79, srcSpanStartColumn = 17, srcSpanEndLine = 79, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 79, srcSpanStartColumn = 17, srcSpanEndLine = 79, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 79, srcSpanStartColumn = 29, srcSpanEndLine = 79, srcSpanEndColumn = 30}]}) [Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 79, srcSpanStartColumn = 19, srcSpanEndLine = 79, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 79, srcSpanStartColumn = 19, srcSpanEndLine = 79, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 79, srcSpanStartColumn = 19, srcSpanEndLine = 79, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 79, srcSpanStartColumn = 19, srcSpanEndLine = 79, srcSpanEndColumn = 28}, srcInfoPoints = []}) "otherwise")))] (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 79, srcSpanStartColumn = 31, srcSpanEndLine = 79, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 79, srcSpanStartColumn = 31, srcSpanEndLine = 79, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 79, srcSpanStartColumn = 31, srcSpanEndLine = 79, srcSpanEndColumn = 32}, srcInfoPoints = []}) "v")))]) Nothing,Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 5, srcSpanEndLine = 80, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 5, srcSpanEndLine = 80, srcSpanEndColumn = 7}, srcInfoPoints = []}) "co") [PList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 8, srcSpanEndLine = 80, srcSpanEndColumn = 10}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 8, srcSpanEndLine = 80, srcSpanEndColumn = 9},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 9, srcSpanEndLine = 80, srcSpanEndColumn = 10}]}) [],PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 15, srcSpanEndLine = 80, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 15, srcSpanEndLine = 80, srcSpanEndColumn = 16}, srcInfoPoints = []}) "c")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 17, srcSpanEndLine = 80, srcSpanEndColumn = 24}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 17, srcSpanEndLine = 80, srcSpanEndColumn = 18}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 19, srcSpanEndLine = 80, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 19, srcSpanEndLine = 80, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 19, srcSpanEndLine = 80, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 19, srcSpanEndLine = 80, srcSpanEndColumn = 20}, srcInfoPoints = []}) "c"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 21, srcSpanEndLine = 80, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 21, srcSpanEndLine = 80, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 21, srcSpanEndLine = 80, srcSpanEndColumn = 22}, srcInfoPoints = []}) "\8860"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 23, srcSpanEndLine = 80, srcSpanEndColumn = 24}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 23, srcSpanEndLine = 80, srcSpanEndColumn = 24}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 80, srcSpanStartColumn = 23, srcSpanEndLine = 80, srcSpanEndColumn = 24}, srcInfoPoints = []}) "n"))))) Nothing]]))],PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 1, srcSpanEndLine = 82, srcSpanEndColumn = 11}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 1, srcSpanEndLine = 82, srcSpanEndColumn = 4}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 1, srcSpanEndLine = 82, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 2, srcSpanEndLine = 82, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 3, srcSpanEndLine = 82, srcSpanEndColumn = 4}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 1, srcSpanEndLine = 82, srcSpanEndColumn = 4}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 1, srcSpanEndLine = 82, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 2, srcSpanEndLine = 82, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 3, srcSpanEndLine = 82, srcSpanEndColumn = 4}]}) "\8803")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 5, srcSpanEndLine = 82, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 5, srcSpanEndLine = 82, srcSpanEndColumn = 6}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 7, srcSpanEndLine = 82, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 7, srcSpanEndLine = 82, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 8, srcSpanEndLine = 82, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 10, srcSpanEndLine = 82, srcSpanEndColumn = 11}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 7, srcSpanEndLine = 82, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 7, srcSpanEndLine = 82, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 8, srcSpanEndLine = 82, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 10, srcSpanEndLine = 82, srcSpanEndColumn = 11}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 7, srcSpanEndLine = 82, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 7, srcSpanEndLine = 82, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 8, srcSpanEndLine = 82, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 82, srcSpanStartColumn = 10, srcSpanEndLine = 82, srcSpanEndColumn = 11}]}) "==")))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 1, srcSpanEndLine = 83, srcSpanEndColumn = 11}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 1, srcSpanEndLine = 83, srcSpanEndColumn = 4}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 1, srcSpanEndLine = 83, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 2, srcSpanEndLine = 83, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 3, srcSpanEndLine = 83, srcSpanEndColumn = 4}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 1, srcSpanEndLine = 83, srcSpanEndColumn = 4}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 1, srcSpanEndLine = 83, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 2, srcSpanEndLine = 83, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 3, srcSpanEndLine = 83, srcSpanEndColumn = 4}]}) "\8804")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 5, srcSpanEndLine = 83, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 5, srcSpanEndLine = 83, srcSpanEndColumn = 6}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 7, srcSpanEndLine = 83, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 7, srcSpanEndLine = 83, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 8, srcSpanEndLine = 83, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 10, srcSpanEndLine = 83, srcSpanEndColumn = 11}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 7, srcSpanEndLine = 83, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 7, srcSpanEndLine = 83, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 8, srcSpanEndLine = 83, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 10, srcSpanEndLine = 83, srcSpanEndColumn = 11}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 7, srcSpanEndLine = 83, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 7, srcSpanEndLine = 83, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 8, srcSpanEndLine = 83, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 83, srcSpanStartColumn = 10, srcSpanEndLine = 83, srcSpanEndColumn = 11}]}) "<=")))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 1, srcSpanEndLine = 84, srcSpanEndColumn = 11}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 1, srcSpanEndLine = 84, srcSpanEndColumn = 4}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 1, srcSpanEndLine = 84, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 2, srcSpanEndLine = 84, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 3, srcSpanEndLine = 84, srcSpanEndColumn = 4}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 1, srcSpanEndLine = 84, srcSpanEndColumn = 4}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 1, srcSpanEndLine = 84, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 2, srcSpanEndLine = 84, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 3, srcSpanEndLine = 84, srcSpanEndColumn = 4}]}) "\8805")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 5, srcSpanEndLine = 84, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 5, srcSpanEndLine = 84, srcSpanEndColumn = 6}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 7, srcSpanEndLine = 84, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 7, srcSpanEndLine = 84, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 8, srcSpanEndLine = 84, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 10, srcSpanEndLine = 84, srcSpanEndColumn = 11}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 7, srcSpanEndLine = 84, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 7, srcSpanEndLine = 84, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 8, srcSpanEndLine = 84, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 10, srcSpanEndLine = 84, srcSpanEndColumn = 11}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 7, srcSpanEndLine = 84, srcSpanEndColumn = 11}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 7, srcSpanEndLine = 84, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 8, srcSpanEndLine = 84, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 84, srcSpanStartColumn = 10, srcSpanEndLine = 84, srcSpanEndColumn = 11}]}) ">=")))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 1, srcSpanEndLine = 86, srcSpanEndColumn = 27}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 1, srcSpanEndLine = 86, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 1, srcSpanEndLine = 86, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 2, srcSpanEndLine = 86, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 4, srcSpanEndLine = 86, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 1, srcSpanEndLine = 86, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 1, srcSpanEndLine = 86, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 2, srcSpanEndLine = 86, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 4, srcSpanEndLine = 86, srcSpanEndColumn = 5}]}) "|\8803")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 7, srcSpanEndLine = 86, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 7, srcSpanEndLine = 86, srcSpanEndColumn = 8}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 9, srcSpanEndLine = 86, srcSpanEndColumn = 27}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 9, srcSpanEndLine = 86, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 9, srcSpanEndLine = 86, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 9, srcSpanEndLine = 86, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 9, srcSpanEndLine = 86, srcSpanEndColumn = 17}, srcInfoPoints = []}) "lengthOP"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 18, srcSpanEndLine = 86, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 18, srcSpanEndLine = 86, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 18, srcSpanEndLine = 86, srcSpanEndColumn = 23}, srcInfoPoints = []}) "False")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 24, srcSpanEndLine = 86, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 24, srcSpanEndLine = 86, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 25, srcSpanEndLine = 86, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 26, srcSpanEndLine = 86, srcSpanEndColumn = 27}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 24, srcSpanEndLine = 86, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 24, srcSpanEndLine = 86, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 25, srcSpanEndLine = 86, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 26, srcSpanEndLine = 86, srcSpanEndColumn = 27}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 24, srcSpanEndLine = 86, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 24, srcSpanEndLine = 86, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 25, srcSpanEndLine = 86, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 86, srcSpanStartColumn = 26, srcSpanEndLine = 86, srcSpanEndColumn = 27}]}) "\8803"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 1, srcSpanEndLine = 87, srcSpanEndColumn = 27}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 1, srcSpanEndLine = 87, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 1, srcSpanEndLine = 87, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 2, srcSpanEndLine = 87, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 4, srcSpanEndLine = 87, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 1, srcSpanEndLine = 87, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 1, srcSpanEndLine = 87, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 2, srcSpanEndLine = 87, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 4, srcSpanEndLine = 87, srcSpanEndColumn = 5}]}) "|<")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 7, srcSpanEndLine = 87, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 7, srcSpanEndLine = 87, srcSpanEndColumn = 8}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 9, srcSpanEndLine = 87, srcSpanEndColumn = 27}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 9, srcSpanEndLine = 87, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 9, srcSpanEndLine = 87, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 9, srcSpanEndLine = 87, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 9, srcSpanEndLine = 87, srcSpanEndColumn = 17}, srcInfoPoints = []}) "lengthOP"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 18, srcSpanEndLine = 87, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 18, srcSpanEndLine = 87, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 18, srcSpanEndLine = 87, srcSpanEndColumn = 23}, srcInfoPoints = []}) "False")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 24, srcSpanEndLine = 87, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 24, srcSpanEndLine = 87, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 25, srcSpanEndLine = 87, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 26, srcSpanEndLine = 87, srcSpanEndColumn = 27}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 24, srcSpanEndLine = 87, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 24, srcSpanEndLine = 87, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 25, srcSpanEndLine = 87, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 26, srcSpanEndLine = 87, srcSpanEndColumn = 27}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 24, srcSpanEndLine = 87, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 24, srcSpanEndLine = 87, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 25, srcSpanEndLine = 87, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 87, srcSpanStartColumn = 26, srcSpanEndLine = 87, srcSpanEndColumn = 27}]}) "<"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 1, srcSpanEndLine = 88, srcSpanEndColumn = 27}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 1, srcSpanEndLine = 88, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 1, srcSpanEndLine = 88, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 2, srcSpanEndLine = 88, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 4, srcSpanEndLine = 88, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 1, srcSpanEndLine = 88, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 1, srcSpanEndLine = 88, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 2, srcSpanEndLine = 88, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 4, srcSpanEndLine = 88, srcSpanEndColumn = 5}]}) "|\8804")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 7, srcSpanEndLine = 88, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 7, srcSpanEndLine = 88, srcSpanEndColumn = 8}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 9, srcSpanEndLine = 88, srcSpanEndColumn = 27}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 9, srcSpanEndLine = 88, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 9, srcSpanEndLine = 88, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 9, srcSpanEndLine = 88, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 9, srcSpanEndLine = 88, srcSpanEndColumn = 17}, srcInfoPoints = []}) "lengthOP"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 18, srcSpanEndLine = 88, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 18, srcSpanEndLine = 88, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 18, srcSpanEndLine = 88, srcSpanEndColumn = 23}, srcInfoPoints = []}) "False")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 24, srcSpanEndLine = 88, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 24, srcSpanEndLine = 88, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 25, srcSpanEndLine = 88, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 26, srcSpanEndLine = 88, srcSpanEndColumn = 27}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 24, srcSpanEndLine = 88, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 24, srcSpanEndLine = 88, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 25, srcSpanEndLine = 88, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 26, srcSpanEndLine = 88, srcSpanEndColumn = 27}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 24, srcSpanEndLine = 88, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 24, srcSpanEndLine = 88, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 25, srcSpanEndLine = 88, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 88, srcSpanStartColumn = 26, srcSpanEndLine = 88, srcSpanEndColumn = 27}]}) "\8804"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 1, srcSpanEndLine = 89, srcSpanEndColumn = 27}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 1, srcSpanEndLine = 89, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 1, srcSpanEndLine = 89, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 2, srcSpanEndLine = 89, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 4, srcSpanEndLine = 89, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 1, srcSpanEndLine = 89, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 1, srcSpanEndLine = 89, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 2, srcSpanEndLine = 89, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 4, srcSpanEndLine = 89, srcSpanEndColumn = 5}]}) "|>")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 7, srcSpanEndLine = 89, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 7, srcSpanEndLine = 89, srcSpanEndColumn = 8}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 9, srcSpanEndLine = 89, srcSpanEndColumn = 27}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 9, srcSpanEndLine = 89, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 9, srcSpanEndLine = 89, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 9, srcSpanEndLine = 89, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 9, srcSpanEndLine = 89, srcSpanEndColumn = 17}, srcInfoPoints = []}) "lengthOP"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 18, srcSpanEndLine = 89, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 18, srcSpanEndLine = 89, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 18, srcSpanEndLine = 89, srcSpanEndColumn = 22}, srcInfoPoints = []}) "True")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 24, srcSpanEndLine = 89, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 24, srcSpanEndLine = 89, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 25, srcSpanEndLine = 89, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 26, srcSpanEndLine = 89, srcSpanEndColumn = 27}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 24, srcSpanEndLine = 89, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 24, srcSpanEndLine = 89, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 25, srcSpanEndLine = 89, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 26, srcSpanEndLine = 89, srcSpanEndColumn = 27}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 24, srcSpanEndLine = 89, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 24, srcSpanEndLine = 89, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 25, srcSpanEndLine = 89, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 89, srcSpanStartColumn = 26, srcSpanEndLine = 89, srcSpanEndColumn = 27}]}) ">"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 1, srcSpanEndLine = 90, srcSpanEndColumn = 27}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 1, srcSpanEndLine = 90, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 1, srcSpanEndLine = 90, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 2, srcSpanEndLine = 90, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 4, srcSpanEndLine = 90, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 1, srcSpanEndLine = 90, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 1, srcSpanEndLine = 90, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 2, srcSpanEndLine = 90, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 4, srcSpanEndLine = 90, srcSpanEndColumn = 5}]}) "|\8805")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 7, srcSpanEndLine = 90, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 7, srcSpanEndLine = 90, srcSpanEndColumn = 8}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 9, srcSpanEndLine = 90, srcSpanEndColumn = 27}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 9, srcSpanEndLine = 90, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 9, srcSpanEndLine = 90, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 9, srcSpanEndLine = 90, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 9, srcSpanEndLine = 90, srcSpanEndColumn = 17}, srcInfoPoints = []}) "lengthOP"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 18, srcSpanEndLine = 90, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 18, srcSpanEndLine = 90, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 18, srcSpanEndLine = 90, srcSpanEndColumn = 22}, srcInfoPoints = []}) "True")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 24, srcSpanEndLine = 90, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 24, srcSpanEndLine = 90, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 25, srcSpanEndLine = 90, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 26, srcSpanEndLine = 90, srcSpanEndColumn = 27}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 24, srcSpanEndLine = 90, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 24, srcSpanEndLine = 90, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 25, srcSpanEndLine = 90, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 26, srcSpanEndLine = 90, srcSpanEndColumn = 27}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 24, srcSpanEndLine = 90, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 24, srcSpanEndLine = 90, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 25, srcSpanEndLine = 90, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 90, srcSpanStartColumn = 26, srcSpanEndLine = 90, srcSpanEndColumn = 27}]}) "\8805"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 1, srcSpanEndLine = 92, srcSpanEndColumn = 28}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 1, srcSpanEndLine = 92, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 1, srcSpanEndLine = 92, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 2, srcSpanEndLine = 92, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 4, srcSpanEndLine = 92, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 1, srcSpanEndLine = 92, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 1, srcSpanEndLine = 92, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 2, srcSpanEndLine = 92, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 4, srcSpanEndLine = 92, srcSpanEndColumn = 5}]}) "|=")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 7, srcSpanEndLine = 92, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 7, srcSpanEndLine = 92, srcSpanEndColumn = 8}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 9, srcSpanEndLine = 92, srcSpanEndColumn = 28}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 9, srcSpanEndLine = 92, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 9, srcSpanEndLine = 92, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 9, srcSpanEndLine = 92, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 9, srcSpanEndLine = 92, srcSpanEndColumn = 17}, srcInfoPoints = []}) "lengthOP"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 18, srcSpanEndLine = 92, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 18, srcSpanEndLine = 92, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 18, srcSpanEndLine = 92, srcSpanEndColumn = 23}, srcInfoPoints = []}) "False")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 24, srcSpanEndLine = 92, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 24, srcSpanEndLine = 92, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 25, srcSpanEndLine = 92, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 27, srcSpanEndLine = 92, srcSpanEndColumn = 28}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 24, srcSpanEndLine = 92, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 24, srcSpanEndLine = 92, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 25, srcSpanEndLine = 92, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 27, srcSpanEndLine = 92, srcSpanEndColumn = 28}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 24, srcSpanEndLine = 92, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 24, srcSpanEndLine = 92, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 25, srcSpanEndLine = 92, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 92, srcSpanStartColumn = 27, srcSpanEndLine = 92, srcSpanEndColumn = 28}]}) "=="))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 1, srcSpanEndLine = 93, srcSpanEndColumn = 28}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 1, srcSpanEndLine = 93, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 1, srcSpanEndLine = 93, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 2, srcSpanEndLine = 93, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 5, srcSpanEndLine = 93, srcSpanEndColumn = 6}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 1, srcSpanEndLine = 93, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 1, srcSpanEndLine = 93, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 2, srcSpanEndLine = 93, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 5, srcSpanEndLine = 93, srcSpanEndColumn = 6}]}) "|==")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 7, srcSpanEndLine = 93, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 7, srcSpanEndLine = 93, srcSpanEndColumn = 8}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 9, srcSpanEndLine = 93, srcSpanEndColumn = 28}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 9, srcSpanEndLine = 93, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 9, srcSpanEndLine = 93, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 9, srcSpanEndLine = 93, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 9, srcSpanEndLine = 93, srcSpanEndColumn = 17}, srcInfoPoints = []}) "lengthOP"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 18, srcSpanEndLine = 93, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 18, srcSpanEndLine = 93, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 18, srcSpanEndLine = 93, srcSpanEndColumn = 23}, srcInfoPoints = []}) "False")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 24, srcSpanEndLine = 93, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 24, srcSpanEndLine = 93, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 25, srcSpanEndLine = 93, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 27, srcSpanEndLine = 93, srcSpanEndColumn = 28}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 24, srcSpanEndLine = 93, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 24, srcSpanEndLine = 93, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 25, srcSpanEndLine = 93, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 27, srcSpanEndLine = 93, srcSpanEndColumn = 28}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 24, srcSpanEndLine = 93, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 24, srcSpanEndLine = 93, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 25, srcSpanEndLine = 93, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 93, srcSpanStartColumn = 27, srcSpanEndLine = 93, srcSpanEndColumn = 28}]}) "=="))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 1, srcSpanEndLine = 94, srcSpanEndColumn = 28}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 1, srcSpanEndLine = 94, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 1, srcSpanEndLine = 94, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 2, srcSpanEndLine = 94, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 5, srcSpanEndLine = 94, srcSpanEndColumn = 6}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 1, srcSpanEndLine = 94, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 1, srcSpanEndLine = 94, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 2, srcSpanEndLine = 94, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 5, srcSpanEndLine = 94, srcSpanEndColumn = 6}]}) "|<=")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 7, srcSpanEndLine = 94, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 7, srcSpanEndLine = 94, srcSpanEndColumn = 8}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 9, srcSpanEndLine = 94, srcSpanEndColumn = 28}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 9, srcSpanEndLine = 94, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 9, srcSpanEndLine = 94, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 9, srcSpanEndLine = 94, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 9, srcSpanEndLine = 94, srcSpanEndColumn = 17}, srcInfoPoints = []}) "lengthOP"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 18, srcSpanEndLine = 94, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 18, srcSpanEndLine = 94, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 18, srcSpanEndLine = 94, srcSpanEndColumn = 23}, srcInfoPoints = []}) "False")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 24, srcSpanEndLine = 94, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 24, srcSpanEndLine = 94, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 25, srcSpanEndLine = 94, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 27, srcSpanEndLine = 94, srcSpanEndColumn = 28}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 24, srcSpanEndLine = 94, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 24, srcSpanEndLine = 94, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 25, srcSpanEndLine = 94, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 27, srcSpanEndLine = 94, srcSpanEndColumn = 28}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 24, srcSpanEndLine = 94, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 24, srcSpanEndLine = 94, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 25, srcSpanEndLine = 94, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 94, srcSpanStartColumn = 27, srcSpanEndLine = 94, srcSpanEndColumn = 28}]}) "<="))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 1, srcSpanEndLine = 95, srcSpanEndColumn = 28}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 1, srcSpanEndLine = 95, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 1, srcSpanEndLine = 95, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 2, srcSpanEndLine = 95, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 5, srcSpanEndLine = 95, srcSpanEndColumn = 6}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 1, srcSpanEndLine = 95, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 1, srcSpanEndLine = 95, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 2, srcSpanEndLine = 95, srcSpanEndColumn = 5},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 5, srcSpanEndLine = 95, srcSpanEndColumn = 6}]}) "|>=")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 7, srcSpanEndLine = 95, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 7, srcSpanEndLine = 95, srcSpanEndColumn = 8}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 9, srcSpanEndLine = 95, srcSpanEndColumn = 28}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 9, srcSpanEndLine = 95, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 9, srcSpanEndLine = 95, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 9, srcSpanEndLine = 95, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 9, srcSpanEndLine = 95, srcSpanEndColumn = 17}, srcInfoPoints = []}) "lengthOP"))) (Con (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 18, srcSpanEndLine = 95, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 18, srcSpanEndLine = 95, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 18, srcSpanEndLine = 95, srcSpanEndColumn = 23}, srcInfoPoints = []}) "False")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 24, srcSpanEndLine = 95, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 24, srcSpanEndLine = 95, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 25, srcSpanEndLine = 95, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 27, srcSpanEndLine = 95, srcSpanEndColumn = 28}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 24, srcSpanEndLine = 95, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 24, srcSpanEndLine = 95, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 25, srcSpanEndLine = 95, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 27, srcSpanEndLine = 95, srcSpanEndColumn = 28}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 24, srcSpanEndLine = 95, srcSpanEndColumn = 28}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 24, srcSpanEndLine = 95, srcSpanEndColumn = 25},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 25, srcSpanEndLine = 95, srcSpanEndColumn = 27},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 95, srcSpanStartColumn = 27, srcSpanEndLine = 95, srcSpanEndColumn = 28}]}) ">="))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 1, srcSpanEndLine = 99, srcSpanEndColumn = 17}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 1, srcSpanEndLine = 99, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 1, srcSpanEndLine = 99, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 2, srcSpanEndLine = 99, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 4, srcSpanEndLine = 99, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 1, srcSpanEndLine = 99, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 1, srcSpanEndLine = 99, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 2, srcSpanEndLine = 99, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 4, srcSpanEndLine = 99, srcSpanEndColumn = 5}]}) "\8803|")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 6, srcSpanEndLine = 99, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 6, srcSpanEndLine = 99, srcSpanEndColumn = 7}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 8, srcSpanEndLine = 99, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 8, srcSpanEndLine = 99, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 8, srcSpanEndLine = 99, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 8, srcSpanEndLine = 99, srcSpanEndColumn = 12}, srcInfoPoints = []}) "flip"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 13, srcSpanEndLine = 99, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 13, srcSpanEndLine = 99, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 14, srcSpanEndLine = 99, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 16, srcSpanEndLine = 99, srcSpanEndColumn = 17}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 13, srcSpanEndLine = 99, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 13, srcSpanEndLine = 99, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 14, srcSpanEndLine = 99, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 16, srcSpanEndLine = 99, srcSpanEndColumn = 17}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 13, srcSpanEndLine = 99, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 13, srcSpanEndLine = 99, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 14, srcSpanEndLine = 99, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 99, srcSpanStartColumn = 16, srcSpanEndLine = 99, srcSpanEndColumn = 17}]}) "|\8803"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 1, srcSpanEndLine = 100, srcSpanEndColumn = 17}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 1, srcSpanEndLine = 100, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 1, srcSpanEndLine = 100, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 2, srcSpanEndLine = 100, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 4, srcSpanEndLine = 100, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 1, srcSpanEndLine = 100, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 1, srcSpanEndLine = 100, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 2, srcSpanEndLine = 100, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 4, srcSpanEndLine = 100, srcSpanEndColumn = 5}]}) "<|")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 6, srcSpanEndLine = 100, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 6, srcSpanEndLine = 100, srcSpanEndColumn = 7}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 8, srcSpanEndLine = 100, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 8, srcSpanEndLine = 100, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 8, srcSpanEndLine = 100, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 8, srcSpanEndLine = 100, srcSpanEndColumn = 12}, srcInfoPoints = []}) "flip"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 13, srcSpanEndLine = 100, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 13, srcSpanEndLine = 100, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 14, srcSpanEndLine = 100, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 16, srcSpanEndLine = 100, srcSpanEndColumn = 17}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 13, srcSpanEndLine = 100, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 13, srcSpanEndLine = 100, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 14, srcSpanEndLine = 100, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 16, srcSpanEndLine = 100, srcSpanEndColumn = 17}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 13, srcSpanEndLine = 100, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 13, srcSpanEndLine = 100, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 14, srcSpanEndLine = 100, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 100, srcSpanStartColumn = 16, srcSpanEndLine = 100, srcSpanEndColumn = 17}]}) "|\8805"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 1, srcSpanEndLine = 101, srcSpanEndColumn = 17}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 1, srcSpanEndLine = 101, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 1, srcSpanEndLine = 101, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 2, srcSpanEndLine = 101, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 4, srcSpanEndLine = 101, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 1, srcSpanEndLine = 101, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 1, srcSpanEndLine = 101, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 2, srcSpanEndLine = 101, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 4, srcSpanEndLine = 101, srcSpanEndColumn = 5}]}) "\8804|")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 6, srcSpanEndLine = 101, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 6, srcSpanEndLine = 101, srcSpanEndColumn = 7}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 8, srcSpanEndLine = 101, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 8, srcSpanEndLine = 101, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 8, srcSpanEndLine = 101, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 8, srcSpanEndLine = 101, srcSpanEndColumn = 12}, srcInfoPoints = []}) "flip"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 13, srcSpanEndLine = 101, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 13, srcSpanEndLine = 101, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 14, srcSpanEndLine = 101, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 16, srcSpanEndLine = 101, srcSpanEndColumn = 17}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 13, srcSpanEndLine = 101, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 13, srcSpanEndLine = 101, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 14, srcSpanEndLine = 101, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 16, srcSpanEndLine = 101, srcSpanEndColumn = 17}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 13, srcSpanEndLine = 101, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 13, srcSpanEndLine = 101, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 14, srcSpanEndLine = 101, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 101, srcSpanStartColumn = 16, srcSpanEndLine = 101, srcSpanEndColumn = 17}]}) "|>"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 1, srcSpanEndLine = 102, srcSpanEndColumn = 17}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 1, srcSpanEndLine = 102, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 1, srcSpanEndLine = 102, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 2, srcSpanEndLine = 102, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 4, srcSpanEndLine = 102, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 1, srcSpanEndLine = 102, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 1, srcSpanEndLine = 102, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 2, srcSpanEndLine = 102, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 4, srcSpanEndLine = 102, srcSpanEndColumn = 5}]}) ">|")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 6, srcSpanEndLine = 102, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 6, srcSpanEndLine = 102, srcSpanEndColumn = 7}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 8, srcSpanEndLine = 102, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 8, srcSpanEndLine = 102, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 8, srcSpanEndLine = 102, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 8, srcSpanEndLine = 102, srcSpanEndColumn = 12}, srcInfoPoints = []}) "flip"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 13, srcSpanEndLine = 102, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 13, srcSpanEndLine = 102, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 14, srcSpanEndLine = 102, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 16, srcSpanEndLine = 102, srcSpanEndColumn = 17}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 13, srcSpanEndLine = 102, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 13, srcSpanEndLine = 102, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 14, srcSpanEndLine = 102, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 16, srcSpanEndLine = 102, srcSpanEndColumn = 17}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 13, srcSpanEndLine = 102, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 13, srcSpanEndLine = 102, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 14, srcSpanEndLine = 102, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 102, srcSpanStartColumn = 16, srcSpanEndLine = 102, srcSpanEndColumn = 17}]}) "|\8804"))))) Nothing,PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 1, srcSpanEndLine = 103, srcSpanEndColumn = 17}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 1, srcSpanEndLine = 103, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 1, srcSpanEndLine = 103, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 2, srcSpanEndLine = 103, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 4, srcSpanEndLine = 103, srcSpanEndColumn = 5}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 1, srcSpanEndLine = 103, srcSpanEndColumn = 5}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 1, srcSpanEndLine = 103, srcSpanEndColumn = 2},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 2, srcSpanEndLine = 103, srcSpanEndColumn = 4},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 4, srcSpanEndLine = 103, srcSpanEndColumn = 5}]}) "\8805|")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 6, srcSpanEndLine = 103, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 6, srcSpanEndLine = 103, srcSpanEndColumn = 7}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 8, srcSpanEndLine = 103, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 8, srcSpanEndLine = 103, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 8, srcSpanEndLine = 103, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 8, srcSpanEndLine = 103, srcSpanEndColumn = 12}, srcInfoPoints = []}) "flip"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 13, srcSpanEndLine = 103, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 13, srcSpanEndLine = 103, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 14, srcSpanEndLine = 103, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 16, srcSpanEndLine = 103, srcSpanEndColumn = 17}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 13, srcSpanEndLine = 103, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 13, srcSpanEndLine = 103, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 14, srcSpanEndLine = 103, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 16, srcSpanEndLine = 103, srcSpanEndColumn = 17}]}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 13, srcSpanEndLine = 103, srcSpanEndColumn = 17}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 13, srcSpanEndLine = 103, srcSpanEndColumn = 14},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 14, srcSpanEndLine = 103, srcSpanEndColumn = 16},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 103, srcSpanStartColumn = 16, srcSpanEndLine = 103, srcSpanEndColumn = 17}]}) "|<"))))) Nothing,RulePragmaDecl (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 105, srcSpanStartColumn = 1, srcSpanEndLine = 118, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 105, srcSpanStartColumn = 1, srcSpanEndLine = 105, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 118, srcSpanStartColumn = 3, srcSpanEndLine = 118, srcSpanEndColumn = 6}]}) [Rule (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 1, srcSpanEndLine = 107, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 1, srcSpanEndLine = 107, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 42, srcSpanEndLine = 107, srcSpanEndColumn = 43}]}) "xs |\8803 n" Nothing Nothing (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 11, srcSpanEndLine = 107, srcSpanEndColumn = 41}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 11, srcSpanEndLine = 107, srcSpanEndColumn = 36}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 11, srcSpanEndLine = 107, srcSpanEndColumn = 22}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 11, srcSpanEndLine = 107, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 11, srcSpanEndLine = 107, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 11, srcSpanEndLine = 107, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 11, srcSpanEndLine = 107, srcSpanEndColumn = 17}, srcInfoPoints = []}) "forall"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 18, srcSpanEndLine = 107, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 18, srcSpanEndLine = 107, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 18, srcSpanEndLine = 107, srcSpanEndColumn = 20}, srcInfoPoints = []}) "xs")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 21, srcSpanEndLine = 107, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 21, srcSpanEndLine = 107, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 21, srcSpanEndLine = 107, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 22, srcSpanEndLine = 107, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 22, srcSpanEndLine = 107, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 22, srcSpanEndLine = 107, srcSpanEndColumn = 23}, srcInfoPoints = []}) "."))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 25, srcSpanEndLine = 107, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 25, srcSpanEndLine = 107, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 35, srcSpanEndLine = 107, srcSpanEndColumn = 36}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 26, srcSpanEndLine = 107, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 26, srcSpanEndLine = 107, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 26, srcSpanEndLine = 107, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 26, srcSpanEndLine = 107, srcSpanEndColumn = 32}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 33, srcSpanEndLine = 107, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 33, srcSpanEndLine = 107, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 33, srcSpanEndLine = 107, srcSpanEndColumn = 35}, srcInfoPoints = []}) "xs")))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 37, srcSpanEndLine = 107, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 37, srcSpanEndLine = 107, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 37, srcSpanEndLine = 107, srcSpanEndColumn = 39}, srcInfoPoints = []}) "=="))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 40, srcSpanEndLine = 107, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 40, srcSpanEndLine = 107, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 40, srcSpanEndLine = 107, srcSpanEndColumn = 41}, srcInfoPoints = []}) "n")))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 44, srcSpanEndLine = 107, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 44, srcSpanEndLine = 107, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 44, srcSpanEndLine = 107, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 44, srcSpanEndLine = 107, srcSpanEndColumn = 46}, srcInfoPoints = []}) "xs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 47, srcSpanEndLine = 107, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 47, srcSpanEndLine = 107, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 47, srcSpanEndLine = 107, srcSpanEndColumn = 49}, srcInfoPoints = []}) "|\8803"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 50, srcSpanEndLine = 107, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 50, srcSpanEndLine = 107, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 107, srcSpanStartColumn = 50, srcSpanEndLine = 107, srcSpanEndColumn = 51}, srcInfoPoints = []}) "n")))),Rule (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 1, srcSpanEndLine = 108, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 1, srcSpanEndLine = 108, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 42, srcSpanEndLine = 108, srcSpanEndColumn = 43}]}) "xs |< n" Nothing Nothing (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 11, srcSpanEndLine = 108, srcSpanEndColumn = 41}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 11, srcSpanEndLine = 108, srcSpanEndColumn = 36}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 11, srcSpanEndLine = 108, srcSpanEndColumn = 22}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 11, srcSpanEndLine = 108, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 11, srcSpanEndLine = 108, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 11, srcSpanEndLine = 108, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 11, srcSpanEndLine = 108, srcSpanEndColumn = 17}, srcInfoPoints = []}) "forall"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 18, srcSpanEndLine = 108, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 18, srcSpanEndLine = 108, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 18, srcSpanEndLine = 108, srcSpanEndColumn = 20}, srcInfoPoints = []}) "xs")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 21, srcSpanEndLine = 108, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 21, srcSpanEndLine = 108, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 21, srcSpanEndLine = 108, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 22, srcSpanEndLine = 108, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 22, srcSpanEndLine = 108, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 22, srcSpanEndLine = 108, srcSpanEndColumn = 23}, srcInfoPoints = []}) "."))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 25, srcSpanEndLine = 108, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 25, srcSpanEndLine = 108, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 35, srcSpanEndLine = 108, srcSpanEndColumn = 36}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 26, srcSpanEndLine = 108, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 26, srcSpanEndLine = 108, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 26, srcSpanEndLine = 108, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 26, srcSpanEndLine = 108, srcSpanEndColumn = 32}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 33, srcSpanEndLine = 108, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 33, srcSpanEndLine = 108, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 33, srcSpanEndLine = 108, srcSpanEndColumn = 35}, srcInfoPoints = []}) "xs")))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 37, srcSpanEndLine = 108, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 37, srcSpanEndLine = 108, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 37, srcSpanEndLine = 108, srcSpanEndColumn = 38}, srcInfoPoints = []}) "<"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 40, srcSpanEndLine = 108, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 40, srcSpanEndLine = 108, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 40, srcSpanEndLine = 108, srcSpanEndColumn = 41}, srcInfoPoints = []}) "n")))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 44, srcSpanEndLine = 108, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 44, srcSpanEndLine = 108, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 44, srcSpanEndLine = 108, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 44, srcSpanEndLine = 108, srcSpanEndColumn = 46}, srcInfoPoints = []}) "xs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 47, srcSpanEndLine = 108, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 47, srcSpanEndLine = 108, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 47, srcSpanEndLine = 108, srcSpanEndColumn = 49}, srcInfoPoints = []}) "|<"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 50, srcSpanEndLine = 108, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 50, srcSpanEndLine = 108, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 108, srcSpanStartColumn = 50, srcSpanEndLine = 108, srcSpanEndColumn = 51}, srcInfoPoints = []}) "n")))),Rule (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 1, srcSpanEndLine = 109, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 1, srcSpanEndLine = 109, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 42, srcSpanEndLine = 109, srcSpanEndColumn = 43}]}) "xs |\8804 n" Nothing Nothing (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 11, srcSpanEndLine = 109, srcSpanEndColumn = 41}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 11, srcSpanEndLine = 109, srcSpanEndColumn = 36}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 11, srcSpanEndLine = 109, srcSpanEndColumn = 22}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 11, srcSpanEndLine = 109, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 11, srcSpanEndLine = 109, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 11, srcSpanEndLine = 109, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 11, srcSpanEndLine = 109, srcSpanEndColumn = 17}, srcInfoPoints = []}) "forall"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 18, srcSpanEndLine = 109, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 18, srcSpanEndLine = 109, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 18, srcSpanEndLine = 109, srcSpanEndColumn = 20}, srcInfoPoints = []}) "xs")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 21, srcSpanEndLine = 109, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 21, srcSpanEndLine = 109, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 21, srcSpanEndLine = 109, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 22, srcSpanEndLine = 109, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 22, srcSpanEndLine = 109, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 22, srcSpanEndLine = 109, srcSpanEndColumn = 23}, srcInfoPoints = []}) "."))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 25, srcSpanEndLine = 109, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 25, srcSpanEndLine = 109, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 35, srcSpanEndLine = 109, srcSpanEndColumn = 36}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 26, srcSpanEndLine = 109, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 26, srcSpanEndLine = 109, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 26, srcSpanEndLine = 109, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 26, srcSpanEndLine = 109, srcSpanEndColumn = 32}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 33, srcSpanEndLine = 109, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 33, srcSpanEndLine = 109, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 33, srcSpanEndLine = 109, srcSpanEndColumn = 35}, srcInfoPoints = []}) "xs")))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 37, srcSpanEndLine = 109, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 37, srcSpanEndLine = 109, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 37, srcSpanEndLine = 109, srcSpanEndColumn = 39}, srcInfoPoints = []}) "<="))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 40, srcSpanEndLine = 109, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 40, srcSpanEndLine = 109, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 40, srcSpanEndLine = 109, srcSpanEndColumn = 41}, srcInfoPoints = []}) "n")))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 44, srcSpanEndLine = 109, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 44, srcSpanEndLine = 109, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 44, srcSpanEndLine = 109, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 44, srcSpanEndLine = 109, srcSpanEndColumn = 46}, srcInfoPoints = []}) "xs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 47, srcSpanEndLine = 109, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 47, srcSpanEndLine = 109, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 47, srcSpanEndLine = 109, srcSpanEndColumn = 49}, srcInfoPoints = []}) "|\8804"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 50, srcSpanEndLine = 109, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 50, srcSpanEndLine = 109, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 109, srcSpanStartColumn = 50, srcSpanEndLine = 109, srcSpanEndColumn = 51}, srcInfoPoints = []}) "n")))),Rule (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 1, srcSpanEndLine = 110, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 1, srcSpanEndLine = 110, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 42, srcSpanEndLine = 110, srcSpanEndColumn = 43}]}) "xs |> n" Nothing Nothing (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 11, srcSpanEndLine = 110, srcSpanEndColumn = 41}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 11, srcSpanEndLine = 110, srcSpanEndColumn = 36}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 11, srcSpanEndLine = 110, srcSpanEndColumn = 22}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 11, srcSpanEndLine = 110, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 11, srcSpanEndLine = 110, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 11, srcSpanEndLine = 110, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 11, srcSpanEndLine = 110, srcSpanEndColumn = 17}, srcInfoPoints = []}) "forall"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 18, srcSpanEndLine = 110, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 18, srcSpanEndLine = 110, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 18, srcSpanEndLine = 110, srcSpanEndColumn = 20}, srcInfoPoints = []}) "xs")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 21, srcSpanEndLine = 110, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 21, srcSpanEndLine = 110, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 21, srcSpanEndLine = 110, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 22, srcSpanEndLine = 110, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 22, srcSpanEndLine = 110, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 22, srcSpanEndLine = 110, srcSpanEndColumn = 23}, srcInfoPoints = []}) "."))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 25, srcSpanEndLine = 110, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 25, srcSpanEndLine = 110, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 35, srcSpanEndLine = 110, srcSpanEndColumn = 36}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 26, srcSpanEndLine = 110, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 26, srcSpanEndLine = 110, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 26, srcSpanEndLine = 110, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 26, srcSpanEndLine = 110, srcSpanEndColumn = 32}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 33, srcSpanEndLine = 110, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 33, srcSpanEndLine = 110, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 33, srcSpanEndLine = 110, srcSpanEndColumn = 35}, srcInfoPoints = []}) "xs")))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 37, srcSpanEndLine = 110, srcSpanEndColumn = 38}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 37, srcSpanEndLine = 110, srcSpanEndColumn = 38}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 37, srcSpanEndLine = 110, srcSpanEndColumn = 38}, srcInfoPoints = []}) ">"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 40, srcSpanEndLine = 110, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 40, srcSpanEndLine = 110, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 40, srcSpanEndLine = 110, srcSpanEndColumn = 41}, srcInfoPoints = []}) "n")))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 44, srcSpanEndLine = 110, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 44, srcSpanEndLine = 110, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 44, srcSpanEndLine = 110, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 44, srcSpanEndLine = 110, srcSpanEndColumn = 46}, srcInfoPoints = []}) "xs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 47, srcSpanEndLine = 110, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 47, srcSpanEndLine = 110, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 47, srcSpanEndLine = 110, srcSpanEndColumn = 49}, srcInfoPoints = []}) "|>"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 50, srcSpanEndLine = 110, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 50, srcSpanEndLine = 110, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 110, srcSpanStartColumn = 50, srcSpanEndLine = 110, srcSpanEndColumn = 51}, srcInfoPoints = []}) "n")))),Rule (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 1, srcSpanEndLine = 111, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 1, srcSpanEndLine = 111, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 42, srcSpanEndLine = 111, srcSpanEndColumn = 43}]}) "xs |\8805 n" Nothing Nothing (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 11, srcSpanEndLine = 111, srcSpanEndColumn = 41}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 11, srcSpanEndLine = 111, srcSpanEndColumn = 36}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 11, srcSpanEndLine = 111, srcSpanEndColumn = 22}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 11, srcSpanEndLine = 111, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 11, srcSpanEndLine = 111, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 11, srcSpanEndLine = 111, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 11, srcSpanEndLine = 111, srcSpanEndColumn = 17}, srcInfoPoints = []}) "forall"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 18, srcSpanEndLine = 111, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 18, srcSpanEndLine = 111, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 18, srcSpanEndLine = 111, srcSpanEndColumn = 20}, srcInfoPoints = []}) "xs")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 21, srcSpanEndLine = 111, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 21, srcSpanEndLine = 111, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 21, srcSpanEndLine = 111, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 22, srcSpanEndLine = 111, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 22, srcSpanEndLine = 111, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 22, srcSpanEndLine = 111, srcSpanEndColumn = 23}, srcInfoPoints = []}) "."))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 25, srcSpanEndLine = 111, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 25, srcSpanEndLine = 111, srcSpanEndColumn = 26},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 35, srcSpanEndLine = 111, srcSpanEndColumn = 36}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 26, srcSpanEndLine = 111, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 26, srcSpanEndLine = 111, srcSpanEndColumn = 32}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 26, srcSpanEndLine = 111, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 26, srcSpanEndLine = 111, srcSpanEndColumn = 32}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 33, srcSpanEndLine = 111, srcSpanEndColumn = 35}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 33, srcSpanEndLine = 111, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 33, srcSpanEndLine = 111, srcSpanEndColumn = 35}, srcInfoPoints = []}) "xs")))))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 37, srcSpanEndLine = 111, srcSpanEndColumn = 39}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 37, srcSpanEndLine = 111, srcSpanEndColumn = 39}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 37, srcSpanEndLine = 111, srcSpanEndColumn = 39}, srcInfoPoints = []}) ">="))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 40, srcSpanEndLine = 111, srcSpanEndColumn = 41}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 40, srcSpanEndLine = 111, srcSpanEndColumn = 41}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 40, srcSpanEndLine = 111, srcSpanEndColumn = 41}, srcInfoPoints = []}) "n")))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 44, srcSpanEndLine = 111, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 44, srcSpanEndLine = 111, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 44, srcSpanEndLine = 111, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 44, srcSpanEndLine = 111, srcSpanEndColumn = 46}, srcInfoPoints = []}) "xs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 47, srcSpanEndLine = 111, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 47, srcSpanEndLine = 111, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 47, srcSpanEndLine = 111, srcSpanEndColumn = 49}, srcInfoPoints = []}) "|\8805"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 50, srcSpanEndLine = 111, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 50, srcSpanEndLine = 111, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 111, srcSpanStartColumn = 50, srcSpanEndLine = 111, srcSpanEndColumn = 51}, srcInfoPoints = []}) "n")))),Rule (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 1, srcSpanEndLine = 113, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 1, srcSpanEndLine = 113, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 42, srcSpanEndLine = 113, srcSpanEndColumn = 43}]}) "n \8803| xs" Nothing Nothing (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 11, srcSpanEndLine = 113, srcSpanEndColumn = 41}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 11, srcSpanEndLine = 113, srcSpanEndColumn = 26}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 11, srcSpanEndLine = 113, srcSpanEndColumn = 22}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 11, srcSpanEndLine = 113, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 11, srcSpanEndLine = 113, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 11, srcSpanEndLine = 113, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 11, srcSpanEndLine = 113, srcSpanEndColumn = 17}, srcInfoPoints = []}) "forall"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 18, srcSpanEndLine = 113, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 18, srcSpanEndLine = 113, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 18, srcSpanEndLine = 113, srcSpanEndColumn = 20}, srcInfoPoints = []}) "xs")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 21, srcSpanEndLine = 113, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 21, srcSpanEndLine = 113, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 21, srcSpanEndLine = 113, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 22, srcSpanEndLine = 113, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 22, srcSpanEndLine = 113, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 22, srcSpanEndLine = 113, srcSpanEndColumn = 23}, srcInfoPoints = []}) "."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 25, srcSpanEndLine = 113, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 25, srcSpanEndLine = 113, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 25, srcSpanEndLine = 113, srcSpanEndColumn = 26}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 27, srcSpanEndLine = 113, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 27, srcSpanEndLine = 113, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 27, srcSpanEndLine = 113, srcSpanEndColumn = 29}, srcInfoPoints = []}) "=="))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 30, srcSpanEndLine = 113, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 30, srcSpanEndLine = 113, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 40, srcSpanEndLine = 113, srcSpanEndColumn = 41}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 31, srcSpanEndLine = 113, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 31, srcSpanEndLine = 113, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 31, srcSpanEndLine = 113, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 31, srcSpanEndLine = 113, srcSpanEndColumn = 37}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 38, srcSpanEndLine = 113, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 38, srcSpanEndLine = 113, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 38, srcSpanEndLine = 113, srcSpanEndColumn = 40}, srcInfoPoints = []}) "xs")))))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 44, srcSpanEndLine = 113, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 44, srcSpanEndLine = 113, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 44, srcSpanEndLine = 113, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 44, srcSpanEndLine = 113, srcSpanEndColumn = 46}, srcInfoPoints = []}) "xs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 47, srcSpanEndLine = 113, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 47, srcSpanEndLine = 113, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 47, srcSpanEndLine = 113, srcSpanEndColumn = 49}, srcInfoPoints = []}) "|\8803"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 50, srcSpanEndLine = 113, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 50, srcSpanEndLine = 113, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 113, srcSpanStartColumn = 50, srcSpanEndLine = 113, srcSpanEndColumn = 51}, srcInfoPoints = []}) "n")))),Rule (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 1, srcSpanEndLine = 114, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 1, srcSpanEndLine = 114, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 42, srcSpanEndLine = 114, srcSpanEndColumn = 43}]}) "n <| xs" Nothing Nothing (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 11, srcSpanEndLine = 114, srcSpanEndColumn = 41}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 11, srcSpanEndLine = 114, srcSpanEndColumn = 26}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 11, srcSpanEndLine = 114, srcSpanEndColumn = 22}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 11, srcSpanEndLine = 114, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 11, srcSpanEndLine = 114, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 11, srcSpanEndLine = 114, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 11, srcSpanEndLine = 114, srcSpanEndColumn = 17}, srcInfoPoints = []}) "forall"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 18, srcSpanEndLine = 114, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 18, srcSpanEndLine = 114, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 18, srcSpanEndLine = 114, srcSpanEndColumn = 20}, srcInfoPoints = []}) "xs")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 21, srcSpanEndLine = 114, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 21, srcSpanEndLine = 114, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 21, srcSpanEndLine = 114, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 22, srcSpanEndLine = 114, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 22, srcSpanEndLine = 114, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 22, srcSpanEndLine = 114, srcSpanEndColumn = 23}, srcInfoPoints = []}) "."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 25, srcSpanEndLine = 114, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 25, srcSpanEndLine = 114, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 25, srcSpanEndLine = 114, srcSpanEndColumn = 26}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 27, srcSpanEndLine = 114, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 27, srcSpanEndLine = 114, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 27, srcSpanEndLine = 114, srcSpanEndColumn = 28}, srcInfoPoints = []}) "<"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 30, srcSpanEndLine = 114, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 30, srcSpanEndLine = 114, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 40, srcSpanEndLine = 114, srcSpanEndColumn = 41}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 31, srcSpanEndLine = 114, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 31, srcSpanEndLine = 114, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 31, srcSpanEndLine = 114, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 31, srcSpanEndLine = 114, srcSpanEndColumn = 37}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 38, srcSpanEndLine = 114, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 38, srcSpanEndLine = 114, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 38, srcSpanEndLine = 114, srcSpanEndColumn = 40}, srcInfoPoints = []}) "xs")))))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 44, srcSpanEndLine = 114, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 44, srcSpanEndLine = 114, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 44, srcSpanEndLine = 114, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 44, srcSpanEndLine = 114, srcSpanEndColumn = 46}, srcInfoPoints = []}) "xs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 47, srcSpanEndLine = 114, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 47, srcSpanEndLine = 114, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 47, srcSpanEndLine = 114, srcSpanEndColumn = 49}, srcInfoPoints = []}) "|\8805"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 50, srcSpanEndLine = 114, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 50, srcSpanEndLine = 114, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 114, srcSpanStartColumn = 50, srcSpanEndLine = 114, srcSpanEndColumn = 51}, srcInfoPoints = []}) "n")))),Rule (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 1, srcSpanEndLine = 115, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 1, srcSpanEndLine = 115, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 42, srcSpanEndLine = 115, srcSpanEndColumn = 43}]}) "n \8804| xs" Nothing Nothing (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 11, srcSpanEndLine = 115, srcSpanEndColumn = 41}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 11, srcSpanEndLine = 115, srcSpanEndColumn = 26}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 11, srcSpanEndLine = 115, srcSpanEndColumn = 22}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 11, srcSpanEndLine = 115, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 11, srcSpanEndLine = 115, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 11, srcSpanEndLine = 115, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 11, srcSpanEndLine = 115, srcSpanEndColumn = 17}, srcInfoPoints = []}) "forall"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 18, srcSpanEndLine = 115, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 18, srcSpanEndLine = 115, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 18, srcSpanEndLine = 115, srcSpanEndColumn = 20}, srcInfoPoints = []}) "xs")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 21, srcSpanEndLine = 115, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 21, srcSpanEndLine = 115, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 21, srcSpanEndLine = 115, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 22, srcSpanEndLine = 115, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 22, srcSpanEndLine = 115, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 22, srcSpanEndLine = 115, srcSpanEndColumn = 23}, srcInfoPoints = []}) "."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 25, srcSpanEndLine = 115, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 25, srcSpanEndLine = 115, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 25, srcSpanEndLine = 115, srcSpanEndColumn = 26}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 27, srcSpanEndLine = 115, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 27, srcSpanEndLine = 115, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 27, srcSpanEndLine = 115, srcSpanEndColumn = 29}, srcInfoPoints = []}) "<="))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 30, srcSpanEndLine = 115, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 30, srcSpanEndLine = 115, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 40, srcSpanEndLine = 115, srcSpanEndColumn = 41}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 31, srcSpanEndLine = 115, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 31, srcSpanEndLine = 115, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 31, srcSpanEndLine = 115, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 31, srcSpanEndLine = 115, srcSpanEndColumn = 37}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 38, srcSpanEndLine = 115, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 38, srcSpanEndLine = 115, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 38, srcSpanEndLine = 115, srcSpanEndColumn = 40}, srcInfoPoints = []}) "xs")))))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 44, srcSpanEndLine = 115, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 44, srcSpanEndLine = 115, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 44, srcSpanEndLine = 115, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 44, srcSpanEndLine = 115, srcSpanEndColumn = 46}, srcInfoPoints = []}) "xs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 47, srcSpanEndLine = 115, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 47, srcSpanEndLine = 115, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 47, srcSpanEndLine = 115, srcSpanEndColumn = 49}, srcInfoPoints = []}) "|>"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 50, srcSpanEndLine = 115, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 50, srcSpanEndLine = 115, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 115, srcSpanStartColumn = 50, srcSpanEndLine = 115, srcSpanEndColumn = 51}, srcInfoPoints = []}) "n")))),Rule (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 1, srcSpanEndLine = 116, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 1, srcSpanEndLine = 116, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 42, srcSpanEndLine = 116, srcSpanEndColumn = 43}]}) "n >| xs" Nothing Nothing (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 11, srcSpanEndLine = 116, srcSpanEndColumn = 41}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 11, srcSpanEndLine = 116, srcSpanEndColumn = 26}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 11, srcSpanEndLine = 116, srcSpanEndColumn = 22}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 11, srcSpanEndLine = 116, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 11, srcSpanEndLine = 116, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 11, srcSpanEndLine = 116, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 11, srcSpanEndLine = 116, srcSpanEndColumn = 17}, srcInfoPoints = []}) "forall"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 18, srcSpanEndLine = 116, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 18, srcSpanEndLine = 116, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 18, srcSpanEndLine = 116, srcSpanEndColumn = 20}, srcInfoPoints = []}) "xs")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 21, srcSpanEndLine = 116, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 21, srcSpanEndLine = 116, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 21, srcSpanEndLine = 116, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 22, srcSpanEndLine = 116, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 22, srcSpanEndLine = 116, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 22, srcSpanEndLine = 116, srcSpanEndColumn = 23}, srcInfoPoints = []}) "."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 25, srcSpanEndLine = 116, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 25, srcSpanEndLine = 116, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 25, srcSpanEndLine = 116, srcSpanEndColumn = 26}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 27, srcSpanEndLine = 116, srcSpanEndColumn = 28}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 27, srcSpanEndLine = 116, srcSpanEndColumn = 28}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 27, srcSpanEndLine = 116, srcSpanEndColumn = 28}, srcInfoPoints = []}) ">"))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 30, srcSpanEndLine = 116, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 30, srcSpanEndLine = 116, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 40, srcSpanEndLine = 116, srcSpanEndColumn = 41}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 31, srcSpanEndLine = 116, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 31, srcSpanEndLine = 116, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 31, srcSpanEndLine = 116, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 31, srcSpanEndLine = 116, srcSpanEndColumn = 37}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 38, srcSpanEndLine = 116, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 38, srcSpanEndLine = 116, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 38, srcSpanEndLine = 116, srcSpanEndColumn = 40}, srcInfoPoints = []}) "xs")))))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 44, srcSpanEndLine = 116, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 44, srcSpanEndLine = 116, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 44, srcSpanEndLine = 116, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 44, srcSpanEndLine = 116, srcSpanEndColumn = 46}, srcInfoPoints = []}) "xs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 47, srcSpanEndLine = 116, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 47, srcSpanEndLine = 116, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 47, srcSpanEndLine = 116, srcSpanEndColumn = 49}, srcInfoPoints = []}) "|\8804"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 50, srcSpanEndLine = 116, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 50, srcSpanEndLine = 116, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 116, srcSpanStartColumn = 50, srcSpanEndLine = 116, srcSpanEndColumn = 51}, srcInfoPoints = []}) "n")))),Rule (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 1, srcSpanEndLine = 117, srcSpanEndColumn = 51}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 1, srcSpanEndLine = 117, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 42, srcSpanEndLine = 117, srcSpanEndColumn = 43}]}) "n \8805| xs" Nothing Nothing (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 11, srcSpanEndLine = 117, srcSpanEndColumn = 41}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 11, srcSpanEndLine = 117, srcSpanEndColumn = 26}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 11, srcSpanEndLine = 117, srcSpanEndColumn = 22}, srcInfoPoints = []}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 11, srcSpanEndLine = 117, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 11, srcSpanEndLine = 117, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 11, srcSpanEndLine = 117, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 11, srcSpanEndLine = 117, srcSpanEndColumn = 17}, srcInfoPoints = []}) "forall"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 18, srcSpanEndLine = 117, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 18, srcSpanEndLine = 117, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 18, srcSpanEndLine = 117, srcSpanEndColumn = 20}, srcInfoPoints = []}) "xs")))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 21, srcSpanEndLine = 117, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 21, srcSpanEndLine = 117, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 21, srcSpanEndLine = 117, srcSpanEndColumn = 22}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 22, srcSpanEndLine = 117, srcSpanEndColumn = 23}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 22, srcSpanEndLine = 117, srcSpanEndColumn = 23}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 22, srcSpanEndLine = 117, srcSpanEndColumn = 23}, srcInfoPoints = []}) "."))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 25, srcSpanEndLine = 117, srcSpanEndColumn = 26}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 25, srcSpanEndLine = 117, srcSpanEndColumn = 26}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 25, srcSpanEndLine = 117, srcSpanEndColumn = 26}, srcInfoPoints = []}) "n")))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 27, srcSpanEndLine = 117, srcSpanEndColumn = 29}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 27, srcSpanEndLine = 117, srcSpanEndColumn = 29}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 27, srcSpanEndLine = 117, srcSpanEndColumn = 29}, srcInfoPoints = []}) ">="))) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 30, srcSpanEndLine = 117, srcSpanEndColumn = 41}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 30, srcSpanEndLine = 117, srcSpanEndColumn = 31},SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 40, srcSpanEndLine = 117, srcSpanEndColumn = 41}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 31, srcSpanEndLine = 117, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 31, srcSpanEndLine = 117, srcSpanEndColumn = 37}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 31, srcSpanEndLine = 117, srcSpanEndColumn = 37}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 31, srcSpanEndLine = 117, srcSpanEndColumn = 37}, srcInfoPoints = []}) "length"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 38, srcSpanEndLine = 117, srcSpanEndColumn = 40}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 38, srcSpanEndLine = 117, srcSpanEndColumn = 40}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 38, srcSpanEndLine = 117, srcSpanEndColumn = 40}, srcInfoPoints = []}) "xs")))))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 44, srcSpanEndLine = 117, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 44, srcSpanEndLine = 117, srcSpanEndColumn = 46}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 44, srcSpanEndLine = 117, srcSpanEndColumn = 46}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 44, srcSpanEndLine = 117, srcSpanEndColumn = 46}, srcInfoPoints = []}) "xs"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 47, srcSpanEndLine = 117, srcSpanEndColumn = 49}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 47, srcSpanEndLine = 117, srcSpanEndColumn = 49}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 47, srcSpanEndLine = 117, srcSpanEndColumn = 49}, srcInfoPoints = []}) "|<"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 50, srcSpanEndLine = 117, srcSpanEndColumn = 51}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 50, srcSpanEndLine = 117, srcSpanEndColumn = 51}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 117, srcSpanStartColumn = 50, srcSpanEndLine = 117, srcSpanEndColumn = 51}, srcInfoPoints = []}) "n"))))]],[Comment False (SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 56, srcSpanStartColumn = 1, srcSpanEndLine = 56, srcSpanEndColumn = 28}) " f = replicate 2000 x",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 58, srcSpanStartColumn = 1, srcSpanEndLine = 58, srcSpanEndColumn = 20}) " lf = length f",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 59, srcSpanStartColumn = 1, srcSpanEndLine = 59, srcSpanEndColumn = 20}) " li = length i",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 60, srcSpanStartColumn = 1, srcSpanEndLine = 60, srcSpanEndColumn = 20}) " pf = lf > 300",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 61, srcSpanStartColumn = 1, srcSpanEndLine = 61, srcSpanEndColumn = 20}) " pi = li > 300",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 98, srcSpanStartColumn = 1, srcSpanEndLine = 98, srcSpanEndColumn = 7}) " \8803\8804\8805",Comment False (SrcSpan {srcSpanFilename = "tests/examples/Unicode.hs", srcSpanStartLine = 106, srcSpanStartColumn = 1, srcSpanEndLine = 106, srcSpanEndColumn = 10}) " length"])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 1 1 119 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 1 1 1 1+ , SrcSpan "tests/examples/Unicode.hs" 2 1 2 1+ , SrcSpan "tests/examples/Unicode.hs" 2 1 2 1+ , SrcSpan "tests/examples/Unicode.hs" 4 1 4 1+ , SrcSpan "tests/examples/Unicode.hs" 6 1 6 1+ , SrcSpan "tests/examples/Unicode.hs" 7 1 7 1+ , SrcSpan "tests/examples/Unicode.hs" 17 1 17 1+ , SrcSpan "tests/examples/Unicode.hs" 18 1 18 1+ , SrcSpan "tests/examples/Unicode.hs" 25 1 25 1+ , SrcSpan "tests/examples/Unicode.hs" 26 1 26 1+ , SrcSpan "tests/examples/Unicode.hs" 33 1 33 1+ , SrcSpan "tests/examples/Unicode.hs" 34 1 34 1+ , SrcSpan "tests/examples/Unicode.hs" 43 1 43 1+ , SrcSpan "tests/examples/Unicode.hs" 44 1 44 1+ , SrcSpan "tests/examples/Unicode.hs" 53 1 53 1+ , SrcSpan "tests/examples/Unicode.hs" 54 1 54 1+ , SrcSpan "tests/examples/Unicode.hs" 63 1 63 1+ , SrcSpan "tests/examples/Unicode.hs" 64 1 64 1+ , SrcSpan "tests/examples/Unicode.hs" 74 1 74 1+ , SrcSpan "tests/examples/Unicode.hs" 75 1 75 1+ , SrcSpan "tests/examples/Unicode.hs" 76 1 76 1+ , SrcSpan "tests/examples/Unicode.hs" 82 1 82 1+ , SrcSpan "tests/examples/Unicode.hs" 83 1 83 1+ , SrcSpan "tests/examples/Unicode.hs" 84 1 84 1+ , SrcSpan "tests/examples/Unicode.hs" 86 1 86 1+ , SrcSpan "tests/examples/Unicode.hs" 87 1 87 1+ , SrcSpan "tests/examples/Unicode.hs" 88 1 88 1+ , SrcSpan "tests/examples/Unicode.hs" 89 1 89 1+ , SrcSpan "tests/examples/Unicode.hs" 90 1 90 1+ , SrcSpan "tests/examples/Unicode.hs" 92 1 92 1+ , SrcSpan "tests/examples/Unicode.hs" 93 1 93 1+ , SrcSpan "tests/examples/Unicode.hs" 94 1 94 1+ , SrcSpan "tests/examples/Unicode.hs" 95 1 95 1+ , SrcSpan "tests/examples/Unicode.hs" 99 1 99 1+ , SrcSpan "tests/examples/Unicode.hs" 100 1 100 1+ , SrcSpan "tests/examples/Unicode.hs" 101 1 101 1+ , SrcSpan "tests/examples/Unicode.hs" 102 1 102 1+ , SrcSpan "tests/examples/Unicode.hs" 103 1 103 1+ , SrcSpan "tests/examples/Unicode.hs" 105 1 105 1+ , SrcSpan "tests/examples/Unicode.hs" 119 1 119 1+ , SrcSpan "tests/examples/Unicode.hs" 119 1 119 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 2 1 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 2 1 2 7+ , SrcSpan "tests/examples/Unicode.hs" 2 13 2 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 2 8 2 12+ , srcInfoPoints = []+ }+ "Main")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 1 1 1 13+ , SrcSpan "tests/examples/Unicode.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "UnicodeSyntax"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 4 1 4 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 4 1 4 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 4 8 4 26+ , srcInfoPoints = []+ }+ "System.Environment"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 6 1 6 14+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 6 6 6 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "main"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 6 9 6 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 6 12 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 6 12 6 13+ , SrcSpan "tests/examples/Unicode.hs" 6 13 6 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 6 12 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 6 12 6 13+ , SrcSpan "tests/examples/Unicode.hs" 6 13 6 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 6 12 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 6 12 6 13+ , SrcSpan "tests/examples/Unicode.hs" 6 13 6 14+ ]+ }))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 7 1 15 32+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 7 6 15 32+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 7 6 7 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 7 8 15 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 7 8 7 10+ , SrcSpan "tests/examples/Unicode.hs" 8 3 8 3+ , SrcSpan "tests/examples/Unicode.hs" 9 3 9 3+ , SrcSpan "tests/examples/Unicode.hs" 10 3 10 3+ , SrcSpan "tests/examples/Unicode.hs" 11 3 11 3+ , SrcSpan "tests/examples/Unicode.hs" 12 3 12 3+ , SrcSpan "tests/examples/Unicode.hs" 13 3 13 3+ , SrcSpan "tests/examples/Unicode.hs" 14 3 14 3+ , SrcSpan "tests/examples/Unicode.hs" 15 3 15 3+ , SrcSpan "tests/examples/Unicode.hs" 17 1 17 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 8 3 8 15+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 8 6 8 7 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 8 3 8 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 8 3 8 5+ , srcInfoPoints = []+ }+ "as"))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 8 8 8 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 8 8 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 8 8 8 15+ , srcInfoPoints = []+ }+ "getArgs")))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 3 9 13+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 3 9 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 3 9 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 3 9 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 3 9 8+ , srcInfoPoints = []+ }+ "print")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 9 9 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 9 9 10+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 9 9 10+ , srcInfoPoints = []+ }+ "$")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 11 9 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 11 9 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 9 11 9 13+ , srcInfoPoints = []+ }+ "as"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 3 10 32+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 3 10 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 3 10 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 3 10 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 3 10 8+ , srcInfoPoints = []+ }+ "print")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 9 10 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 9 10 10+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 9 10 10+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 11 10 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 11 10 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 11 10 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 11 10 15+ , srcInfoPoints = []+ }+ "test")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 31 10 32+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 10 31 10 32+ , srcInfoPoints = []+ }+ 0+ "0"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 3 11 32+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 3 11 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 3 11 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 3 11 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 3 11 8+ , srcInfoPoints = []+ }+ "print")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 9 11 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 9 11 10+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 9 11 10+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 11 11 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 11 11 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 11 11 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 11 11 16+ , srcInfoPoints = []+ }+ "test2")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 31 11 32+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 11 31 11 32+ , srcInfoPoints = []+ }+ 0+ "0"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 3 12 32+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 3 12 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 3 12 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 3 12 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 3 12 8+ , srcInfoPoints = []+ }+ "print")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 9 12 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 9 12 10+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 9 12 10+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 11 12 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 11 12 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 11 12 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 11 12 22+ , srcInfoPoints = []+ }+ "testRewrite")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 31 12 32+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 12 31 12 32+ , srcInfoPoints = []+ }+ 0+ "0"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 3 13 32+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 3 13 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 3 13 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 3 13 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 3 13 8+ , srcInfoPoints = []+ }+ "print")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 11 13 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 11 13 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 11 13 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 11 13 29+ , srcInfoPoints = []+ }+ "testRewriteReverse")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 31 13 32+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 13 31 13 32+ , srcInfoPoints = []+ }+ 0+ "0"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 3 14 32+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 3 14 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 3 14 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 3 14 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 3 14 8+ , srcInfoPoints = []+ }+ "print")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 11 14 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 11 14 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 11 14 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 11 14 23+ , srcInfoPoints = []+ }+ "testRewrite2")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 31 14 32+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 14 31 14 32+ , srcInfoPoints = []+ }+ 0+ "0"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 3 15 32+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 3 15 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 3 15 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 3 15 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 3 15 8+ , srcInfoPoints = []+ }+ "print")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 11 15 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 11 15 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 11 15 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 11 15 30+ , srcInfoPoints = []+ }+ "testRewriteReverse2")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 31 15 32+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 15 31 15 32+ , srcInfoPoints = []+ }+ 0+ "0"))))+ ]))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 17 1 17 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 17 6 17 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 17 1 17 5+ , srcInfoPoints = []+ }+ "test"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 17 9 17 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 17 11 17 12 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 17 9 17 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 17 9 17 10+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 17 13 17 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 17 13 17 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 17 13 17 17+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 18 1 23 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 19 3 19 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 18 1 23 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 19 3 19 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 18 1 18 5+ , srcInfoPoints = []+ }+ "test")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 18 6 18 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 18 6 18 7+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 18 8 18 12+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 18 8 18 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 18 10 18 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 18 10 18 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 18 10 18 12+ , srcInfoPoints = []+ }+ "pi"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 20 5 23 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 20 5 20 5+ , SrcSpan "tests/examples/Unicode.hs" 21 5 21 5+ , SrcSpan "tests/examples/Unicode.hs" 22 5 22 5+ , SrcSpan "tests/examples/Unicode.hs" 23 5 23 5+ , SrcSpan "tests/examples/Unicode.hs" 25 1 25 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 20 5 20 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 20 5 20 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 20 5 20 6+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 20 8 20 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 20 8 20 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 20 10 20 26+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 20 10 20 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 20 10 20 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 20 10 20 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 20 10 20 19+ , srcInfoPoints = []+ }+ "replicate")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 20 20 20 24+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 20 20 20 24+ , srcInfoPoints = []+ }+ 2000+ "2000")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 20 25 20 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 20 25 20 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 20 25 20 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 21 5 21 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 21 5 21 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 21 5 21 6+ , srcInfoPoints = []+ }+ "i"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 21 8 21 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 21 8 21 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 21 10 21 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ "repeat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 21 25 21 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 21 25 21 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 21 25 21 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 22 5 22 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 22 5 22 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 22 5 22 7+ , srcInfoPoints = []+ }+ "pf"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 22 8 22 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 22 8 22 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 22 10 22 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 22 10 22 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 22 10 22 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 22 10 22 11+ , srcInfoPoints = []+ }+ "f")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 22 12 22 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 22 12 22 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 22 12 22 14+ , srcInfoPoints = []+ }+ "|>")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 22 15 22 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 22 15 22 18+ , srcInfoPoints = []+ }+ 300+ "300"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 23 5 23 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 23 5 23 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 23 5 23 7+ , srcInfoPoints = []+ }+ "pi"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 23 8 23 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 23 8 23 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 23 10 23 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 23 10 23 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 23 10 23 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 23 10 23 11+ , srcInfoPoints = []+ }+ "i")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 23 12 23 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 23 12 23 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 23 12 23 14+ , srcInfoPoints = []+ }+ "|>")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ 300+ "300"))))+ Nothing+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 1 25 25+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 25 7 25 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 1 25 6+ , srcInfoPoints = []+ }+ "test2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 10 25 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 25 12 25 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 10 25 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 10 25 11+ , srcInfoPoints = []+ }+ "a"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 14 25 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 25 14 25 15+ , SrcSpan "tests/examples/Unicode.hs" 25 19 25 20+ , SrcSpan "tests/examples/Unicode.hs" 25 24 25 25+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 15 25 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 15 25 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 15 25 19+ , srcInfoPoints = []+ }+ "Bool"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 20 25 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 20 25 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 25 20 25 24+ , srcInfoPoints = []+ }+ "Bool"))+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 1 31 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 27 3 27 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 1 31 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 27 3 27 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 1 26 6+ , srcInfoPoints = []+ }+ "test2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 7 26 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 7 26 8+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 9 26 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 26 9 26 10 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 11 26 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 26 11 26 12+ , SrcSpan "tests/examples/Unicode.hs" 26 14 26 15+ , SrcSpan "tests/examples/Unicode.hs" 26 17 26 18+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 12 26 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 12 26 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 12 26 14+ , srcInfoPoints = []+ }+ "pf"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 15 26 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 15 26 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 26 15 26 17+ , srcInfoPoints = []+ }+ "pi"))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 28 5 31 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 28 5 28 5+ , SrcSpan "tests/examples/Unicode.hs" 29 5 29 5+ , SrcSpan "tests/examples/Unicode.hs" 30 5 30 5+ , SrcSpan "tests/examples/Unicode.hs" 31 5 31 5+ , SrcSpan "tests/examples/Unicode.hs" 33 1 33 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 28 5 28 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 28 5 28 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 28 5 28 6+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 28 8 28 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 28 8 28 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 28 10 28 26+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 28 10 28 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 28 10 28 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 28 10 28 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 28 10 28 19+ , srcInfoPoints = []+ }+ "replicate")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 28 20 28 24+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 28 20 28 24+ , srcInfoPoints = []+ }+ 2000+ "2000")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 28 25 28 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 28 25 28 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 28 25 28 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 29 5 29 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 29 5 29 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 29 5 29 6+ , srcInfoPoints = []+ }+ "i"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 29 8 29 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 29 8 29 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 29 10 29 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 29 10 29 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 29 10 29 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 29 10 29 16+ , srcInfoPoints = []+ }+ "repeat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 29 25 29 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 29 25 29 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 29 25 29 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 30 5 30 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 30 5 30 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 30 5 30 7+ , srcInfoPoints = []+ }+ "pf"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 30 8 30 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 30 8 30 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 30 10 30 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 30 10 30 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 30 10 30 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 30 10 30 11+ , srcInfoPoints = []+ }+ "f")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 30 12 30 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 30 12 30 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 30 12 30 14+ , srcInfoPoints = []+ }+ "|>")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 30 15 30 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 30 15 30 18+ , srcInfoPoints = []+ }+ 300+ "300"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 31 5 31 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 31 5 31 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 31 5 31 7+ , srcInfoPoints = []+ }+ "pi"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 31 8 31 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 31 8 31 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 31 10 31 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 31 10 31 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 31 10 31 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 31 10 31 11+ , srcInfoPoints = []+ }+ "i")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 31 12 31 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 31 12 31 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 31 12 31 14+ , srcInfoPoints = []+ }+ "|>")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 31 15 31 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 31 15 31 18+ , srcInfoPoints = []+ }+ 300+ "300"))))+ Nothing+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 33 1 33 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 33 13 33 15 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 33 1 33 12+ , srcInfoPoints = []+ }+ "testRewrite"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 33 16 33 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 33 18 33 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 33 16 33 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 33 16 33 17+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 33 20 33 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 33 20 33 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 33 20 33 24+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 34 1 41 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 35 3 35 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 34 1 41 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 35 3 35 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 34 1 34 12+ , srcInfoPoints = []+ }+ "testRewrite")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 34 13 34 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 34 13 34 14+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 34 15 34 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 34 15 34 16 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 34 17 34 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 34 17 34 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 34 17 34 19+ , srcInfoPoints = []+ }+ "pi"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 36 5 41 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 36 5 36 5+ , SrcSpan "tests/examples/Unicode.hs" 37 5 37 5+ , SrcSpan "tests/examples/Unicode.hs" 38 5 38 5+ , SrcSpan "tests/examples/Unicode.hs" 39 5 39 5+ , SrcSpan "tests/examples/Unicode.hs" 40 5 40 5+ , SrcSpan "tests/examples/Unicode.hs" 41 5 41 5+ , SrcSpan "tests/examples/Unicode.hs" 43 1 43 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 36 5 36 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 36 5 36 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 36 5 36 6+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 36 8 36 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 36 8 36 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 36 10 36 26+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 36 10 36 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 36 10 36 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 36 10 36 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 36 10 36 19+ , srcInfoPoints = []+ }+ "replicate")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 36 20 36 24+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 36 20 36 24+ , srcInfoPoints = []+ }+ 2000+ "2000")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 36 25 36 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 36 25 36 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 36 25 36 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 37 5 37 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 37 5 37 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 37 5 37 6+ , srcInfoPoints = []+ }+ "i"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 37 8 37 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 37 8 37 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 37 10 37 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 37 10 37 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 37 10 37 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 37 10 37 16+ , srcInfoPoints = []+ }+ "repeat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 37 25 37 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 37 25 37 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 37 25 37 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 38 5 38 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 38 5 38 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 38 5 38 7+ , srcInfoPoints = []+ }+ "lf"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 38 8 38 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 38 8 38 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 38 10 38 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 38 10 38 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 38 10 38 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 38 10 38 16+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 38 17 38 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 38 17 38 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 38 17 38 18+ , srcInfoPoints = []+ }+ "f")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 39 5 39 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 39 5 39 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 39 5 39 7+ , srcInfoPoints = []+ }+ "li"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 39 8 39 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 39 8 39 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 39 10 39 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 39 10 39 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 39 10 39 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 39 10 39 16+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 39 17 39 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 39 17 39 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 39 17 39 18+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 40 5 40 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 40 5 40 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 40 5 40 7+ , srcInfoPoints = []+ }+ "pf"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 40 8 40 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 40 8 40 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 40 10 40 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 40 10 40 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 40 10 40 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 40 10 40 12+ , srcInfoPoints = []+ }+ "lf")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 40 13 40 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 40 13 40 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 40 13 40 14+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 40 15 40 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 40 15 40 18+ , srcInfoPoints = []+ }+ 300+ "300"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 41 5 41 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 41 5 41 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 41 5 41 7+ , srcInfoPoints = []+ }+ "pi"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 41 8 41 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 41 8 41 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 41 10 41 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 41 10 41 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 41 10 41 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 41 10 41 12+ , srcInfoPoints = []+ }+ "li")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 41 13 41 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 41 13 41 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 41 13 41 14+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 41 15 41 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 41 15 41 18+ , srcInfoPoints = []+ }+ 300+ "300"))))+ Nothing+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 43 1 43 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 43 20 43 22 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 43 1 43 19+ , srcInfoPoints = []+ }+ "testRewriteReverse"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 43 23 43 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 43 25 43 26 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 43 23 43 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 43 23 43 24+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 43 27 43 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 43 27 43 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 43 27 43 31+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 44 1 51 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 45 3 45 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 44 1 51 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 45 3 45 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 44 1 44 19+ , srcInfoPoints = []+ }+ "testRewriteReverse")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 44 20 44 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 44 20 44 21+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 44 22 44 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 44 22 44 23 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 44 24 44 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 44 24 44 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 44 24 44 26+ , srcInfoPoints = []+ }+ "pi"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 46 5 51 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 46 5 46 5+ , SrcSpan "tests/examples/Unicode.hs" 47 5 47 5+ , SrcSpan "tests/examples/Unicode.hs" 48 5 48 5+ , SrcSpan "tests/examples/Unicode.hs" 49 5 49 5+ , SrcSpan "tests/examples/Unicode.hs" 50 5 50 5+ , SrcSpan "tests/examples/Unicode.hs" 51 5 51 5+ , SrcSpan "tests/examples/Unicode.hs" 53 1 53 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 46 5 46 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 46 5 46 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 46 5 46 6+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 46 8 46 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 46 8 46 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 46 10 46 26+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 46 10 46 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 46 10 46 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 46 10 46 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 46 10 46 19+ , srcInfoPoints = []+ }+ "replicate")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 46 20 46 24+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 46 20 46 24+ , srcInfoPoints = []+ }+ 2000+ "2000")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 46 25 46 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 46 25 46 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 46 25 46 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 47 5 47 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 47 5 47 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 47 5 47 6+ , srcInfoPoints = []+ }+ "i"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 47 8 47 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 47 8 47 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 47 10 47 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 47 10 47 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 47 10 47 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 47 10 47 16+ , srcInfoPoints = []+ }+ "repeat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 47 25 47 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 47 25 47 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 47 25 47 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 48 5 48 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 48 5 48 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 48 5 48 7+ , srcInfoPoints = []+ }+ "lf"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 48 8 48 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 48 8 48 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 48 10 48 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 48 10 48 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 48 10 48 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 48 10 48 16+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 48 17 48 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 48 17 48 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 48 17 48 18+ , srcInfoPoints = []+ }+ "f")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 49 5 49 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 49 5 49 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 49 5 49 7+ , srcInfoPoints = []+ }+ "li"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 49 8 49 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 49 8 49 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 49 10 49 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 49 10 49 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 49 10 49 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 49 10 49 16+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 49 17 49 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 49 17 49 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 49 17 49 18+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 50 5 50 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 50 5 50 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 50 5 50 7+ , srcInfoPoints = []+ }+ "pf"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 50 8 50 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 50 8 50 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 50 10 50 18+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 50 10 50 13+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 50 10 50 13+ , srcInfoPoints = []+ }+ 300+ "300"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 50 14 50 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 50 14 50 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 50 14 50 15+ , srcInfoPoints = []+ }+ "\8804")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 50 16 50 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 50 16 50 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 50 16 50 18+ , srcInfoPoints = []+ }+ "lf")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 51 5 51 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 51 5 51 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 51 5 51 7+ , srcInfoPoints = []+ }+ "pi"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 51 8 51 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 51 8 51 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 51 10 51 18+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 51 10 51 13+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 51 10 51 13+ , srcInfoPoints = []+ }+ 300+ "300"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 51 14 51 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 51 14 51 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 51 14 51 15+ , srcInfoPoints = []+ }+ "\8804")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 51 16 51 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 51 16 51 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 51 16 51 18+ , srcInfoPoints = []+ }+ "li")))))+ Nothing+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 1 53 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 53 14 53 16 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 1 53 13+ , srcInfoPoints = []+ }+ "testRewrite2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 17 53 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 53 19 53 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 17 53 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 17 53 18+ , srcInfoPoints = []+ }+ "a"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 21 53 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 53 21 53 22+ , SrcSpan "tests/examples/Unicode.hs" 53 26 53 27+ , SrcSpan "tests/examples/Unicode.hs" 53 31 53 32+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 22 53 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 22 53 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 22 53 26+ , srcInfoPoints = []+ }+ "Bool"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 27 53 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 27 53 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 53 27 53 31+ , srcInfoPoints = []+ }+ "Bool"))+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 1 57 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 55 3 55 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 1 57 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 55 3 55 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 1 54 13+ , srcInfoPoints = []+ }+ "testRewrite2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 14 54 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 14 54 15+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 16 54 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 54 16 54 17 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 18 54 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 54 18 54 19+ , SrcSpan "tests/examples/Unicode.hs" 54 33 54 34+ , SrcSpan "tests/examples/Unicode.hs" 54 48 54 49+ ]+ }+ Boxed+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 19 54 33+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 19 54 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 19 54 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 19 54 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 54 19 54 25+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 26 54 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 26 54 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 54 26 54 27+ , srcInfoPoints = []+ }+ "i"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 28 54 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 28 54 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 28 54 29+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 30 54 33+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 30 54 33+ , srcInfoPoints = []+ }+ 300+ "300"))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 34 54 48+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 34 54 37+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 34 54 37+ , srcInfoPoints = []+ }+ 300+ "300"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 38 54 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 38 54 39+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 38 54 39+ , srcInfoPoints = []+ }+ ">")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 40 54 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 40 54 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 40 54 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 54 40 54 46+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 47 54 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 54 47 54 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 54 47 54 48+ , srcInfoPoints = []+ }+ "i"))))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 57 5 57 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 57 5 57 5+ , SrcSpan "tests/examples/Unicode.hs" 63 1 63 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 57 5 57 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 57 5 57 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 57 5 57 6+ , srcInfoPoints = []+ }+ "i"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 57 8 57 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 57 8 57 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 57 10 57 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 57 10 57 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 57 10 57 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 57 10 57 16+ , srcInfoPoints = []+ }+ "repeat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 57 25 57 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 57 25 57 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 57 25 57 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 1 63 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 63 21 63 23 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 1 63 20+ , srcInfoPoints = []+ }+ "testRewriteReverse2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 24 63 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 63 26 63 27 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 24 63 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 24 63 25+ , srcInfoPoints = []+ }+ "a"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 28 63 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 63 28 63 29+ , SrcSpan "tests/examples/Unicode.hs" 63 33 63 34+ , SrcSpan "tests/examples/Unicode.hs" 63 38 63 39+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 29 63 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 29 63 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 29 63 33+ , srcInfoPoints = []+ }+ "Bool"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 34 63 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 34 63 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 63 34 63 38+ , srcInfoPoints = []+ }+ "Bool"))+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 1 71 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 65 3 65 8 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 1 71 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 65 3 65 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 1 64 20+ , srcInfoPoints = []+ }+ "testRewriteReverse2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 21 64 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 21 64 22+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 23 64 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 64 23 64 24 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 25 64 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 64 25 64 26+ , SrcSpan "tests/examples/Unicode.hs" 64 41 64 42+ , SrcSpan "tests/examples/Unicode.hs" 64 55 64 56+ ]+ }+ Boxed+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 26 64 41+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 26 64 30+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 26 64 30+ , srcInfoPoints = []+ }+ 2000+ "2000"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 31 64 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 31 64 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 31 64 32+ , srcInfoPoints = []+ }+ "<")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 33 64 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 33 64 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 33 64 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 64 33 64 39+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 40 64 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 40 64 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 64 40 64 41+ , srcInfoPoints = []+ }+ "i"))))+ , InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 42 64 55+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 42 64 50+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 42 64 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 42 64 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 64 42 64 48+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 49 64 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 49 64 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 64 49 64 50+ , srcInfoPoints = []+ }+ "i"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 51 64 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 51 64 52+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 51 64 52+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 53 64 55+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 64 53 64 55+ , srcInfoPoints = []+ }+ 20+ "20"))+ ]))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 66 5 71 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 66 5 66 5+ , SrcSpan "tests/examples/Unicode.hs" 67 5 67 5+ , SrcSpan "tests/examples/Unicode.hs" 68 5 68 5+ , SrcSpan "tests/examples/Unicode.hs" 69 5 69 5+ , SrcSpan "tests/examples/Unicode.hs" 70 5 70 5+ , SrcSpan "tests/examples/Unicode.hs" 71 5 71 5+ , SrcSpan "tests/examples/Unicode.hs" 74 1 74 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 66 5 66 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 66 5 66 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 66 5 66 6+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 66 8 66 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 66 8 66 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 66 10 66 26+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 66 10 66 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 66 10 66 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 66 10 66 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 66 10 66 19+ , srcInfoPoints = []+ }+ "replicate")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 66 20 66 24+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 66 20 66 24+ , srcInfoPoints = []+ }+ 2000+ "2000")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 66 25 66 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 66 25 66 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 66 25 66 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 67 5 67 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 67 5 67 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 67 5 67 6+ , srcInfoPoints = []+ }+ "i"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 67 8 67 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 67 8 67 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 67 10 67 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 67 10 67 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 67 10 67 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 67 10 67 16+ , srcInfoPoints = []+ }+ "repeat")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 67 25 67 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 67 25 67 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 67 25 67 26+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 68 5 68 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 68 5 68 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 68 5 68 7+ , srcInfoPoints = []+ }+ "lf"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 68 8 68 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 68 8 68 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 68 10 68 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 68 10 68 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 68 10 68 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 68 10 68 16+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 68 17 68 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 68 17 68 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 68 17 68 18+ , srcInfoPoints = []+ }+ "f")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 69 5 69 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 69 5 69 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 69 5 69 7+ , srcInfoPoints = []+ }+ "li"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 69 8 69 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 69 8 69 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 69 10 69 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 69 10 69 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 69 10 69 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 69 10 69 16+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 69 17 69 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 69 17 69 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 69 17 69 18+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 70 5 70 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 70 5 70 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 70 5 70 7+ , srcInfoPoints = []+ }+ "pf"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 70 8 70 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 70 8 70 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 70 10 70 20+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 70 10 70 14+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 70 10 70 14+ , srcInfoPoints = []+ }+ 2000+ "2000"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 70 15 70 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 70 15 70 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 70 15 70 17+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 70 18 70 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 70 18 70 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 70 18 70 20+ , srcInfoPoints = []+ }+ "lf")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 71 5 71 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 71 5 71 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 71 5 71 7+ , srcInfoPoints = []+ }+ "pi"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 71 8 71 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 71 8 71 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 71 10 71 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 71 10 71 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 71 10 71 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 71 10 71 12+ , srcInfoPoints = []+ }+ "lf")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 71 13 71 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 71 13 71 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 71 13 71 14+ , srcInfoPoints = []+ }+ "\8805")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 71 15 71 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 71 15 71 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 71 15 71 17+ , srcInfoPoints = []+ }+ "li")))))+ Nothing+ ]))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 1 74 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 74 10 74 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 1 74 9+ , srcInfoPoints = []+ }+ "lengthOP"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 13 74 68+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 13 74 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 74 13 74 14+ , SrcSpan "tests/examples/Unicode.hs" 74 19 74 20+ , SrcSpan "tests/examples/Unicode.hs" 74 26 74 27+ , SrcSpan "tests/examples/Unicode.hs" 74 28 74 29+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 30 74 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 74 35 74 36 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 30 74 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 30 74 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 30 74 34+ , srcInfoPoints = []+ }+ "Bool")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 37 74 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 74 52 74 53 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 37 74 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 74 37 74 38+ , SrcSpan "tests/examples/Unicode.hs" 74 50 74 51+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 38 74 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 74 40 74 41 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 38 74 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 38 74 39+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 42 74 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 74 44 74 45 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 42 74 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 42 74 43+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 46 74 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 46 74 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 74 46 74 50+ , srcInfoPoints = []+ }+ "Bool"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 54 74 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 74 58 74 59 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 54 74 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 74 54 74 55+ , SrcSpan "tests/examples/Unicode.hs" 74 56 74 57+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 55 74 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 55 74 56+ , srcInfoPoints = []+ }+ "b")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 60 74 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 74 62 74 63 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 60 74 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 60 74 61+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 64 74 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 64 74 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 64 74 68+ , srcInfoPoints = []+ }+ "Bool"))))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 1 80 24+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 1 75 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 1 75 9+ , srcInfoPoints = []+ }+ "lengthOP")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 10 75 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 10 75 11+ , srcInfoPoints = []+ }+ "v")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 12 75 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 75 12 75 13+ , SrcSpan "tests/examples/Unicode.hs" 75 13 75 14+ , SrcSpan "tests/examples/Unicode.hs" 75 14 75 15+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 13 75 14+ , srcInfoPoints = []+ }+ "\8860")+ , PList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 16 75 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 75 16 75 17+ , SrcSpan "tests/examples/Unicode.hs" 75 17 75 18+ ]+ }+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 20 75 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 20 75 21+ , srcInfoPoints = []+ }+ "n")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 22 75 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 75 22 75 23 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 24 75 29+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 24 75 25+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 24 75 25+ , srcInfoPoints = []+ }+ 0+ "0"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 26 75 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 26 75 27+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 26 75 27+ , srcInfoPoints = []+ }+ "\8860")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 28 75 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 28 75 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 75 28 75 29+ , srcInfoPoints = []+ }+ "n")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 1 80 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 77 3 77 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 1 76 9+ , srcInfoPoints = []+ }+ "lengthOP")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 10 76 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 10 76 11+ , srcInfoPoints = []+ }+ "v")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 12 76 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 76 12 76 13+ , SrcSpan "tests/examples/Unicode.hs" 76 13 76 14+ , SrcSpan "tests/examples/Unicode.hs" 76 14 76 15+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 13 76 14+ , srcInfoPoints = []+ }+ "\8860")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 16 76 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 16 76 19+ , srcInfoPoints = []+ }+ "xxs")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 20 76 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 20 76 21+ , srcInfoPoints = []+ }+ "n")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 22 76 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 76 22 76 23 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 24 76 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 24 76 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 24 76 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 24 76 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 24 76 26+ , srcInfoPoints = []+ }+ "co")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 27 76 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 27 76 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 27 76 30+ , srcInfoPoints = []+ }+ "xxs"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 31 76 32+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 76 31 76 32+ , srcInfoPoints = []+ }+ 0+ "0"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 78 5 80 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 78 5 78 5+ , SrcSpan "tests/examples/Unicode.hs" 80 5 80 5+ , SrcSpan "tests/examples/Unicode.hs" 82 1 82 0+ ]+ }+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 78 5 80 24+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 78 5 79 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 78 5 78 7+ , srcInfoPoints = []+ }+ "co")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 78 8 78 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 78 8 78 9+ , SrcSpan "tests/examples/Unicode.hs" 78 13 78 14+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 78 9 78 13+ , srcInfoPoints = []+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 9 78 10+ , srcInfoPoints = []+ })+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 10 78 11+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 10 78 11+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 11 78 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 11 78 13+ , srcInfoPoints = []+ }+ "xs")))+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 78 15 78 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 78 15 78 16+ , srcInfoPoints = []+ }+ "c")+ ]+ (GuardedRhss+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 78 17 79 32+ , srcInfoPoints = []+ }+ [ GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 78 17 78 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 78 17 78 18+ , SrcSpan "tests/examples/Unicode.hs" 78 29 78 30+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 19 78 24+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 19 78 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 19 78 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 19 78 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 19 78 20+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 21 78 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 21 78 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 21 78 22+ , srcInfoPoints = []+ }+ ">")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 23 78 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 23 78 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 23 78 24+ , srcInfoPoints = []+ }+ "c"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 31 78 42+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 31 78 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 31 78 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 31 78 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 31 78 33+ , srcInfoPoints = []+ }+ "co")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 34 78 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 34 78 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 34 78 36+ , srcInfoPoints = []+ }+ "xs"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 37 78 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 78 37 78 38+ , SrcSpan "tests/examples/Unicode.hs" 78 41 78 42+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 38 78 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 38 78 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 38 78 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 38 78 39+ , srcInfoPoints = []+ }+ "c")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 39 78 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 39 78 40+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 39 78 40+ , srcInfoPoints = []+ }+ "+")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 78 40 78 41+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 78 40 78 41+ , srcInfoPoints = []+ }+ 1+ "1")))))+ , GuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 79 17 79 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 79 17 79 18+ , SrcSpan "tests/examples/Unicode.hs" 79 29 79 30+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 79 19 79 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 79 19 79 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 79 19 79 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Unicode.hs" 79 19 79 28+ , srcInfoPoints = []+ }+ "otherwise")))+ ]+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 79 31 79 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 79 31 79 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 79 31 79 32+ , srcInfoPoints = []+ }+ "v")))+ ])+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 80 5 80 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 80 5 80 7+ , srcInfoPoints = []+ }+ "co")+ [ PList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 80 8 80 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 80 8 80 9+ , SrcSpan "tests/examples/Unicode.hs" 80 9 80 10+ ]+ }+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 80 15 80 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 80 15 80 16+ , srcInfoPoints = []+ }+ "c")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 80 17 80 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 80 17 80 18 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 80 19 80 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 80 19 80 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 80 19 80 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 80 19 80 20+ , srcInfoPoints = []+ }+ "c")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 80 21 80 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 80 21 80 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 80 21 80 22+ , srcInfoPoints = []+ }+ "\8860")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 80 23 80 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 80 23 80 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Unicode.hs" 80 23 80 24+ , srcInfoPoints = []+ }+ "n")))))+ Nothing+ ]+ ]))+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 82 1 82 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 82 1 82 4+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 82 1 82 2+ , SrcSpan "tests/examples/Unicode.hs" 82 2 82 3+ , SrcSpan "tests/examples/Unicode.hs" 82 3 82 4+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 82 2 82 3+ , srcInfoPoints = []+ }+ "\8803"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 82 5 82 11+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 82 5 82 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 82 7 82 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 82 7 82 8+ , SrcSpan "tests/examples/Unicode.hs" 82 8 82 10+ , SrcSpan "tests/examples/Unicode.hs" 82 10 82 11+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 82 7 82 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 82 7 82 8+ , SrcSpan "tests/examples/Unicode.hs" 82 8 82 10+ , SrcSpan "tests/examples/Unicode.hs" 82 10 82 11+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 82 8 82 10+ , srcInfoPoints = []+ }+ "=="))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 83 1 83 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 83 1 83 4+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 83 1 83 2+ , SrcSpan "tests/examples/Unicode.hs" 83 2 83 3+ , SrcSpan "tests/examples/Unicode.hs" 83 3 83 4+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 83 2 83 3+ , srcInfoPoints = []+ }+ "\8804"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 83 5 83 11+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 83 5 83 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 83 7 83 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 83 7 83 8+ , SrcSpan "tests/examples/Unicode.hs" 83 8 83 10+ , SrcSpan "tests/examples/Unicode.hs" 83 10 83 11+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 83 7 83 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 83 7 83 8+ , SrcSpan "tests/examples/Unicode.hs" 83 8 83 10+ , SrcSpan "tests/examples/Unicode.hs" 83 10 83 11+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 83 8 83 10+ , srcInfoPoints = []+ }+ "<="))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 84 1 84 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 84 1 84 4+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 84 1 84 2+ , SrcSpan "tests/examples/Unicode.hs" 84 2 84 3+ , SrcSpan "tests/examples/Unicode.hs" 84 3 84 4+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 84 2 84 3+ , srcInfoPoints = []+ }+ "\8805"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 84 5 84 11+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 84 5 84 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 84 7 84 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 84 7 84 8+ , SrcSpan "tests/examples/Unicode.hs" 84 8 84 10+ , SrcSpan "tests/examples/Unicode.hs" 84 10 84 11+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 84 7 84 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 84 7 84 8+ , SrcSpan "tests/examples/Unicode.hs" 84 8 84 10+ , SrcSpan "tests/examples/Unicode.hs" 84 10 84 11+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 84 8 84 10+ , srcInfoPoints = []+ }+ ">="))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 1 86 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 1 86 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 86 1 86 2+ , SrcSpan "tests/examples/Unicode.hs" 86 2 86 4+ , SrcSpan "tests/examples/Unicode.hs" 86 4 86 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 2 86 4+ , srcInfoPoints = []+ }+ "|\8803"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 7 86 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 86 7 86 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 9 86 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 9 86 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 9 86 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 9 86 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 9 86 17+ , srcInfoPoints = []+ }+ "lengthOP")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 18 86 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 18 86 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 18 86 23+ , srcInfoPoints = []+ }+ "False"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 24 86 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 86 24 86 25+ , SrcSpan "tests/examples/Unicode.hs" 86 25 86 26+ , SrcSpan "tests/examples/Unicode.hs" 86 26 86 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 24 86 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 86 24 86 25+ , SrcSpan "tests/examples/Unicode.hs" 86 25 86 26+ , SrcSpan "tests/examples/Unicode.hs" 86 26 86 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 86 25 86 26+ , srcInfoPoints = []+ }+ "\8803")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 1 87 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 1 87 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 87 1 87 2+ , SrcSpan "tests/examples/Unicode.hs" 87 2 87 4+ , SrcSpan "tests/examples/Unicode.hs" 87 4 87 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 2 87 4+ , srcInfoPoints = []+ }+ "|<"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 7 87 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 87 7 87 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 9 87 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 9 87 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 9 87 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 9 87 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 9 87 17+ , srcInfoPoints = []+ }+ "lengthOP")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 18 87 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 18 87 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 18 87 23+ , srcInfoPoints = []+ }+ "False"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 24 87 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 87 24 87 25+ , SrcSpan "tests/examples/Unicode.hs" 87 25 87 26+ , SrcSpan "tests/examples/Unicode.hs" 87 26 87 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 24 87 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 87 24 87 25+ , SrcSpan "tests/examples/Unicode.hs" 87 25 87 26+ , SrcSpan "tests/examples/Unicode.hs" 87 26 87 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 87 25 87 26+ , srcInfoPoints = []+ }+ "<")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 1 88 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 1 88 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 88 1 88 2+ , SrcSpan "tests/examples/Unicode.hs" 88 2 88 4+ , SrcSpan "tests/examples/Unicode.hs" 88 4 88 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 2 88 4+ , srcInfoPoints = []+ }+ "|\8804"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 7 88 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 88 7 88 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 9 88 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 9 88 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 9 88 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 9 88 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 9 88 17+ , srcInfoPoints = []+ }+ "lengthOP")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 18 88 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 18 88 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 18 88 23+ , srcInfoPoints = []+ }+ "False"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 24 88 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 88 24 88 25+ , SrcSpan "tests/examples/Unicode.hs" 88 25 88 26+ , SrcSpan "tests/examples/Unicode.hs" 88 26 88 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 24 88 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 88 24 88 25+ , SrcSpan "tests/examples/Unicode.hs" 88 25 88 26+ , SrcSpan "tests/examples/Unicode.hs" 88 26 88 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 88 25 88 26+ , srcInfoPoints = []+ }+ "\8804")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 1 89 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 1 89 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 89 1 89 2+ , SrcSpan "tests/examples/Unicode.hs" 89 2 89 4+ , SrcSpan "tests/examples/Unicode.hs" 89 4 89 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 2 89 4+ , srcInfoPoints = []+ }+ "|>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 7 89 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 89 7 89 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 9 89 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 9 89 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 9 89 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 9 89 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 9 89 17+ , srcInfoPoints = []+ }+ "lengthOP")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 18 89 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 18 89 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 18 89 22+ , srcInfoPoints = []+ }+ "True"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 24 89 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 89 24 89 25+ , SrcSpan "tests/examples/Unicode.hs" 89 25 89 26+ , SrcSpan "tests/examples/Unicode.hs" 89 26 89 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 24 89 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 89 24 89 25+ , SrcSpan "tests/examples/Unicode.hs" 89 25 89 26+ , SrcSpan "tests/examples/Unicode.hs" 89 26 89 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 89 25 89 26+ , srcInfoPoints = []+ }+ ">")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 1 90 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 1 90 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 90 1 90 2+ , SrcSpan "tests/examples/Unicode.hs" 90 2 90 4+ , SrcSpan "tests/examples/Unicode.hs" 90 4 90 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 2 90 4+ , srcInfoPoints = []+ }+ "|\8805"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 7 90 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 90 7 90 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 9 90 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 9 90 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 9 90 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 9 90 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 9 90 17+ , srcInfoPoints = []+ }+ "lengthOP")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 18 90 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 18 90 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 18 90 22+ , srcInfoPoints = []+ }+ "True"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 24 90 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 90 24 90 25+ , SrcSpan "tests/examples/Unicode.hs" 90 25 90 26+ , SrcSpan "tests/examples/Unicode.hs" 90 26 90 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 24 90 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 90 24 90 25+ , SrcSpan "tests/examples/Unicode.hs" 90 25 90 26+ , SrcSpan "tests/examples/Unicode.hs" 90 26 90 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 90 25 90 26+ , srcInfoPoints = []+ }+ "\8805")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 1 92 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 1 92 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 92 1 92 2+ , SrcSpan "tests/examples/Unicode.hs" 92 2 92 4+ , SrcSpan "tests/examples/Unicode.hs" 92 4 92 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 2 92 4+ , srcInfoPoints = []+ }+ "|="))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 7 92 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 92 7 92 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 9 92 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 9 92 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 9 92 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 9 92 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 9 92 17+ , srcInfoPoints = []+ }+ "lengthOP")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 18 92 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 18 92 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 18 92 23+ , srcInfoPoints = []+ }+ "False"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 24 92 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 92 24 92 25+ , SrcSpan "tests/examples/Unicode.hs" 92 25 92 27+ , SrcSpan "tests/examples/Unicode.hs" 92 27 92 28+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 24 92 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 92 24 92 25+ , SrcSpan "tests/examples/Unicode.hs" 92 25 92 27+ , SrcSpan "tests/examples/Unicode.hs" 92 27 92 28+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 92 25 92 27+ , srcInfoPoints = []+ }+ "==")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 1 93 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 1 93 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 93 1 93 2+ , SrcSpan "tests/examples/Unicode.hs" 93 2 93 5+ , SrcSpan "tests/examples/Unicode.hs" 93 5 93 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 2 93 5+ , srcInfoPoints = []+ }+ "|=="))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 7 93 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 93 7 93 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 9 93 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 9 93 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 9 93 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 9 93 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 9 93 17+ , srcInfoPoints = []+ }+ "lengthOP")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 18 93 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 18 93 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 18 93 23+ , srcInfoPoints = []+ }+ "False"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 24 93 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 93 24 93 25+ , SrcSpan "tests/examples/Unicode.hs" 93 25 93 27+ , SrcSpan "tests/examples/Unicode.hs" 93 27 93 28+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 24 93 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 93 24 93 25+ , SrcSpan "tests/examples/Unicode.hs" 93 25 93 27+ , SrcSpan "tests/examples/Unicode.hs" 93 27 93 28+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 93 25 93 27+ , srcInfoPoints = []+ }+ "==")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 1 94 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 1 94 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 94 1 94 2+ , SrcSpan "tests/examples/Unicode.hs" 94 2 94 5+ , SrcSpan "tests/examples/Unicode.hs" 94 5 94 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 2 94 5+ , srcInfoPoints = []+ }+ "|<="))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 7 94 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 94 7 94 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 9 94 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 9 94 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 9 94 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 9 94 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 9 94 17+ , srcInfoPoints = []+ }+ "lengthOP")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 18 94 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 18 94 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 18 94 23+ , srcInfoPoints = []+ }+ "False"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 24 94 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 94 24 94 25+ , SrcSpan "tests/examples/Unicode.hs" 94 25 94 27+ , SrcSpan "tests/examples/Unicode.hs" 94 27 94 28+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 24 94 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 94 24 94 25+ , SrcSpan "tests/examples/Unicode.hs" 94 25 94 27+ , SrcSpan "tests/examples/Unicode.hs" 94 27 94 28+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 94 25 94 27+ , srcInfoPoints = []+ }+ "<=")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 1 95 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 1 95 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 95 1 95 2+ , SrcSpan "tests/examples/Unicode.hs" 95 2 95 5+ , SrcSpan "tests/examples/Unicode.hs" 95 5 95 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 2 95 5+ , srcInfoPoints = []+ }+ "|>="))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 7 95 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 95 7 95 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 9 95 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 9 95 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 9 95 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 9 95 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 9 95 17+ , srcInfoPoints = []+ }+ "lengthOP")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 18 95 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 18 95 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 18 95 23+ , srcInfoPoints = []+ }+ "False"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 24 95 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 95 24 95 25+ , SrcSpan "tests/examples/Unicode.hs" 95 25 95 27+ , SrcSpan "tests/examples/Unicode.hs" 95 27 95 28+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 24 95 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 95 24 95 25+ , SrcSpan "tests/examples/Unicode.hs" 95 25 95 27+ , SrcSpan "tests/examples/Unicode.hs" 95 27 95 28+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 95 25 95 27+ , srcInfoPoints = []+ }+ ">=")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 1 99 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 1 99 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 99 1 99 2+ , SrcSpan "tests/examples/Unicode.hs" 99 2 99 4+ , SrcSpan "tests/examples/Unicode.hs" 99 4 99 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 2 99 4+ , srcInfoPoints = []+ }+ "\8803|"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 6 99 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Unicode.hs" 99 6 99 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 8 99 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 8 99 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 8 99 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 8 99 12+ , srcInfoPoints = []+ }+ "flip")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 13 99 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 99 13 99 14+ , SrcSpan "tests/examples/Unicode.hs" 99 14 99 16+ , SrcSpan "tests/examples/Unicode.hs" 99 16 99 17+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 13 99 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 99 13 99 14+ , SrcSpan "tests/examples/Unicode.hs" 99 14 99 16+ , SrcSpan "tests/examples/Unicode.hs" 99 16 99 17+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 99 14 99 16+ , srcInfoPoints = []+ }+ "|\8803")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 1 100 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 1 100 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 100 1 100 2+ , SrcSpan "tests/examples/Unicode.hs" 100 2 100 4+ , SrcSpan "tests/examples/Unicode.hs" 100 4 100 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 2 100 4+ , srcInfoPoints = []+ }+ "<|"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 6 100 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 100 6 100 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 8 100 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 8 100 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 8 100 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 8 100 12+ , srcInfoPoints = []+ }+ "flip")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 13 100 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 100 13 100 14+ , SrcSpan "tests/examples/Unicode.hs" 100 14 100 16+ , SrcSpan "tests/examples/Unicode.hs" 100 16 100 17+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 13 100 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 100 13 100 14+ , SrcSpan "tests/examples/Unicode.hs" 100 14 100 16+ , SrcSpan "tests/examples/Unicode.hs" 100 16 100 17+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 100 14 100 16+ , srcInfoPoints = []+ }+ "|\8805")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 1 101 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 1 101 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 101 1 101 2+ , SrcSpan "tests/examples/Unicode.hs" 101 2 101 4+ , SrcSpan "tests/examples/Unicode.hs" 101 4 101 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 2 101 4+ , srcInfoPoints = []+ }+ "\8804|"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 6 101 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 101 6 101 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 8 101 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 8 101 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 8 101 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 8 101 12+ , srcInfoPoints = []+ }+ "flip")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 13 101 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 101 13 101 14+ , SrcSpan "tests/examples/Unicode.hs" 101 14 101 16+ , SrcSpan "tests/examples/Unicode.hs" 101 16 101 17+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 13 101 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 101 13 101 14+ , SrcSpan "tests/examples/Unicode.hs" 101 14 101 16+ , SrcSpan "tests/examples/Unicode.hs" 101 16 101 17+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 101 14 101 16+ , srcInfoPoints = []+ }+ "|>")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 1 102 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 1 102 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 102 1 102 2+ , SrcSpan "tests/examples/Unicode.hs" 102 2 102 4+ , SrcSpan "tests/examples/Unicode.hs" 102 4 102 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 2 102 4+ , srcInfoPoints = []+ }+ ">|"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 6 102 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 102 6 102 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 8 102 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 8 102 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 8 102 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 8 102 12+ , srcInfoPoints = []+ }+ "flip")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 13 102 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 102 13 102 14+ , SrcSpan "tests/examples/Unicode.hs" 102 14 102 16+ , SrcSpan "tests/examples/Unicode.hs" 102 16 102 17+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 13 102 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 102 13 102 14+ , SrcSpan "tests/examples/Unicode.hs" 102 14 102 16+ , SrcSpan "tests/examples/Unicode.hs" 102 16 102 17+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 102 14 102 16+ , srcInfoPoints = []+ }+ "|\8804")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 1 103 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 1 103 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 103 1 103 2+ , SrcSpan "tests/examples/Unicode.hs" 103 2 103 4+ , SrcSpan "tests/examples/Unicode.hs" 103 4 103 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 2 103 4+ , srcInfoPoints = []+ }+ "\8805|"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 6 103 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 103 6 103 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 8 103 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 8 103 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 8 103 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 8 103 12+ , srcInfoPoints = []+ }+ "flip")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 13 103 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 103 13 103 14+ , SrcSpan "tests/examples/Unicode.hs" 103 14 103 16+ , SrcSpan "tests/examples/Unicode.hs" 103 16 103 17+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 13 103 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 103 13 103 14+ , SrcSpan "tests/examples/Unicode.hs" 103 14 103 16+ , SrcSpan "tests/examples/Unicode.hs" 103 16 103 17+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 103 14 103 16+ , srcInfoPoints = []+ }+ "|<")))))+ Nothing+ , RulePragmaDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 105 1 118 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 105 1 105 10+ , SrcSpan "tests/examples/Unicode.hs" 118 3 118 6+ ]+ }+ [ Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 1 107 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 107 1 107 10+ , SrcSpan "tests/examples/Unicode.hs" 107 11 107 17+ , SrcSpan "tests/examples/Unicode.hs" 107 22 107 23+ , SrcSpan "tests/examples/Unicode.hs" 107 42 107 43+ ]+ }+ "xs |\8803 n"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 18 107 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 18 107 20+ , srcInfoPoints = []+ }+ "xs")+ , RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 21 107 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 21 107 22+ , srcInfoPoints = []+ }+ "n")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 25 107 41+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 25 107 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 107 25 107 26+ , SrcSpan "tests/examples/Unicode.hs" 107 35 107 36+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 26 107 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 26 107 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 26 107 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 26 107 32+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 33 107 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 33 107 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 33 107 35+ , srcInfoPoints = []+ }+ "xs")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 37 107 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 37 107 39+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 37 107 39+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 40 107 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 40 107 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 40 107 41+ , srcInfoPoints = []+ }+ "n"))))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 44 107 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 44 107 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 44 107 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 44 107 46+ , srcInfoPoints = []+ }+ "xs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 47 107 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 47 107 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 47 107 49+ , srcInfoPoints = []+ }+ "|\8803")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 50 107 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 50 107 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 107 50 107 51+ , srcInfoPoints = []+ }+ "n"))))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 1 108 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 108 1 108 10+ , SrcSpan "tests/examples/Unicode.hs" 108 11 108 17+ , SrcSpan "tests/examples/Unicode.hs" 108 22 108 23+ , SrcSpan "tests/examples/Unicode.hs" 108 42 108 43+ ]+ }+ "xs |< n"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 18 108 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 18 108 20+ , srcInfoPoints = []+ }+ "xs")+ , RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 21 108 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 21 108 22+ , srcInfoPoints = []+ }+ "n")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 25 108 41+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 25 108 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 108 25 108 26+ , SrcSpan "tests/examples/Unicode.hs" 108 35 108 36+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 26 108 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 26 108 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 26 108 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 26 108 32+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 33 108 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 33 108 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 33 108 35+ , srcInfoPoints = []+ }+ "xs")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 37 108 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 37 108 38+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 37 108 38+ , srcInfoPoints = []+ }+ "<")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 40 108 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 40 108 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 40 108 41+ , srcInfoPoints = []+ }+ "n"))))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 44 108 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 44 108 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 44 108 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 44 108 46+ , srcInfoPoints = []+ }+ "xs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 47 108 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 47 108 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 47 108 49+ , srcInfoPoints = []+ }+ "|<")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 50 108 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 50 108 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 108 50 108 51+ , srcInfoPoints = []+ }+ "n"))))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 1 109 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 109 1 109 10+ , SrcSpan "tests/examples/Unicode.hs" 109 11 109 17+ , SrcSpan "tests/examples/Unicode.hs" 109 22 109 23+ , SrcSpan "tests/examples/Unicode.hs" 109 42 109 43+ ]+ }+ "xs |\8804 n"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 18 109 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 18 109 20+ , srcInfoPoints = []+ }+ "xs")+ , RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 21 109 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 21 109 22+ , srcInfoPoints = []+ }+ "n")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 25 109 41+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 25 109 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 109 25 109 26+ , SrcSpan "tests/examples/Unicode.hs" 109 35 109 36+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 26 109 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 26 109 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 26 109 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 26 109 32+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 33 109 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 33 109 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 33 109 35+ , srcInfoPoints = []+ }+ "xs")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 37 109 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 37 109 39+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 37 109 39+ , srcInfoPoints = []+ }+ "<=")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 40 109 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 40 109 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 40 109 41+ , srcInfoPoints = []+ }+ "n"))))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 44 109 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 44 109 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 44 109 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 44 109 46+ , srcInfoPoints = []+ }+ "xs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 47 109 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 47 109 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 47 109 49+ , srcInfoPoints = []+ }+ "|\8804")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 50 109 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 50 109 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 109 50 109 51+ , srcInfoPoints = []+ }+ "n"))))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 1 110 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 110 1 110 10+ , SrcSpan "tests/examples/Unicode.hs" 110 11 110 17+ , SrcSpan "tests/examples/Unicode.hs" 110 22 110 23+ , SrcSpan "tests/examples/Unicode.hs" 110 42 110 43+ ]+ }+ "xs |> n"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 18 110 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 18 110 20+ , srcInfoPoints = []+ }+ "xs")+ , RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 21 110 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 21 110 22+ , srcInfoPoints = []+ }+ "n")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 25 110 41+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 25 110 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 110 25 110 26+ , SrcSpan "tests/examples/Unicode.hs" 110 35 110 36+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 26 110 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 26 110 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 26 110 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 26 110 32+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 33 110 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 33 110 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 33 110 35+ , srcInfoPoints = []+ }+ "xs")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 37 110 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 37 110 38+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 37 110 38+ , srcInfoPoints = []+ }+ ">")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 40 110 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 40 110 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 40 110 41+ , srcInfoPoints = []+ }+ "n"))))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 44 110 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 44 110 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 44 110 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 44 110 46+ , srcInfoPoints = []+ }+ "xs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 47 110 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 47 110 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 47 110 49+ , srcInfoPoints = []+ }+ "|>")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 50 110 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 50 110 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 110 50 110 51+ , srcInfoPoints = []+ }+ "n"))))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 1 111 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 111 1 111 10+ , SrcSpan "tests/examples/Unicode.hs" 111 11 111 17+ , SrcSpan "tests/examples/Unicode.hs" 111 22 111 23+ , SrcSpan "tests/examples/Unicode.hs" 111 42 111 43+ ]+ }+ "xs |\8805 n"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 18 111 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 18 111 20+ , srcInfoPoints = []+ }+ "xs")+ , RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 21 111 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 21 111 22+ , srcInfoPoints = []+ }+ "n")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 25 111 41+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 25 111 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 111 25 111 26+ , SrcSpan "tests/examples/Unicode.hs" 111 35 111 36+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 26 111 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 26 111 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 26 111 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 26 111 32+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 33 111 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 33 111 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 33 111 35+ , srcInfoPoints = []+ }+ "xs")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 37 111 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 37 111 39+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 37 111 39+ , srcInfoPoints = []+ }+ ">=")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 40 111 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 40 111 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 40 111 41+ , srcInfoPoints = []+ }+ "n"))))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 44 111 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 44 111 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 44 111 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 44 111 46+ , srcInfoPoints = []+ }+ "xs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 47 111 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 47 111 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 47 111 49+ , srcInfoPoints = []+ }+ "|\8805")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 50 111 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 50 111 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 111 50 111 51+ , srcInfoPoints = []+ }+ "n"))))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 1 113 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 113 1 113 10+ , SrcSpan "tests/examples/Unicode.hs" 113 11 113 17+ , SrcSpan "tests/examples/Unicode.hs" 113 22 113 23+ , SrcSpan "tests/examples/Unicode.hs" 113 42 113 43+ ]+ }+ "n \8803| xs"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 18 113 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 18 113 20+ , srcInfoPoints = []+ }+ "xs")+ , RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 21 113 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 21 113 22+ , srcInfoPoints = []+ }+ "n")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 25 113 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 25 113 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 25 113 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 25 113 26+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 27 113 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 27 113 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 27 113 29+ , srcInfoPoints = []+ }+ "==")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 30 113 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 113 30 113 31+ , SrcSpan "tests/examples/Unicode.hs" 113 40 113 41+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 31 113 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 31 113 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 31 113 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 31 113 37+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 38 113 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 38 113 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 38 113 40+ , srcInfoPoints = []+ }+ "xs"))))))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 44 113 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 44 113 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 44 113 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 44 113 46+ , srcInfoPoints = []+ }+ "xs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 47 113 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 47 113 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 47 113 49+ , srcInfoPoints = []+ }+ "|\8803")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 50 113 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 50 113 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 113 50 113 51+ , srcInfoPoints = []+ }+ "n"))))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 1 114 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 114 1 114 10+ , SrcSpan "tests/examples/Unicode.hs" 114 11 114 17+ , SrcSpan "tests/examples/Unicode.hs" 114 22 114 23+ , SrcSpan "tests/examples/Unicode.hs" 114 42 114 43+ ]+ }+ "n <| xs"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 18 114 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 18 114 20+ , srcInfoPoints = []+ }+ "xs")+ , RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 21 114 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 21 114 22+ , srcInfoPoints = []+ }+ "n")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 25 114 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 25 114 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 25 114 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 25 114 26+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 27 114 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 27 114 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 27 114 28+ , srcInfoPoints = []+ }+ "<")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 30 114 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 114 30 114 31+ , SrcSpan "tests/examples/Unicode.hs" 114 40 114 41+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 31 114 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 31 114 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 31 114 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 31 114 37+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 38 114 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 38 114 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 38 114 40+ , srcInfoPoints = []+ }+ "xs"))))))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 44 114 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 44 114 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 44 114 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 44 114 46+ , srcInfoPoints = []+ }+ "xs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 47 114 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 47 114 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 47 114 49+ , srcInfoPoints = []+ }+ "|\8805")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 50 114 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 50 114 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 114 50 114 51+ , srcInfoPoints = []+ }+ "n"))))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 1 115 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 115 1 115 10+ , SrcSpan "tests/examples/Unicode.hs" 115 11 115 17+ , SrcSpan "tests/examples/Unicode.hs" 115 22 115 23+ , SrcSpan "tests/examples/Unicode.hs" 115 42 115 43+ ]+ }+ "n \8804| xs"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 18 115 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 18 115 20+ , srcInfoPoints = []+ }+ "xs")+ , RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 21 115 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 21 115 22+ , srcInfoPoints = []+ }+ "n")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 25 115 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 25 115 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 25 115 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 25 115 26+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 27 115 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 27 115 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 27 115 29+ , srcInfoPoints = []+ }+ "<=")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 30 115 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 115 30 115 31+ , SrcSpan "tests/examples/Unicode.hs" 115 40 115 41+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 31 115 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 31 115 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 31 115 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 31 115 37+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 38 115 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 38 115 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 38 115 40+ , srcInfoPoints = []+ }+ "xs"))))))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 44 115 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 44 115 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 44 115 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 44 115 46+ , srcInfoPoints = []+ }+ "xs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 47 115 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 47 115 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 47 115 49+ , srcInfoPoints = []+ }+ "|>")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 50 115 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 50 115 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 115 50 115 51+ , srcInfoPoints = []+ }+ "n"))))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 1 116 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 116 1 116 10+ , SrcSpan "tests/examples/Unicode.hs" 116 11 116 17+ , SrcSpan "tests/examples/Unicode.hs" 116 22 116 23+ , SrcSpan "tests/examples/Unicode.hs" 116 42 116 43+ ]+ }+ "n >| xs"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 18 116 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 18 116 20+ , srcInfoPoints = []+ }+ "xs")+ , RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 21 116 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 21 116 22+ , srcInfoPoints = []+ }+ "n")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 25 116 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 25 116 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 25 116 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 25 116 26+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 27 116 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 27 116 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 27 116 28+ , srcInfoPoints = []+ }+ ">")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 30 116 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 116 30 116 31+ , SrcSpan "tests/examples/Unicode.hs" 116 40 116 41+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 31 116 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 31 116 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 31 116 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 31 116 37+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 38 116 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 38 116 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 38 116 40+ , srcInfoPoints = []+ }+ "xs"))))))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 44 116 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 44 116 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 44 116 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 44 116 46+ , srcInfoPoints = []+ }+ "xs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 47 116 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 47 116 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 47 116 49+ , srcInfoPoints = []+ }+ "|\8804")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 50 116 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 50 116 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 116 50 116 51+ , srcInfoPoints = []+ }+ "n"))))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 1 117 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 117 1 117 10+ , SrcSpan "tests/examples/Unicode.hs" 117 11 117 17+ , SrcSpan "tests/examples/Unicode.hs" 117 22 117 23+ , SrcSpan "tests/examples/Unicode.hs" 117 42 117 43+ ]+ }+ "n \8805| xs"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 18 117 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 18 117 20+ , srcInfoPoints = []+ }+ "xs")+ , RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 21 117 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 21 117 22+ , srcInfoPoints = []+ }+ "n")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 25 117 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 25 117 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 25 117 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 25 117 26+ , srcInfoPoints = []+ }+ "n")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 27 117 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 27 117 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 27 117 29+ , srcInfoPoints = []+ }+ ">=")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 30 117 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode.hs" 117 30 117 31+ , SrcSpan "tests/examples/Unicode.hs" 117 40 117 41+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 31 117 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 31 117 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 31 117 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 31 117 37+ , srcInfoPoints = []+ }+ "length")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 38 117 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 38 117 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 38 117 40+ , srcInfoPoints = []+ }+ "xs"))))))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 44 117 51+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 44 117 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 44 117 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 44 117 46+ , srcInfoPoints = []+ }+ "xs")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 47 117 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 47 117 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 47 117 49+ , srcInfoPoints = []+ }+ "|<")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 50 117 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 50 117 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 117 50 117 51+ , srcInfoPoints = []+ }+ "n"))))+ ]+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/Unicode.hs" 56 1 56 28)+ " f = replicate 2000 x"+ , Comment+ False+ (SrcSpan "tests/examples/Unicode.hs" 58 1 58 20)+ " lf = length f"+ , Comment+ False+ (SrcSpan "tests/examples/Unicode.hs" 59 1 59 20)+ " li = length i"+ , Comment+ False+ (SrcSpan "tests/examples/Unicode.hs" 60 1 60 20)+ " pf = lf > 300"+ , Comment+ False+ (SrcSpan "tests/examples/Unicode.hs" 61 1 61 20)+ " pi = li > 300"+ , Comment+ False+ (SrcSpan "tests/examples/Unicode.hs" 98 1 98 7)+ " \8803\8804\8805"+ , Comment+ False (SrcSpan "tests/examples/Unicode.hs" 106 1 106 10) " length"+ ]+ )
tests/examples/Unicode.hs.prettyprinter.golden view
@@ -1,7 +1,7 @@ {-# LANGUAGE UnicodeSyntax #-} module Main where import System.Environment- + main :: IO () main = do as <- getArgs@@ -12,21 +12,21 @@ print $ testRewriteReverse 0 print $ testRewrite2 0 print $ testRewriteReverse2 0- + test :: a -> Bool test x = pi where f = replicate 2000 x i = repeat x pf = f |> 300 pi = i |> 300- + test2 :: a -> (Bool, Bool) test2 x = (pf, pi) where f = replicate 2000 x i = repeat x pf = f |> 300 pi = i |> 300- + testRewrite :: a -> Bool testRewrite x = pi where f = replicate 2000 x@@ -35,7 +35,7 @@ li = length i pf = lf > 300 pi = li > 300- + testRewriteReverse :: a -> Bool testRewriteReverse x = pi where f = replicate 2000 x@@ -44,11 +44,11 @@ li = length i pf = 300 d lf pi = 300 d li- + testRewrite2 :: a -> (Bool, Bool) testRewrite2 x = (length i > 300, 300 > length i) where i = repeat x- + testRewriteReverse2 :: a -> (Bool, Bool) testRewriteReverse2 x = (2000 < length i, length i > 20) where f = replicate 2000 x@@ -57,7 +57,7 @@ li = length i pf = 2000 == lf pi = lf e li- + lengthOP :: (Num a, Ord a) => Bool -> (a -> a -> Bool) -> [b] -> a -> Bool lengthOP v () [] n = 0 n@@ -83,7 +83,7 @@ (d|) = flip (|>) (>|) = flip (|d) (e|) = flip (|<)- + {-# RULES "xs |\8803 n" forall xs n . (length xs) == n = xs |c n "xs |< n" forall xs n . (length xs) < n = xs |< n
+ tests/examples/Unicode2.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE UnicodeSyntax #-}++lengthOP n (⊜) = 0 ⊜ n
+ tests/examples/Unicode2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Unicode2.hs.parser.golden view
@@ -0,0 +1,134 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode2.hs" 1 1 1 1+ , SrcSpan "tests/examples/Unicode2.hs" 3 1 3 1+ , SrcSpan "tests/examples/Unicode2.hs" 3 1 3 1+ , SrcSpan "tests/examples/Unicode2.hs" 3 1 3 1+ , SrcSpan "tests/examples/Unicode2.hs" 4 1 4 1+ , SrcSpan "tests/examples/Unicode2.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode2.hs" 1 1 1 13+ , SrcSpan "tests/examples/Unicode2.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "UnicodeSyntax"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 1 3 23+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 1 3 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 1 3 9+ , srcInfoPoints = []+ }+ "lengthOP")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ "n")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 12 3 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode2.hs" 3 12 3 13+ , SrcSpan "tests/examples/Unicode2.hs" 3 13 3 14+ , SrcSpan "tests/examples/Unicode2.hs" 3 14 3 15+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 13 3 14+ , srcInfoPoints = []+ }+ "\8860")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 16 3 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unicode2.hs" 3 16 3 17 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 18 3 23+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 18 3 19+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 18 3 19+ , srcInfoPoints = []+ }+ 0+ "0"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 20 3 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 20 3 21+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 20 3 21+ , srcInfoPoints = []+ }+ "\8860")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 22 3 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 22 3 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode2.hs" 3 22 3 23+ , srcInfoPoints = []+ }+ "n")))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/Unicode2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Unicode2.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE UnicodeSyntax #-}+lengthOP n () = 0 n
+ tests/examples/UnicodeArrow.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE UnicodeSyntax #-}++arrowTest ∷ String → String+arrowTest input =+ case input of+ "hello" → "world"+ "world" → "hello"+ otherwise → "unknow"
+ tests/examples/UnicodeArrow.hs.exactprinter.golden view
@@ -0,0 +1,9 @@+{-# LANGUAGE UnicodeSyntax #-}++arrowTest ::String -> String+arrowTest input =+ case input of+ "hello" ->"world"+ "world" ->"hello"+ otherwise ->"unknow"+
+ tests/examples/UnicodeArrow.hs.parser.golden view
@@ -0,0 +1,271 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeArrow.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeArrow.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeArrow.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeArrow.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeArrow.hs" 4 1 4 1+ , SrcSpan "tests/examples/UnicodeArrow.hs" 9 1 9 1+ , SrcSpan "tests/examples/UnicodeArrow.hs" 9 1 9 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeArrow.hs" 1 1 1 13+ , SrcSpan "tests/examples/UnicodeArrow.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "UnicodeSyntax"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 3 1 3 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeArrow.hs" 3 11 3 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 3 1 3 10+ , srcInfoPoints = []+ }+ "arrowTest"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 3 13 3 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeArrow.hs" 3 20 3 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 3 13 3 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 3 13 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 3 13 3 19+ , srcInfoPoints = []+ }+ "String")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 3 24 3 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 3 24 3 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 3 24 3 30+ , srcInfoPoints = []+ }+ "String"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 4 1 8 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 4 1 8 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 4 1 4 10+ , srcInfoPoints = []+ }+ "arrowTest")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 4 11 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 4 11 4 16+ , srcInfoPoints = []+ }+ "input")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 4 17 8 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeArrow.hs" 4 17 4 18 ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 5 5 8 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeArrow.hs" 5 5 5 9+ , SrcSpan "tests/examples/UnicodeArrow.hs" 5 16 5 18+ , SrcSpan "tests/examples/UnicodeArrow.hs" 6 7 6 7+ , SrcSpan "tests/examples/UnicodeArrow.hs" 7 7 7 7+ , SrcSpan "tests/examples/UnicodeArrow.hs" 8 7 8 7+ , SrcSpan "tests/examples/UnicodeArrow.hs" 9 1 9 0+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 5 10 5 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 5 10 5 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 5 10 5 15+ , srcInfoPoints = []+ }+ "input")))+ [ Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 6 7 6 24+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 6 7 6 14+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 6 7 6 14+ , srcInfoPoints = []+ })+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 6 7 6 14+ , srcInfoPoints = []+ }+ "hello"+ "hello"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 6 15 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeArrow.hs" 6 15 6 16 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 6 17 6 24+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeArrow.hs" 6 17 6 24+ , srcInfoPoints = []+ }+ "world"+ "world")))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 7 7 7 24+ , srcInfoPoints = []+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 7 7 7 14+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 7 7 7 14+ , srcInfoPoints = []+ })+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 7 7 7 14+ , srcInfoPoints = []+ }+ "world"+ "world"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 7 15 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeArrow.hs" 7 15 7 16 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 7 17 7 24+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeArrow.hs" 7 17 7 24+ , srcInfoPoints = []+ }+ "hello"+ "hello")))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 8 7 8 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 8 7 8 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 8 7 8 16+ , srcInfoPoints = []+ }+ "otherwise"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 8 17 8 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeArrow.hs" 8 17 8 18 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeArrow.hs" 8 19 8 27+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeArrow.hs" 8 19 8 27+ , srcInfoPoints = []+ }+ "unknow"+ "unknow")))+ Nothing+ ]))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/UnicodeArrow.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeArrow.hs.prettyprinter.golden view
@@ -0,0 +1,8 @@+{-# LANGUAGE UnicodeSyntax #-}++arrowTest :: String -> String+arrowTest input+ = case input of+ "hello" -> "world"+ "world" -> "hello"+ otherwise -> "unknow"
+ tests/examples/UnicodeIdents.hs view
@@ -0,0 +1,2 @@+猫 = ()+自乗 x = x * x
+ tests/examples/UnicodeIdents.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeIdents.hs.parser.golden view
@@ -0,0 +1,155 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 3 1 3 1+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 7+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 2+ , srcInfoPoints = []+ }+ "\29483"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 3 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 3 1 4 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+ ]+ }))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 13+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 3+ , srcInfoPoints = []+ }+ "\33258\20055")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 4 2 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 4 2 5+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 6 2 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 2 6 2 7 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ "*")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/UnicodeIdents.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeIdents.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@++ = ()+êW x = x * x
+ tests/examples/UnicodeRelation.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE UnicodeSyntax #-}++import Prelude.Unicode++testAnd ∷ Int → Int → Bool+testAnd a b =+ let b₁ = a ≤ 3+ b₂ = b ≥ 5+ in b₁ ∧ b₂++testOr ∷ Int → Int → Int → Int → Int → Bool+testOr a b c d e =+ let b₁ = a ≤ 3+ b₂ = b ≢ 5+ b₃ = c ≮ 5+ b₄ = d ≯ 6+ b₅ = e ∈ [1,2,3,4]+ b₆ = e ∉ [5,6,7,8]+ in b₁ ∨ b₂ ∨ b₃ ∨ b₄ ∨ b₅ ∨ b₆
+ tests/examples/UnicodeRelation.hs.exactprinter.golden view
@@ -0,0 +1,20 @@+{-# LANGUAGE UnicodeSyntax #-}++import Prelude.Unicode++testAnd ::Int ->Int ->Bool+testAnd a b =+ let b = a d 3+ b = b e 5+ in b ' b++testOr ::Int ->Int ->Int ->Int ->Int ->Bool+testOr a b c d e =+ let b = a d 3+ b = b b 5+ b = c n 5+ b = d o 6+ b = e [1,2,3,4]+ b = e [5,6,7,8]+ in b ( b ( b ( b ( b ( b+
+ tests/examples/UnicodeRelation.hs.parser.golden view
@@ -0,0 +1,1637 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 1 1 20 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeRelation.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeRelation.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeRelation.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeRelation.hs" 5 1 5 1+ , SrcSpan "tests/examples/UnicodeRelation.hs" 6 1 6 1+ , SrcSpan "tests/examples/UnicodeRelation.hs" 11 1 11 1+ , SrcSpan "tests/examples/UnicodeRelation.hs" 12 1 12 1+ , SrcSpan "tests/examples/UnicodeRelation.hs" 20 1 20 1+ , SrcSpan "tests/examples/UnicodeRelation.hs" 20 1 20 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 1 1 1 13+ , SrcSpan "tests/examples/UnicodeRelation.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "UnicodeSyntax"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 3 1 3 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 3 1 3 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 3 8 3 23+ , srcInfoPoints = []+ }+ "Prelude.Unicode"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 1 5 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 5 9 5 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeRelation.hs" 5 1 5 8+ , srcInfoPoints = []+ }+ "testAnd"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 11 5 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 5 15 5 16 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 11 5 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 11 5 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 11 5 14+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 17 5 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 5 21 5 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 23 5 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 23 5 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 5 23 5 27+ , srcInfoPoints = []+ }+ "Bool")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 6 1 9 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 6 1 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeRelation.hs" 6 1 6 8+ , srcInfoPoints = []+ }+ "testAnd")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 6 13 9 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 6 13 6 14 ]+ }+ (Let+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 5 9 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 7 5 7 8+ , SrcSpan "tests/examples/UnicodeRelation.hs" 9 5 9 7+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 9 8 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 7 9 7 9+ , SrcSpan "tests/examples/UnicodeRelation.hs" 8 9 8 9+ , SrcSpan "tests/examples/UnicodeRelation.hs" 9 5 9 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 9 7 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 9 7 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 9 7 11+ , srcInfoPoints = []+ }+ "b\8321"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 12 7 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 7 12 7 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 14 7 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 7 16 7 17+ , srcInfoPoints = []+ }+ "\8804")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 18 7 19+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 7 18 7 19+ , srcInfoPoints = []+ }+ 3+ "3"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 9 8 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 9 8 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 9 8 11+ , srcInfoPoints = []+ }+ "b\8322"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 12 8 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 8 12 8 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ "b")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ "\8805")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 18 8 19+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 8 18 8 19+ , srcInfoPoints = []+ }+ 5+ "5"))))+ Nothing+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 9 8 9 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 9 8 9 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 9 8 9 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 9 8 9 10+ , srcInfoPoints = []+ }+ "b\8321")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 9 11 9 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 9 11 9 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 9 11 9 12+ , srcInfoPoints = []+ }+ "\8743")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 9 13 9 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 9 13 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 9 13 9 15+ , srcInfoPoints = []+ }+ "b\8322"))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 1 11 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 11 8 11 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 1 11 7+ , srcInfoPoints = []+ }+ "testOr"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 10 11 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 11 14 11 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 10 11 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 10 11 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 10 11 13+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 16 11 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 11 20 11 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 16 11 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 16 11 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 16 11 19+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 22 11 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 11 26 11 27 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 22 11 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 22 11 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 22 11 25+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 28 11 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 11 32 11 33 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 28 11 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 28 11 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 28 11 31+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 34 11 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 11 38 11 39 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 34 11 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 34 11 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 34 11 37+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 40 11 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 40 11 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 11 40 11 44+ , srcInfoPoints = []+ }+ "Bool"))))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 1 19 35+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 1 19 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 1 12 7+ , srcInfoPoints = []+ }+ "testOr")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 8 12 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 8 12 9+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ "b")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 12 12 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 12 12 13+ , srcInfoPoints = []+ }+ "c")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 14 12 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 14 12 15+ , srcInfoPoints = []+ }+ "d")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 16 12 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 16 12 17+ , srcInfoPoints = []+ }+ "e")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 12 18 19 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 12 18 12 19 ]+ }+ (Let+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 5 19 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 13 5 13 8+ , SrcSpan "tests/examples/UnicodeRelation.hs" 19 5 19 7+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 9 18 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 13 9 13 9+ , SrcSpan "tests/examples/UnicodeRelation.hs" 14 9 14 9+ , SrcSpan "tests/examples/UnicodeRelation.hs" 15 9 15 9+ , SrcSpan "tests/examples/UnicodeRelation.hs" 16 9 16 9+ , SrcSpan "tests/examples/UnicodeRelation.hs" 17 9 17 9+ , SrcSpan "tests/examples/UnicodeRelation.hs" 18 9 18 9+ , SrcSpan "tests/examples/UnicodeRelation.hs" 19 5 19 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 9 13 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 9 13 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 9 13 11+ , srcInfoPoints = []+ }+ "b\8321"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 12 13 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 13 12 13 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 14 13 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ "\8804")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 18 13 19+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 13 18 13 19+ , srcInfoPoints = []+ }+ 3+ "3"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 9 14 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 9 14 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 9 14 11+ , srcInfoPoints = []+ }+ "b\8322"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 12 14 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 14 12 14 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 14 14 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 14 14 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 14 14 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 14 14 14 15+ , srcInfoPoints = []+ }+ "b")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 16 14 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 16 14 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 14 16 14 17+ , srcInfoPoints = []+ }+ "\8802")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 18 14 19+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 14 18 14 19+ , srcInfoPoints = []+ }+ 5+ "5"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 9 15 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 9 15 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 9 15 11+ , srcInfoPoints = []+ }+ "b\8323"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 12 15 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 15 12 15 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 14 15 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 14 15 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 14 15 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 15 14 15 15+ , srcInfoPoints = []+ }+ "c")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 16 15 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 16 15 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 15 16 15 17+ , srcInfoPoints = []+ }+ "\8814")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 18 15 19+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 15 18 15 19+ , srcInfoPoints = []+ }+ 5+ "5"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 9 16 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 9 16 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 9 16 11+ , srcInfoPoints = []+ }+ "b\8324"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 12 16 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 16 12 16 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 14 16 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ "d")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 16 16 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 16 16 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 16 16 16 17+ , srcInfoPoints = []+ }+ "\8815")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 18 16 19+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 16 18 16 19+ , srcInfoPoints = []+ }+ 6+ "6"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 17 9 17 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 17 9 17 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 17 9 17 11+ , srcInfoPoints = []+ }+ "b\8325"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 17 12 17 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 17 12 17 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 17 14 17 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 17 14 17 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 17 14 17 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 17 14 17 15+ , srcInfoPoints = []+ }+ "e")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 17 16 17 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 17 16 17 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 17 16 17 17+ , srcInfoPoints = []+ }+ "\8712")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 17 18 17 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 17 18 17 19+ , SrcSpan "tests/examples/UnicodeRelation.hs" 17 20 17 21+ , SrcSpan "tests/examples/UnicodeRelation.hs" 17 22 17 23+ , SrcSpan "tests/examples/UnicodeRelation.hs" 17 24 17 25+ , SrcSpan "tests/examples/UnicodeRelation.hs" 17 26 17 27+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 17 19 17 20+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 17 19 17 20+ , srcInfoPoints = []+ }+ 1+ "1")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 17 21 17 22+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 17 21 17 22+ , srcInfoPoints = []+ }+ 2+ "2")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 17 23 17 24+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 17 23 17 24+ , srcInfoPoints = []+ }+ 3+ "3")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 17 25 17 26+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 17 25 17 26+ , srcInfoPoints = []+ }+ 4+ "4")+ ])))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 18 9 18 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 18 9 18 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 18 9 18 11+ , srcInfoPoints = []+ }+ "b\8326"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 18 12 18 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 18 12 18 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 18 14 18 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 18 14 18 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 18 14 18 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 18 14 18 15+ , srcInfoPoints = []+ }+ "e")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 18 16 18 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 18 16 18 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 18 16 18 17+ , srcInfoPoints = []+ }+ "\8713")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 18 18 18 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeRelation.hs" 18 18 18 19+ , SrcSpan "tests/examples/UnicodeRelation.hs" 18 20 18 21+ , SrcSpan "tests/examples/UnicodeRelation.hs" 18 22 18 23+ , SrcSpan "tests/examples/UnicodeRelation.hs" 18 24 18 25+ , SrcSpan "tests/examples/UnicodeRelation.hs" 18 26 18 27+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 18 19 18 20+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 18 19 18 20+ , srcInfoPoints = []+ }+ 5+ "5")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 18 21 18 22+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 18 21 18 22+ , srcInfoPoints = []+ }+ 6+ "6")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 18 23 18 24+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 18 23 18 24+ , srcInfoPoints = []+ }+ 7+ "7")+ , Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 18 25 18 26+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 18 25 18 26+ , srcInfoPoints = []+ }+ 8+ "8")+ ])))+ Nothing+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 8 19 35+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 8 19 30+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 8 19 25+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 8 19 20+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 8 19 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 8 19 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 19 8 19 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 19 8 19 10+ , srcInfoPoints = []+ }+ "b\8321")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 11 19 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 19 11 19 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 19 11 19 12+ , srcInfoPoints = []+ }+ "\8744")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 13 19 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 19 13 19 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 19 13 19 15+ , srcInfoPoints = []+ }+ "b\8322"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 16 19 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 16 19 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 19 16 19 17+ , srcInfoPoints = []+ }+ "\8744")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 18 19 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 18 19 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeRelation.hs" 19 18 19 20+ , srcInfoPoints = []+ }+ "b\8323"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 21 19 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 21 19 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 21 19 22+ , srcInfoPoints = []+ }+ "\8744")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 23 19 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 23 19 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 23 19 25+ , srcInfoPoints = []+ }+ "b\8324"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 26 19 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 26 19 27+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 26 19 27+ , srcInfoPoints = []+ }+ "\8744")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 28 19 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 28 19 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 28 19 30+ , srcInfoPoints = []+ }+ "b\8325"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 31 19 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 31 19 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 31 19 32+ , srcInfoPoints = []+ }+ "\8744")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 33 19 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 33 19 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeRelation.hs" 19 33 19 35+ , srcInfoPoints = []+ }+ "b\8326"))))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/UnicodeRelation.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeRelation.hs.prettyprinter.golden view
@@ -0,0 +1,18 @@+{-# LANGUAGE UnicodeSyntax #-}+import Prelude.Unicode++testAnd :: Int -> Int -> Bool+testAnd a b+ = let b = a d 3+ b = b e 5+ in b ' b++testOr :: Int -> Int -> Int -> Int -> Int -> Bool+testOr a b c d e+ = let b = a d 3+ b = b b 5+ b = c n 5+ b = d o 6+ b = e [1, 2, 3, 4]+ b = e [5, 6, 7, 8]+ in b ( b ( b ( b ( b ( b
+ tests/examples/UnicodeSubscript.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE UnicodeSyntax #-}+module Main where++data Point = Point+ { pointX, pointY ∷ Double+ , name ∷ String+ } deriving (Show)++distance ∷ Point → Point → Double+distance x y =+ let t₁ = (pointX x - pointX y)^2+ t₂ = (pointY x - pointY y)^2+ in sqrt $ t₁ + t₂
+ tests/examples/UnicodeSubscript.hs.exactprinter.golden view
@@ -0,0 +1,14 @@+{-# LANGUAGE UnicodeSyntax #-}+module Main where++data Point = Point+ { pointX, pointY ::Double+ , name ::String+ } deriving (Show)++distance ::Point ->Point ->Double+distance x y =+ let t = (pointX x - pointX y)^2+ t = (pointY x - pointY y)^2+ in sqrt $ t + t+
+ tests/examples/UnicodeSubscript.hs.parser.golden view
@@ -0,0 +1,1036 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 1 1 14 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 2 1 2 1+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 2 1 2 1+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 4 1 4 1+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 9 1 9 1+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 10 1 10 1+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 14 1 14 1+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 14 1 14 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 2 1 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 2 1 2 7+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 2 13 2 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 2 8 2 12+ , srcInfoPoints = []+ }+ "Main")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 1 1 1 13+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "UnicodeSyntax"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 4 1 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 4 12 4 13 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 4 1 4 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 4 6 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 4 6 4 11+ , srcInfoPoints = []+ }+ "Point"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 4 14 7 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 5 5 5 6+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 6 5 6 6+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 7 5 7 6+ ]+ }+ Nothing+ Nothing+ (RecDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 4 14 7 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 5 5 5 6+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 6 5 6 6+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 7 5 7 6+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 4 14 4 19+ , srcInfoPoints = []+ }+ "Point")+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 5 7 5 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 5 13 5 14+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 5 22 5 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 5 7 5 13+ , srcInfoPoints = []+ }+ "pointX"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 5 15 5 21+ , srcInfoPoints = []+ }+ "pointY"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 5 24 5 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 5 24 5 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 5 24 5 30+ , srcInfoPoints = []+ }+ "Double")))+ , FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 6 7 6 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 6 22 6 23 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 6 7 6 11+ , srcInfoPoints = []+ }+ "name"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 6 24 6 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 6 24 6 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 6 24 6 30+ , srcInfoPoints = []+ }+ "String")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 7 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 7 7 15 ]+ }+ Nothing+ [ IParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 16 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 16 7 17+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 7 21 7 22+ ]+ }+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+ , srcInfoPoints = []+ }+ "Show"))))+ ]+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 1 9 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 10 9 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 1 9 9+ , srcInfoPoints = []+ }+ "distance"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 12 9 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 18 9 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 12 9 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 12 9 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 12 9 17+ , srcInfoPoints = []+ }+ "Point")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 20 9 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 26 9 27 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 20 9 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 20 9 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 20 9 25+ , srcInfoPoints = []+ }+ "Point")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 28 9 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 28 9 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 9 28 9 34+ , srcInfoPoints = []+ }+ "Double")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 10 1 13 22+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 10 1 13 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 10 1 10 9+ , srcInfoPoints = []+ }+ "distance")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 10 10 10 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 10 10 10 11+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 10 12 10 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 10 12 10 13+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 10 14 13 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 10 14 10 15 ]+ }+ (Let+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 5 13 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 5 11 8+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 13 5 13 7+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 9 12 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 9 11 9+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 12 9 12 9+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 13 5 13 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 9 11 37+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 9 11 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 9 11 11+ , srcInfoPoints = []+ }+ "t\8321"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 12 11 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 12 11 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 14 11 37+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 14 11 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 14 11 15+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 11 34 11 35+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 11 15 11 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 11 15 11 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 15+ 11+ 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 15+ 11+ 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 15+ 11+ 21+ , srcInfoPoints = []+ }+ "pointX")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 22+ 11+ 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 22+ 11+ 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 22+ 11+ 23+ , srcInfoPoints = []+ }+ "x"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 11 24 11 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 24+ 11+ 25+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 24+ 11+ 25+ , srcInfoPoints = []+ }+ "-")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 11 26 11 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 26+ 11+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 26+ 11+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 26+ 11+ 32+ , srcInfoPoints = []+ }+ "pointX")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 33+ 11+ 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 33+ 11+ 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 11+ 33+ 11+ 34+ , srcInfoPoints = []+ }+ "y"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 35 11 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 11 35 11 36+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 11 35 11 36+ , srcInfoPoints = []+ }+ "^")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 11 36 11 37+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 11 36 11 37+ , srcInfoPoints = []+ }+ 2+ "2"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 12 9 12 37+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 12 9 12 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 12 9 12 11+ , srcInfoPoints = []+ }+ "t\8322"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 12 12 12 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 12 12 12 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 12 14 12 37+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 12 14 12 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 12 14 12 15+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 12 34 12 35+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 12 15 12 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 12 15 12 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 15+ 12+ 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 15+ 12+ 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 15+ 12+ 21+ , srcInfoPoints = []+ }+ "pointY")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 22+ 12+ 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 22+ 12+ 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 22+ 12+ 23+ , srcInfoPoints = []+ }+ "x"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 12 24 12 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 24+ 12+ 25+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 24+ 12+ 25+ , srcInfoPoints = []+ }+ "-")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 12 26 12 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 26+ 12+ 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 26+ 12+ 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 26+ 12+ 32+ , srcInfoPoints = []+ }+ "pointY")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 33+ 12+ 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 33+ 12+ 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs"+ 12+ 33+ 12+ 34+ , srcInfoPoints = []+ }+ "y"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 12 35 12 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 12 35 12 36+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 12 35 12 36+ , srcInfoPoints = []+ }+ "^")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 12 36 12 37+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSubscript.hs" 12 36 12 37+ , srcInfoPoints = []+ }+ 2+ "2"))))+ Nothing+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 8 13 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 8 13 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 8 13 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 8 13 12+ , srcInfoPoints = []+ }+ "sqrt")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 13 13 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 13 13 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 13 13 14+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 15 13 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 15 13 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 15 13 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 15 13 17+ , srcInfoPoints = []+ }+ "t\8321")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 18 13 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 18 13 19+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 18 13 19+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 20 13 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 20 13 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 13 20 13 22+ , srcInfoPoints = []+ }+ "t\8322")))))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/UnicodeSubscript.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeSubscript.hs.prettyprinter.golden view
@@ -0,0 +1,11 @@+{-# LANGUAGE UnicodeSyntax #-}+module Main where++data Point = Point{pointX, pointY :: Double, name :: String}+ deriving (Show)++distance :: Point -> Point -> Double+distance x y+ = let t = (pointX x - pointX y) ^ 2+ t = (pointY x - pointY y) ^ 2+ in sqrt $ t + t
+ tests/examples/UnicodeSuperscript.hs view
@@ -0,0 +1,7 @@+{-# LANGUAGE UnicodeSyntax #-}++dumy ∷ Double → Double → Double+dumy a b =+ let a² = a ★ a+ b² = b ★ b+ in sqrt $ a² + b²
+ tests/examples/UnicodeSuperscript.hs.exactprinter.golden view
@@ -0,0 +1,8 @@+{-# LANGUAGE UnicodeSyntax #-}++dumy ::Double ->Double ->Double+dumy a b =+ let a² = a a+ b² = b b+ in sqrt $ a² + b²+
+ tests/examples/UnicodeSuperscript.hs.parser.golden view
@@ -0,0 +1,498 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSuperscript.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeSuperscript.hs" 4 1 4 1+ , SrcSpan "tests/examples/UnicodeSuperscript.hs" 8 1 8 1+ , SrcSpan "tests/examples/UnicodeSuperscript.hs" 8 1 8 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 1 1 1 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSuperscript.hs" 1 1 1 13+ , SrcSpan "tests/examples/UnicodeSuperscript.hs" 1 28 1 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "UnicodeSyntax"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 1 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 6 3 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 1 3 5+ , srcInfoPoints = []+ }+ "dumy"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 8 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 15 3 16 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ "Double")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 17 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 24 3 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 17 3 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 17 3 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 17 3 23+ , srcInfoPoints = []+ }+ "Double")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 26 3 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 26 3 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 3 26 3 32+ , srcInfoPoints = []+ }+ "Double")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 4 1 7 22+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 4 1 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 4 1 4 5+ , srcInfoPoints = []+ }+ "dumy")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 4 10 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSuperscript.hs" 4 10 4 11 ]+ }+ (Let+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 5 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 5 5 8+ , SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 5 7 7+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 9 6 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 9 5 9+ , SrcSpan "tests/examples/UnicodeSuperscript.hs" 6 9 6 9+ , SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 5 7 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 9 5 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 9 5 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 9 5 11+ , srcInfoPoints = []+ }+ "a\178"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 12 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 12 5 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 14 5 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 5 16 5 17+ , srcInfoPoints = []+ }+ "\9733")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 5 18 5 19+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 6 9 6 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 6 9 6 11+ , srcInfoPoints = []+ }+ "b\178"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 6 12 6 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSuperscript.hs" 6 12 6 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 6 14 6 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ "b")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ "\9733")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/UnicodeSuperscript.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ "b")))))+ Nothing+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 8 7 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 8 7 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 8 7 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 8 7 12+ , srcInfoPoints = []+ }+ "sqrt")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 15 7 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 15 7 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 15 7 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 15 7 17+ , srcInfoPoints = []+ }+ "a\178")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 18 7 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 18 7 19+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 18 7 19+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 20 7 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 20 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSuperscript.hs" 7 20 7 22+ , srcInfoPoints = []+ }+ "b\178")))))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/UnicodeSuperscript.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeSuperscript.hs.prettyprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE UnicodeSyntax #-}++dumy :: Double -> Double -> Double+dumy a b+ = let a² = a a+ b² = b b+ in sqrt $ a² + b²
tests/examples/UnicodeSyntax.hs.parser.golden view
@@ -1,1 +1,678 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 16, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 1, srcSpanEndLine = 14, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 16, srcSpanStartColumn = 1, srcSpanEndLine = 16, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 16, srcSpanStartColumn = 1, srcSpanEndLine = 16, srcSpanEndColumn = 1}]}) (Just (ModuleHead (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 27}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 7},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 2, srcSpanStartColumn = 22, srcSpanEndLine = 2, srcSpanEndColumn = 27}]}) (ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 21}, srcInfoPoints = []}) "UnicodeSyntax") Nothing Nothing)) [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 47}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 1, srcSpanStartColumn = 27, srcSpanEndLine = 1, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 1, srcSpanStartColumn = 44, srcSpanEndLine = 1, srcSpanEndColumn = 47}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 27}, srcInfoPoints = []}) "UnicodeSyntax",Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 1, srcSpanStartColumn = 29, srcSpanEndLine = 1, srcSpanEndColumn = 43}, srcInfoPoints = []}) "ExplicitForAll"]] [ImportDecl {importAnn = SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 7}]}, importModule = ModuleName (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 4, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 26}, srcInfoPoints = []}) "System.Environment", importQualified = False, importSrc = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 4, srcSpanStartColumn = 27, srcSpanEndLine = 4, srcSpanEndColumn = 36}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 4, srcSpanStartColumn = 27, srcSpanEndLine = 4, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 4, srcSpanStartColumn = 35, srcSpanEndLine = 4, srcSpanEndColumn = 36}]}) False [IVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 4, srcSpanStartColumn = 28, srcSpanEndLine = 4, srcSpanEndColumn = 35}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 4, srcSpanStartColumn = 28, srcSpanEndLine = 4, srcSpanEndColumn = 35}, srcInfoPoints = []}) "getArgs")])}] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 6, srcSpanEndLine = 6, srcSpanEndColumn = 7}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 1, srcSpanEndLine = 6, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main"] (TyApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 8, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = []}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 8, srcSpanEndLine = 6, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 8, srcSpanEndLine = 6, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 8, srcSpanEndLine = 6, srcSpanEndColumn = 10}, srcInfoPoints = []}) "IO"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13}]}) (Special (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13}]}) (UnitCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 13}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 11, srcSpanEndLine = 6, srcSpanEndColumn = 12},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 6, srcSpanStartColumn = 12, srcSpanEndLine = 6, srcSpanEndColumn = 13}]}))))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 0}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 7, srcSpanStartColumn = 1, srcSpanEndLine = 7, srcSpanEndColumn = 5}, srcInfoPoints = []}) "main")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 7, srcSpanStartColumn = 6, srcSpanEndLine = 11, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 7, srcSpanStartColumn = 6, srcSpanEndLine = 7, srcSpanEndColumn = 7}]}) (Do (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 7, srcSpanStartColumn = 8, srcSpanEndLine = 11, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 7, srcSpanStartColumn = 8, srcSpanEndLine = 7, srcSpanEndColumn = 10},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 3},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 0}]}) [Generator (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 8, srcSpanStartColumn = 6, srcSpanEndLine = 8, srcSpanEndColumn = 7}]}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 5}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 8, srcSpanStartColumn = 3, srcSpanEndLine = 8, srcSpanEndColumn = 5}, srcInfoPoints = []}) "as")) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 8, srcSpanStartColumn = 8, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 8, srcSpanStartColumn = 8, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 8, srcSpanStartColumn = 8, srcSpanEndLine = 8, srcSpanEndColumn = 15}, srcInfoPoints = []}) "getArgs"))),Qualifier (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 17}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 8}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 8}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 3, srcSpanEndLine = 9, srcSpanEndColumn = 8}, srcInfoPoints = []}) "print"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 9, srcSpanEndLine = 9, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 9, srcSpanEndLine = 9, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 9, srcSpanEndLine = 9, srcSpanEndColumn = 10}, srcInfoPoints = []}) "$"))) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 11, srcSpanEndLine = 9, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 11, srcSpanEndLine = 9, srcSpanEndColumn = 15}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 11, srcSpanEndLine = 9, srcSpanEndColumn = 15}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 11, srcSpanEndLine = 9, srcSpanEndColumn = 15}, srcInfoPoints = []}) "test"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 16, srcSpanEndLine = 9, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 9, srcSpanStartColumn = 16, srcSpanEndLine = 9, srcSpanEndColumn = 17}, srcInfoPoints = []}) 0 "0"))))])) Nothing,TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 6, srcSpanEndLine = 11, srcSpanEndColumn = 7}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 1, srcSpanEndLine = 11, srcSpanEndColumn = 5}, srcInfoPoints = []}) "test"] (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 8, srcSpanEndLine = 11, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 12, srcSpanEndLine = 11, srcSpanEndColumn = 13}]}) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 8, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 8, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 8, srcSpanEndLine = 11, srcSpanEndColumn = 11}, srcInfoPoints = []}) "Int"))) (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 14, srcSpanEndLine = 11, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 14, srcSpanEndLine = 11, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 11, srcSpanStartColumn = 14, srcSpanEndLine = 11, srcSpanEndColumn = 18}, srcInfoPoints = []}) "Bool")))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 20}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 1, srcSpanEndLine = 12, srcSpanEndColumn = 5}, srcInfoPoints = []}) "test") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 6, srcSpanEndLine = 12, srcSpanEndColumn = 7}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 6, srcSpanEndLine = 12, srcSpanEndColumn = 7}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 8, srcSpanEndLine = 12, srcSpanEndColumn = 20}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 8, srcSpanEndLine = 12, srcSpanEndColumn = 9}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 10, srcSpanEndLine = 12, srcSpanEndColumn = 20}, srcInfoPoints = []}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 10, srcSpanEndLine = 12, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 10, srcSpanEndLine = 12, srcSpanEndColumn = 11}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 10, srcSpanEndLine = 12, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 10, srcSpanEndLine = 12, srcSpanEndColumn = 11}, srcInfoPoints = []}) "x"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 12}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 12}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 11, srcSpanEndLine = 12, srcSpanEndColumn = 12}, srcInfoPoints = []}) "*"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 12, srcSpanEndLine = 12, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 12, srcSpanEndLine = 12, srcSpanEndColumn = 13}, srcInfoPoints = []}) 5 "5"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 14, srcSpanEndLine = 12, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 14, srcSpanEndLine = 12, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 14, srcSpanEndLine = 12, srcSpanEndColumn = 16}, srcInfoPoints = []}) "=="))) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 17, srcSpanEndLine = 12, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 17, srcSpanEndLine = 12, srcSpanEndColumn = 18}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 17, srcSpanEndLine = 12, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 17, srcSpanEndLine = 12, srcSpanEndColumn = 18}, srcInfoPoints = []}) "x"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 18, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 18, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) (Symbol (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 18, srcSpanEndLine = 12, srcSpanEndColumn = 19}, srcInfoPoints = []}) "+"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 19, srcSpanEndLine = 12, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 12, srcSpanStartColumn = 19, srcSpanEndLine = 12, srcSpanEndColumn = 20}, srcInfoPoints = []}) 8 "8"))))) Nothing],TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 1, srcSpanEndLine = 14, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 5, srcSpanEndLine = 14, srcSpanEndColumn = 6}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 1, srcSpanEndLine = 14, srcSpanEndColumn = 4}, srcInfoPoints = []}) "id1"] (TyForall (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 7, srcSpanEndLine = 14, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 7, srcSpanEndLine = 14, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 11, srcSpanEndLine = 14, srcSpanEndColumn = 12}]}) (Just [UnkindedVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 9, srcSpanEndLine = 14, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 9, srcSpanEndLine = 14, srcSpanEndColumn = 10}, srcInfoPoints = []}) "a")]) Nothing (TyFun (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 13, srcSpanEndLine = 14, srcSpanEndColumn = 18}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 15, srcSpanEndLine = 14, srcSpanEndColumn = 16}]}) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 13, srcSpanEndLine = 14, srcSpanEndColumn = 14}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 13, srcSpanEndLine = 14, srcSpanEndColumn = 14}, srcInfoPoints = []}) "a")) (TyVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 17, srcSpanEndLine = 14, srcSpanEndColumn = 18}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 14, srcSpanStartColumn = 17, srcSpanEndLine = 14, srcSpanEndColumn = 18}, srcInfoPoints = []}) "a")))),FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 1, srcSpanEndLine = 15, srcSpanEndColumn = 4}, srcInfoPoints = []}) "id1") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 5, srcSpanEndLine = 15, srcSpanEndColumn = 6}, srcInfoPoints = []}) "x")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 7, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 7, srcSpanEndLine = 15, srcSpanEndColumn = 8}]}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 9, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 9, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnicodeSyntax.hs", srcSpanStartLine = 15, srcSpanStartColumn = 9, srcSpanEndLine = 15, srcSpanEndColumn = 10}, srcInfoPoints = []}) "x")))) Nothing]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 1 1 16 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 2 1 2 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 2 1 2 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 4 1 4 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 6 1 6 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 7 1 7 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 11 1 11 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 12 1 12 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 14 1 14 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 15 1 15 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 16 1 16 1+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 16 1 16 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 2 1 2 7+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "UnicodeSyntax")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 1 1 1 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 1 1 1 13+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 1 27 1 28+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 1 44 1 47+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "UnicodeSyntax"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 1 29 1 43+ , srcInfoPoints = []+ }+ "ExplicitForAll"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 4 1 4 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 4 1 4 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 4 8 4 26+ , srcInfoPoints = []+ }+ "System.Environment"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 4 27 4 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 4 27 4 28+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 4 35 4 36+ ]+ }+ False+ [ IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 4 28 4 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 4 28 4 35+ , srcInfoPoints = []+ }+ "getArgs")+ ])+ }+ ]+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 6 1 6 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 6 6 6 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "main"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 6 8 6 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 6 8 6 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 6 8 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 6 8 6 10+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 6 11 6 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 6 11 6 12+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 6 12 6 13+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 6 11 6 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 6 11 6 12+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 6 12 6 13+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 6 11 6 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 6 11 6 12+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 6 12 6 13+ ]+ }))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 7 1 9 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 7 6 9 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 7 6 7 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 7 8 9 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 7 8 7 10+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 8 3 8 3+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 9 3 9 3+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 11 1 11 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 8 3 8 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 8 6 8 7 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 8 3 8 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 8 3 8 5+ , srcInfoPoints = []+ }+ "as"))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 8 8 8 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 8 8 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 8 8 8 15+ , srcInfoPoints = []+ }+ "getArgs")))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 3 9 17+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 3 9 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 3 9 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 3 9 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 3 9 8+ , srcInfoPoints = []+ }+ "print")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 9 9 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 9 9 10+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 9 9 10+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 11 9 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 11 9 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 9 11 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 9 11 9 15+ , srcInfoPoints = []+ }+ "test")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ 0+ "0"))))+ ]))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 11 1 11 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 11 6 11 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 11 1 11 5+ , srcInfoPoints = []+ }+ "test"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 11 8 11 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 11 12 11 13 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 11 8 11 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 11 8 11 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 11 8 11 11+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 11 14 11 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 11 14 11 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 11 14 11 18+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 1 12 20+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 1 12 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 12 1 12 5+ , srcInfoPoints = []+ }+ "test")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 12 6 12 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 12 6 12 7+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 8 12 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 8 12 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 10 12 20+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 10 12 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 11 12 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 11 12 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 11 12 12+ , srcInfoPoints = []+ }+ "*")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 12 12 13+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 12 12 13+ , srcInfoPoints = []+ }+ 5+ "5")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 14 12 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 14 12 16+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 14 12 16+ , srcInfoPoints = []+ }+ "==")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 17 12 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 17 12 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 17 12 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 17 12 18+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ "+")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 19 12 20+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 12 19 12 20+ , srcInfoPoints = []+ }+ 8+ "8")))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 1 14 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 5 14 6 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 14 1 14 4+ , srcInfoPoints = []+ }+ "id1"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 7 14 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 7 14 8+ , SrcSpan "tests/examples/UnicodeSyntax.hs" 14 11 14 12+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 13 14 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 15 14 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 13 14 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 13 14 14+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 17 14 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 14 17 14 18+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 15 1 15 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 15 1 15 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 15 1 15 4+ , srcInfoPoints = []+ }+ "id1")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 15 5 15 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeSyntax.hs" 15 5 15 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 15 7 15 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSyntax.hs" 15 7 15 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSyntax.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ ]+ , []+ )
tests/examples/UnicodeSyntax.hs.prettyprinter.golden view
@@ -1,14 +1,14 @@ {-# LANGUAGE UnicodeSyntax, ExplicitForAll #-} module UnicodeSyntax where import System.Environment (getArgs)- + main :: IO () main = do as <- getArgs print $ test 0- + test :: Int -> Bool test x = x * 5 == x + 8- + id1 :: forall a . a -> a id1 x = x
tests/examples/UnindentedPragmaClose.hs.parser.golden view
@@ -1,1 +1,114 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 5, srcSpanStartColumn = 1, srcSpanEndLine = 5, srcSpanEndColumn = 1}]}) Nothing [LanguagePragma (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 4}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 13},SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 2, srcSpanStartColumn = 1, srcSpanEndLine = 2, srcSpanEndColumn = 4}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 35}, srcInfoPoints = []}) "MultiParamTypeClasses"]] [] [TypeSig (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 3, srcSpanStartColumn = 3, srcSpanEndLine = 3, srcSpanEndColumn = 5}]}) [Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 3, srcSpanStartColumn = 1, srcSpanEndLine = 3, srcSpanEndColumn = 2}, srcInfoPoints = []}) "f"] (TyCon (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 3, srcSpanStartColumn = 6, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) "Int"))),PatBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 6}, srcInfoPoints = []}) (PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 2}, srcInfoPoints = []}) "f")) Nothing (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 6}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 4, srcSpanStartColumn = 3, srcSpanEndLine = 4, srcSpanEndColumn = 4}]}) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 6}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/UnindentedPragmaClose.hs", srcSpanStartLine = 4, srcSpanStartColumn = 5, srcSpanEndLine = 4, srcSpanEndColumn = 6}, srcInfoPoints = []}) 4 "4"))) Nothing],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnindentedPragmaClose.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnindentedPragmaClose.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnindentedPragmaClose.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnindentedPragmaClose.hs" 4 1 4 1+ , SrcSpan "tests/examples/UnindentedPragmaClose.hs" 5 1 5 1+ , SrcSpan "tests/examples/UnindentedPragmaClose.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 1 1 2 4+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 1 1 1 13+ , SrcSpan "tests/examples/UnindentedPragmaClose.hs" 2 1 2 1+ , SrcSpan "tests/examples/UnindentedPragmaClose.hs" 2 1 2 4+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 1 14 1 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 3 1 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 3 3 3 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ "Int")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 4 1 4 6+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 4 3 4 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 4 3 4 4 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnindentedPragmaClose.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ 4+ "4")))+ Nothing+ ]+ , []+ )
tests/examples/UnindentedPragmaClose.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE MultiParamTypeClasses #-}-module Main (main) where- + f :: Int f = 4
tests/examples/Unpack.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/Unpack.hs", srcLine = 4, srcColumn = 21}) "Parse error: {-# UNPACK"+Match
tests/examples/Unpack.hs.parser.golden view
@@ -1,1 +1,274 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/Unpack.hs", srcLine = 4, srcColumn = 21}) "Parse error: {-# UNPACK"+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unpack.hs" 1 1 1 1+ , SrcSpan "tests/examples/Unpack.hs" 3 1 3 1+ , SrcSpan "tests/examples/Unpack.hs" 3 1 3 1+ , SrcSpan "tests/examples/Unpack.hs" 3 1 3 1+ , SrcSpan "tests/examples/Unpack.hs" 6 1 6 1+ , SrcSpan "tests/examples/Unpack.hs" 7 1 7 1+ , SrcSpan "tests/examples/Unpack.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unpack.hs" 1 1 1 13+ , SrcSpan "tests/examples/Unpack.hs" 1 20 1 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 1 14 1 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 3 1 6 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unpack.hs" 3 18 3 23+ , SrcSpan "tests/examples/Unpack.hs" 4 9 4 9+ , SrcSpan "tests/examples/Unpack.hs" 6 1 6 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 3 6 3 17+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 3 6 3 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 3 6 3 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 3 6 3 13+ , srcInfoPoints = []+ }+ "CmmNode"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ "e")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 3 16 3 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 3 16 3 17+ , srcInfoPoints = []+ }+ "x")))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 9 4 55+ , srcInfoPoints = [ SrcSpan "tests/examples/Unpack.hs" 4 18 4 20 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 9 4 17+ , srcInfoPoints = []+ }+ "CmmEntry")+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 55+ , srcInfoPoints = [ SrcSpan "tests/examples/Unpack.hs" 4 41 4 43 ]+ }+ (TyBang+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 40+ , srcInfoPoints = []+ }+ (BangedTy+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 36 4 37+ , srcInfoPoints = []+ })+ (Unpack+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unpack.hs" 4 21 4 31+ , SrcSpan "tests/examples/Unpack.hs" 4 32 4 35+ ]+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 37 4 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 37 4 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 37 4 40+ , srcInfoPoints = []+ }+ "Int"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 44 4 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 44 4 53+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 44 4 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 44 4 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 44 4 51+ , srcInfoPoints = []+ }+ "CmmNode")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 52 4 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 52 4 53+ , srcInfoPoints = []+ }+ "e")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 54 4 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 54 4 55+ , srcInfoPoints = []+ }+ "x"))))+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 1 6 33+ , srcInfoPoints = [ SrcSpan "tests/examples/Unpack.hs" 6 9 6 10 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 1 6 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 6 6 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 6 6 8+ , srcInfoPoints = []+ }+ "UI"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 11 6 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 11 6 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 11 6 13+ , srcInfoPoints = []+ }+ "UI")+ [ TyBang+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 33+ , srcInfoPoints = []+ }+ (BangedTy+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 29 6 30+ , srcInfoPoints = []+ })+ (Unpack+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Unpack.hs" 6 14 6 24+ , SrcSpan "tests/examples/Unpack.hs" 6 25 6 28+ ]+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 30 6 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 30 6 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 30 6 33+ , srcInfoPoints = []+ }+ "Int")))+ ])+ ]+ []+ ]+ , []+ )
tests/examples/Unpack.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/Unpack.hs", srcLine = 4, srcColumn = 21}) "Parse error: {-# UNPACK"+Match
tests/examples/Unpack.hs.prettyprinter.golden view
@@ -1,1 +1,6 @@-ParseFailed (SrcLoc {srcFilename = "tests/examples/Unpack.hs", srcLine = 4, srcColumn = 21}) "Parse error: {-# UNPACK"+{-# LANGUAGE GADTs #-}++data CmmNode e x where+ CmmEntry :: {-# UNPACK #-} !Int -> CmmNode e x++data UI = UI {-# UNPACK #-} !Int
+ tests/examples/ViewPatterns.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE ViewPatterns #-}+f (id -> Just _) "" = ""++g (id -> True) = False+
+ tests/examples/ViewPatterns.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ViewPatterns.hs.parser.golden view
@@ -0,0 +1,229 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ViewPatterns.hs" 1 1 1 1+ , SrcSpan "tests/examples/ViewPatterns.hs" 2 1 2 1+ , SrcSpan "tests/examples/ViewPatterns.hs" 2 1 2 1+ , SrcSpan "tests/examples/ViewPatterns.hs" 2 1 2 1+ , SrcSpan "tests/examples/ViewPatterns.hs" 4 1 4 1+ , SrcSpan "tests/examples/ViewPatterns.hs" 6 1 6 1+ , SrcSpan "tests/examples/ViewPatterns.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ViewPatterns.hs" 1 1 1 13+ , SrcSpan "tests/examples/ViewPatterns.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "ViewPatterns"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 1 2 25+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 1 2 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 3 2 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ViewPatterns.hs" 2 3 2 4+ , SrcSpan "tests/examples/ViewPatterns.hs" 2 16 2 17+ ]+ }+ (PViewPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 4 2 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ViewPatterns.hs" 2 7 2 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 4 2 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 4 2 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 4 2 6+ , srcInfoPoints = []+ }+ "id")))+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 10 2 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 10 2 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 10 2 14+ , srcInfoPoints = []+ }+ "Just"))+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ ]))+ , PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 18 2 20+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 18 2 20+ , srcInfoPoints = []+ })+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 18 2 20+ , srcInfoPoints = []+ }+ ""+ "")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 21 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ViewPatterns.hs" 2 21 2 22 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 23 2 25+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 2 23 2 25+ , srcInfoPoints = []+ }+ ""+ "")))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 1 4 23+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 1 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "g")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 3 4 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ViewPatterns.hs" 4 3 4 4+ , SrcSpan "tests/examples/ViewPatterns.hs" 4 14 4 15+ ]+ }+ (PViewPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 4 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ViewPatterns.hs" 4 7 4 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 4 4 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 4 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 4 4 6+ , srcInfoPoints = []+ }+ "id")))+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 10 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 10 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 10 4 14+ , srcInfoPoints = []+ }+ "True"))+ []))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 16 4 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ViewPatterns.hs" 4 16 4 17 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 18 4 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 18 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ViewPatterns.hs" 4 18 4 23+ , srcInfoPoints = []+ }+ "False"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/ViewPatterns.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ViewPatterns.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE ViewPatterns #-}+f (id -> Just _) "" = ""+g (id -> True) = False
+ tests/examples/Vta1.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE TypeApplications, ScopedTypeVariables, PolyKinds,+ TypeFamilies, RankNTypes,+ FlexibleContexts #-}+-- tests about visible type application++module Vta1 where++quad :: a -> b -> c -> d -> (a, b, c, d)+quad = (,,,)++silly = quad @_ @Bool @Char @_ 5 True 'a' "Hello"++pairup_nosig x y = (x, y)++pairup_sig :: a -> b -> (a,b)+pairup_sig u w = (u, w)++answer_sig = pairup_sig @Bool @Int False 7 --+-- (False, 7) :: (Bool, Int)++answer_read = show (read @Int "3") -- "3" :: String+answer_show = show @Integer (read "5") -- "5" :: String+answer_showread = show @Int (read @Int "7") -- "7" :: String++intcons a = (:) @Int a++intpair x y = pairup_sig @Int x y++answer_pairup = pairup_sig @Int 5 True -- (5, True) :: (Int, Bool)+answer_intpair = intpair 1 "hello" -- (1, "hello") :: (Int, String)+answer_intcons = intcons 7 [] -- [7] :: [Int]++type family F a+type instance F Char = Bool++g :: F a -> a+g _ = undefined++f :: Char+f = g True++answer = g @Char False++mapSame :: forall b. (forall a. a -> a) -> [b] -> [b]+mapSame _ [] = []+mapSame fun (x:xs) = fun @b x : (mapSame @b fun xs)++pair :: forall a. a-> (forall b. b -> (a, b))+pair x y = (x, y)++b = pair @Int 3 @Bool True+c = mapSame id [1,2,3]+d = pair 3 @Bool True++pairnum :: forall a. Num a => forall b. b -> (a, b)+pairnum = pair 3++e = (pair 3 :: forall a. Num a => forall b. b -> (a, b)) @Int @Bool True+h = pairnum @Int @Bool True++data First (a :: * -> *) = F+data Proxy (a :: k) = P -- This expands to P (kind variable) (type variable)+data Three (a :: * -> k -> *) = T++foo :: Proxy a -> Int+foo _ = 0++first :: First a -> Int+first _ = 0++fTest = first F+fMaybe = first @Maybe F++test = foo P+bar = foo @Bool P -- should work++too :: Three a -> Int+too _ = 3++threeBase = too T+threeOk = too @Either T++blah = Nothing @Int++newtype N = MkN { unMkN :: forall a. Show a => a -> String }++n = MkN show++boo = unMkN n @Bool++boo2 :: forall (a :: * -> *) . Proxy a -> Bool+boo2 _ = False++base = boo2 P+bar'= boo2 @Maybe P -- should work
+ tests/examples/Vta1.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta1.hs.parser.golden view
@@ -0,0 +1,5436 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 1 96 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 1 1 1 1+ , SrcSpan "tests/examples/Vta1.hs" 6 1 6 1+ , SrcSpan "tests/examples/Vta1.hs" 6 1 6 1+ , SrcSpan "tests/examples/Vta1.hs" 8 1 8 1+ , SrcSpan "tests/examples/Vta1.hs" 9 1 9 1+ , SrcSpan "tests/examples/Vta1.hs" 11 1 11 1+ , SrcSpan "tests/examples/Vta1.hs" 13 1 13 1+ , SrcSpan "tests/examples/Vta1.hs" 15 1 15 1+ , SrcSpan "tests/examples/Vta1.hs" 16 1 16 1+ , SrcSpan "tests/examples/Vta1.hs" 18 1 18 1+ , SrcSpan "tests/examples/Vta1.hs" 21 1 21 1+ , SrcSpan "tests/examples/Vta1.hs" 22 1 22 1+ , SrcSpan "tests/examples/Vta1.hs" 23 1 23 1+ , SrcSpan "tests/examples/Vta1.hs" 25 1 25 1+ , SrcSpan "tests/examples/Vta1.hs" 27 1 27 1+ , SrcSpan "tests/examples/Vta1.hs" 29 1 29 1+ , SrcSpan "tests/examples/Vta1.hs" 30 1 30 1+ , SrcSpan "tests/examples/Vta1.hs" 31 1 31 1+ , SrcSpan "tests/examples/Vta1.hs" 33 1 33 1+ , SrcSpan "tests/examples/Vta1.hs" 34 1 34 1+ , SrcSpan "tests/examples/Vta1.hs" 36 1 36 1+ , SrcSpan "tests/examples/Vta1.hs" 37 1 37 1+ , SrcSpan "tests/examples/Vta1.hs" 39 1 39 1+ , SrcSpan "tests/examples/Vta1.hs" 40 1 40 1+ , SrcSpan "tests/examples/Vta1.hs" 42 1 42 1+ , SrcSpan "tests/examples/Vta1.hs" 44 1 44 1+ , SrcSpan "tests/examples/Vta1.hs" 45 1 45 1+ , SrcSpan "tests/examples/Vta1.hs" 46 1 46 1+ , SrcSpan "tests/examples/Vta1.hs" 48 1 48 1+ , SrcSpan "tests/examples/Vta1.hs" 49 1 49 1+ , SrcSpan "tests/examples/Vta1.hs" 51 1 51 1+ , SrcSpan "tests/examples/Vta1.hs" 52 1 52 1+ , SrcSpan "tests/examples/Vta1.hs" 53 1 53 1+ , SrcSpan "tests/examples/Vta1.hs" 55 1 55 1+ , SrcSpan "tests/examples/Vta1.hs" 56 1 56 1+ , SrcSpan "tests/examples/Vta1.hs" 58 1 58 1+ , SrcSpan "tests/examples/Vta1.hs" 59 1 59 1+ , SrcSpan "tests/examples/Vta1.hs" 61 1 61 1+ , SrcSpan "tests/examples/Vta1.hs" 62 1 62 1+ , SrcSpan "tests/examples/Vta1.hs" 63 1 63 1+ , SrcSpan "tests/examples/Vta1.hs" 65 1 65 1+ , SrcSpan "tests/examples/Vta1.hs" 66 1 66 1+ , SrcSpan "tests/examples/Vta1.hs" 68 1 68 1+ , SrcSpan "tests/examples/Vta1.hs" 69 1 69 1+ , SrcSpan "tests/examples/Vta1.hs" 71 1 71 1+ , SrcSpan "tests/examples/Vta1.hs" 72 1 72 1+ , SrcSpan "tests/examples/Vta1.hs" 74 1 74 1+ , SrcSpan "tests/examples/Vta1.hs" 75 1 75 1+ , SrcSpan "tests/examples/Vta1.hs" 77 1 77 1+ , SrcSpan "tests/examples/Vta1.hs" 78 1 78 1+ , SrcSpan "tests/examples/Vta1.hs" 80 1 80 1+ , SrcSpan "tests/examples/Vta1.hs" 81 1 81 1+ , SrcSpan "tests/examples/Vta1.hs" 83 1 83 1+ , SrcSpan "tests/examples/Vta1.hs" 85 1 85 1+ , SrcSpan "tests/examples/Vta1.hs" 87 1 87 1+ , SrcSpan "tests/examples/Vta1.hs" 89 1 89 1+ , SrcSpan "tests/examples/Vta1.hs" 91 1 91 1+ , SrcSpan "tests/examples/Vta1.hs" 92 1 92 1+ , SrcSpan "tests/examples/Vta1.hs" 94 1 94 1+ , SrcSpan "tests/examples/Vta1.hs" 95 1 95 1+ , SrcSpan "tests/examples/Vta1.hs" 96 1 96 1+ , SrcSpan "tests/examples/Vta1.hs" 96 1 96 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 6 1 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 6 1 6 7+ , SrcSpan "tests/examples/Vta1.hs" 6 13 6 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 6 8 6 12+ , srcInfoPoints = []+ }+ "Vta1")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 1 3 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 1 1 1 13+ , SrcSpan "tests/examples/Vta1.hs" 1 30 1 31+ , SrcSpan "tests/examples/Vta1.hs" 1 51 1 52+ , SrcSpan "tests/examples/Vta1.hs" 1 62 1 63+ , SrcSpan "tests/examples/Vta1.hs" 2 26 2 27+ , SrcSpan "tests/examples/Vta1.hs" 2 38 2 39+ , SrcSpan "tests/examples/Vta1.hs" 3 31 3 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 32 1 51+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 53 1 62+ , srcInfoPoints = []+ }+ "PolyKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 2 14 2 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 2 28 2 38+ , srcInfoPoints = []+ }+ "RankNTypes"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 3 14 3 30+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 1 8 41+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 6 8 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 1 8 5+ , srcInfoPoints = []+ }+ "quad"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 41+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 11 8 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 41+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 16 8 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ "b"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 41+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 21 8 23 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ "c"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 41+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 26 8 28 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 25+ , srcInfoPoints = []+ }+ "d"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 29 8 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 8 29 8 30+ , SrcSpan "tests/examples/Vta1.hs" 8 31 8 32+ , SrcSpan "tests/examples/Vta1.hs" 8 34 8 35+ , SrcSpan "tests/examples/Vta1.hs" 8 37 8 38+ , SrcSpan "tests/examples/Vta1.hs" 8 40 8 41+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 30 8 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 30 8 31+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 33 8 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 33 8 34+ , srcInfoPoints = []+ }+ "b")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 36 8 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 36 8 37+ , srcInfoPoints = []+ }+ "c")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 39 8 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 39 8 40+ , srcInfoPoints = []+ }+ "d")+ ])))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 5+ , srcInfoPoints = []+ }+ "quad"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 6 9 13+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 9 6 9 7 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9+ , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10+ , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11+ , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12+ , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9+ , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10+ , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11+ , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12+ , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9+ , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10+ , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11+ , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12+ , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13+ ]+ }+ Boxed+ 4))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 50+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 6+ , srcInfoPoints = []+ }+ "silly"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 7 11 50+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 11 7 11 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 42+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 38+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 33+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 22+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 9 11 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 9 11 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 9 11 13+ , srcInfoPoints = []+ }+ "quad")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 14 11 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 11 14 11 15 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 15 11 16+ , srcInfoPoints = []+ }+ Nothing)))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 17 11 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 11 17 11 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 18 11 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 18 11 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 18 11 22+ , srcInfoPoints = []+ }+ "Bool")))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 23 11 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 11 23 11 24 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 24 11 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 24 11 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 24 11 28+ , srcInfoPoints = []+ }+ "Char")))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 29 11 31+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 11 29 11 30 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 30 11 31+ , srcInfoPoints = []+ }+ Nothing)))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 32 11 33+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 32 11 33+ , srcInfoPoints = []+ }+ 5+ "5")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38+ , srcInfoPoints = []+ }+ "True"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 39 11 42+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 39 11 42+ , srcInfoPoints = []+ }+ 'a'+ "a")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 43 11 50+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 43 11 50+ , srcInfoPoints = []+ }+ "Hello"+ "Hello"))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 26+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 13+ , srcInfoPoints = []+ }+ "pairup_nosig")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 18 13 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 13 18 13 19 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 20 13 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 13 20 13 21+ , SrcSpan "tests/examples/Vta1.hs" 13 22 13 23+ , SrcSpan "tests/examples/Vta1.hs" 13 25 13 26+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22+ , srcInfoPoints = []+ }+ "x"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25+ , srcInfoPoints = []+ }+ "y"))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 1 15 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 12 15 14 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 1 15 11+ , srcInfoPoints = []+ }+ "pairup_sig"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 17 15 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 22 15 24 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 21+ , srcInfoPoints = []+ }+ "b"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 25 15 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 15 25 15 26+ , SrcSpan "tests/examples/Vta1.hs" 15 27 15 28+ , SrcSpan "tests/examples/Vta1.hs" 15 29 15 30+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 26 15 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 26 15 27+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 28 15 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 28 15 29+ , srcInfoPoints = []+ }+ "b")+ ])))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 24+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 11+ , srcInfoPoints = []+ }+ "pairup_sig")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 12 16 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 12 16 13+ , srcInfoPoints = []+ }+ "u")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ "w")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 16 16 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 16 16 16 17 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 18 16 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 16 18 16 19+ , SrcSpan "tests/examples/Vta1.hs" 16 20 16 21+ , SrcSpan "tests/examples/Vta1.hs" 16 23 16 24+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20+ , srcInfoPoints = []+ }+ "u"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23+ , srcInfoPoints = []+ }+ "w"))+ ]))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 43+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 11+ , srcInfoPoints = []+ }+ "answer_sig"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 12 18 43+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 12 18 13 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 43+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 41+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24+ , srcInfoPoints = []+ }+ "pairup_sig")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 25 18 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 25 18 26 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30+ , srcInfoPoints = []+ }+ "Bool")))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 31 18 35+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 31 18 32 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35+ , srcInfoPoints = []+ }+ "Int")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41+ , srcInfoPoints = []+ }+ "False"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 42 18 43+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 42 18 43+ , srcInfoPoints = []+ }+ 7+ "7"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 35+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 12+ , srcInfoPoints = []+ }+ "answer_read"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 13 21 35+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 21 13 21 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19+ , srcInfoPoints = []+ }+ "show")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 20 21 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 21 20 21 21+ , SrcSpan "tests/examples/Vta1.hs" 21 34 21 35+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25+ , srcInfoPoints = []+ }+ "read")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 26 21 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 21 26 21 27 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 31 21 34+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 31 21 34+ , srcInfoPoints = []+ }+ "3"+ "3"))))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 39+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 12+ , srcInfoPoints = []+ }+ "answer_show"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 13 22 39+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 22 13 22 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19+ , srcInfoPoints = []+ }+ "show")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 20 22 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 22 20 22 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28+ , srcInfoPoints = []+ }+ "Integer")))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 29 22 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 22 29 22 30+ , SrcSpan "tests/examples/Vta1.hs" 22 38 22 39+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34+ , srcInfoPoints = []+ }+ "read")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 35 22 38+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 35 22 38+ , srcInfoPoints = []+ }+ "5"+ "5"))))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 44+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 16+ , srcInfoPoints = []+ }+ "answer_showread"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 17 23 44+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 17 23 18 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 44+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23+ , srcInfoPoints = []+ }+ "show")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 24 23 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 24 23 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28+ , srcInfoPoints = []+ }+ "Int")))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 29 23 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 23 29 23 30+ , SrcSpan "tests/examples/Vta1.hs" 23 43 23 44+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 43+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34+ , srcInfoPoints = []+ }+ "read")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 35 23 39+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 35 23 36 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 40 23 43+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 40 23 43+ , srcInfoPoints = []+ }+ "7"+ "7"))))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 23+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 8+ , srcInfoPoints = []+ }+ "intcons")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 9 25 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 9 25 10+ , srcInfoPoints = []+ }+ "a")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 11 25 23+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 25 11 25 12 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 23+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 21+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 25 13 25 14+ , SrcSpan "tests/examples/Vta1.hs" 25 14 25 15+ , SrcSpan "tests/examples/Vta1.hs" 25 15 25 16+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 25 13 25 14+ , SrcSpan "tests/examples/Vta1.hs" 25 14 25 15+ , SrcSpan "tests/examples/Vta1.hs" 25 15 25 16+ ]+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 14 25 15+ , srcInfoPoints = []+ })))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 17 25 21+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 25 17 25 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21+ , srcInfoPoints = []+ }+ "Int")))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 34+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 8+ , srcInfoPoints = []+ }+ "intpair")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 9 27 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 9 27 10+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 11 27 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 11 27 12+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 13 27 34+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 27 13 27 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25+ , srcInfoPoints = []+ }+ "pairup_sig")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 26 27 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 27 26 27 27 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30+ , srcInfoPoints = []+ }+ "Int")))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32+ , srcInfoPoints = []+ }+ "x"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 39+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 14+ , srcInfoPoints = []+ }+ "answer_pairup"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 15 29 39+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 29 15 29 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27+ , srcInfoPoints = []+ }+ "pairup_sig")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 28 29 32+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 29 28 29 29 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 33 29 34+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 33 29 34+ , srcInfoPoints = []+ }+ 5+ "5")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 35+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 15+ , srcInfoPoints = []+ }+ "answer_intpair"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 16 30 35+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 30 16 30 17 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25+ , srcInfoPoints = []+ }+ "intpair")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 26 30 27+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 26 30 27+ , srcInfoPoints = []+ }+ 1+ "1")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 28 30 35+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 28 30 35+ , srcInfoPoints = []+ }+ "hello"+ "hello"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 30+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 15+ , srcInfoPoints = []+ }+ "answer_intcons"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 16 31 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 31 16 31 17 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 30+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25+ , srcInfoPoints = []+ }+ "intcons")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 26 31 27+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 26 31 27+ , srcInfoPoints = []+ }+ 7+ "7")))+ (List+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 28 31 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 31 28 31 29+ , SrcSpan "tests/examples/Vta1.hs" 31 29 31 30+ ]+ }+ [])))+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 1 33 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 33 1 33 5+ , SrcSpan "tests/examples/Vta1.hs" 33 6 33 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 14+ , srcInfoPoints = []+ }+ "F"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 15 33 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 15 33 16+ , srcInfoPoints = []+ }+ "a")))+ Nothing+ Nothing+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 1 34 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 34 1 34 5+ , SrcSpan "tests/examples/Vta1.hs" 34 6 34 14+ , SrcSpan "tests/examples/Vta1.hs" 34 22 34 23+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16+ , srcInfoPoints = []+ }+ "F")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 1 36 14+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 36 3 36 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 1 36 2+ , srcInfoPoints = []+ }+ "g"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 14+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 36 10 36 12 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 9+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ "F")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 8 36 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 8 36 9+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 13 36 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 13 36 14+ , srcInfoPoints = []+ }+ "a")))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 2+ , srcInfoPoints = []+ }+ "g")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 3 37 4+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 5 37 16+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 37 5 37 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 1 39 10+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 39 3 39 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 1 39 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10+ , srcInfoPoints = []+ }+ "Char")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 3 40 11+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 40 3 40 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 11+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6+ , srcInfoPoints = []+ }+ "g")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 7+ , srcInfoPoints = []+ }+ "answer"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 8 42 23+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 42 8 42 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 23+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ "g")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 12 42 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 42 12 42 13 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17+ , srcInfoPoints = []+ }+ "Char")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23+ , srcInfoPoints = []+ }+ "False")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 1 44 54+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 9 44 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 1 44 8+ , srcInfoPoints = []+ }+ "mapSame"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 12 44 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 44 12 44 18+ , SrcSpan "tests/examples/Vta1.hs" 44 20 44 21+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 19 44 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 19 44 20+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 22 44 54+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 41 44 43 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 22 44 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 44 22 44 23+ , SrcSpan "tests/examples/Vta1.hs" 44 39 44 40+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 23 44 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 44 23 44 29+ , SrcSpan "tests/examples/Vta1.hs" 44 31 44 32+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 30 44 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 30 44 31+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 39+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 35 44 37 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 34+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 38 44 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 38 44 39+ , srcInfoPoints = []+ }+ "a")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 44 44 54+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 48 44 50 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 44 44 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 44 44 44 45+ , SrcSpan "tests/examples/Vta1.hs" 44 46 44 47+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 45 44 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 45 44 46+ , srcInfoPoints = []+ }+ "b")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 51 44 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 44 51 44 52+ , SrcSpan "tests/examples/Vta1.hs" 44 53 44 54+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 52 44 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 52 44 53+ , srcInfoPoints = []+ }+ "b"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 46 52+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 45 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 45 8+ , srcInfoPoints = []+ }+ "mapSame")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 9 45 10+ , srcInfoPoints = []+ }+ , PList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 11 45 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 45 11 45 12+ , SrcSpan "tests/examples/Vta1.hs" 45 12 45 13+ ]+ }+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 14 45 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 45 14 45 15 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 16 45 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 45 16 45 17+ , SrcSpan "tests/examples/Vta1.hs" 45 17 45 18+ ]+ }+ []))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 1 46 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 1 46 8+ , srcInfoPoints = []+ }+ "mapSame")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 9 46 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 9 46 12+ , srcInfoPoints = []+ }+ "fun")+ , PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 13 46 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 46 13 46 14+ , SrcSpan "tests/examples/Vta1.hs" 46 18 46 19+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 15+ , srcInfoPoints = []+ }+ "x"))+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 15 46 16+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 15 46 16+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 16 46 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 16 46 18+ , srcInfoPoints = []+ }+ "xs")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 20 46 52+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 46 20 46 21 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 52+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 30+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25+ , srcInfoPoints = []+ }+ "fun")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 26 46 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 46 26 46 27 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 27 46 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 27 46 28+ , srcInfoPoints = []+ }+ "b"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30+ , srcInfoPoints = []+ }+ "x"))))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32+ , srcInfoPoints = []+ })))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 33 46 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 46 33 46 34+ , SrcSpan "tests/examples/Vta1.hs" 46 51 46 52+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 51+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 44+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 46 34 46 41+ , srcInfoPoints = []+ }+ "mapSame")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 42 46 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 46 42 46 43 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 43 46 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 46 43 46 44+ , srcInfoPoints = []+ }+ "b"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48+ , srcInfoPoints = []+ }+ "fun"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51+ , srcInfoPoints = []+ }+ "xs")))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 1 48 46+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 6 48 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 1 48 5+ , srcInfoPoints = []+ }+ "pair"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 9 48 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 48 9 48 15+ , SrcSpan "tests/examples/Vta1.hs" 48 17 48 18+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 16 48 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 16 48 17+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 46+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 20 48 22 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 20+ , srcInfoPoints = []+ }+ "a"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 23 48 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 48 23 48 24+ , SrcSpan "tests/examples/Vta1.hs" 48 45 48 46+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 24 48 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 48 24 48 30+ , SrcSpan "tests/examples/Vta1.hs" 48 32 48 33+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 31 48 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 31 48 32+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 45+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 36 48 38 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 35+ , srcInfoPoints = []+ }+ "b"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 39 48 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 48 39 48 40+ , SrcSpan "tests/examples/Vta1.hs" 48 41 48 42+ , SrcSpan "tests/examples/Vta1.hs" 48 44 48 45+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 40 48 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 40 48 41+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 43 48 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 43 48 44+ , srcInfoPoints = []+ }+ "b")+ ]))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 18+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 5+ , srcInfoPoints = []+ }+ "pair")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 6 49 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 6 49 7+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 8 49 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 8 49 9+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 10 49 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 49 10 49 11 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 12 49 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 49 12 49 13+ , SrcSpan "tests/examples/Vta1.hs" 49 14 49 15+ , SrcSpan "tests/examples/Vta1.hs" 49 17 49 18+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14+ , srcInfoPoints = []+ }+ "x"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17+ , srcInfoPoints = []+ }+ "y"))+ ]))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 2+ , srcInfoPoints = []+ }+ "b"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 3 51 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 3 51 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 22+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 16+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9+ , srcInfoPoints = []+ }+ "pair")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 10 51 14+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 10 51 11 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 15 51 16+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 15 51 16+ , srcInfoPoints = []+ }+ 3+ "3")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 17 51 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 17 51 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22+ , srcInfoPoints = []+ }+ "Bool")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 2+ , srcInfoPoints = []+ }+ "c"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 3 52 23+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 52 3 52 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 23+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12+ , srcInfoPoints = []+ }+ "mapSame")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15+ , srcInfoPoints = []+ }+ "id"))))+ (List+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 16 52 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 52 16 52 17+ , SrcSpan "tests/examples/Vta1.hs" 52 18 52 19+ , SrcSpan "tests/examples/Vta1.hs" 52 20 52 21+ , SrcSpan "tests/examples/Vta1.hs" 52 22 52 23+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 17 52 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 17 52 18+ , srcInfoPoints = []+ }+ 1+ "1")+ , Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 19 52 20+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 19 52 20+ , srcInfoPoints = []+ }+ 2+ "2")+ , Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 21 52 22+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 21 52 22+ , srcInfoPoints = []+ }+ 3+ "3")+ ])))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 2+ , srcInfoPoints = []+ }+ "d"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 3 53 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 53 3 53 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 22+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 17+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 11+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9+ , srcInfoPoints = []+ }+ "pair")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 10 53 11+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 10 53 11+ , srcInfoPoints = []+ }+ 3+ "3")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 12 53 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 53 12 53 13 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17+ , srcInfoPoints = []+ }+ "Bool")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 1 55 52+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 9 55 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 1 55 8+ , srcInfoPoints = []+ }+ "pairnum"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 12 55 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 55 12 55 18+ , SrcSpan "tests/examples/Vta1.hs" 55 20 55 21+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 19 55 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 19 55 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27+ , srcInfoPoints = []+ }+ "a"))))))+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 31 55 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 55 31 55 37+ , SrcSpan "tests/examples/Vta1.hs" 55 39 55 40+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 38 55 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 38 55 39+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 52+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 43 55 45 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 42+ , srcInfoPoints = []+ }+ "b"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 46 55 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 55 46 55 47+ , SrcSpan "tests/examples/Vta1.hs" 55 48 55 49+ , SrcSpan "tests/examples/Vta1.hs" 55 51 55 52+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 47 55 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 47 55 48+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 50 55 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 50 55 51+ , srcInfoPoints = []+ }+ "b")+ ]))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 8+ , srcInfoPoints = []+ }+ "pairnum"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 9 56 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 56 9 56 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15+ , srcInfoPoints = []+ }+ "pair")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 16 56 17+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 16 56 17+ , srcInfoPoints = []+ }+ 3+ "3"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 73+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 2+ , srcInfoPoints = []+ }+ "e"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 3 58 73+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 3 58 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 73+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 62+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 5 58 6+ , SrcSpan "tests/examples/Vta1.hs" 58 56 58 57+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 56+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 13 58 15 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 12+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 6 58 10+ , srcInfoPoints = []+ }+ "pair")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 11 58 12+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 11 58 12+ , srcInfoPoints = []+ }+ 3+ "3")))+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 16 58 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 16 58 22+ , SrcSpan "tests/examples/Vta1.hs" 58 24 58 25+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 23 58 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 23 58 24+ , srcInfoPoints = []+ }+ "a")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Vta1.hs" 58 26 58 29+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 30 58 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 30 58 31+ , srcInfoPoints = []+ }+ "a"))))))+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 35 58 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 35 58 41+ , SrcSpan "tests/examples/Vta1.hs" 58 43 58 44+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 42 58 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 42 58 43+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 45 58 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 47 58 49 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 45 58 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 45 58 46+ , srcInfoPoints = []+ }+ "b"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 50 58 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 50 58 51+ , SrcSpan "tests/examples/Vta1.hs" 58 52 58 53+ , SrcSpan "tests/examples/Vta1.hs" 58 55 58 56+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 51 58 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 51 58 52+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 54 58 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 54 58 55+ , srcInfoPoints = []+ }+ "b")+ ]))))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 58 58 62+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 58 58 59 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62+ , srcInfoPoints = []+ }+ "Int")))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 63 58 68+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 63 58 64 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68+ , srcInfoPoints = []+ }+ "Bool")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 2+ , srcInfoPoints = []+ }+ "h"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 3 59 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 3 59 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 23+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ "pairnum")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 13 59 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 13 59 14 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17+ , srcInfoPoints = []+ }+ "Int")))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 18 59 23+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 18 59 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23+ , srcInfoPoints = []+ }+ "Bool")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 1 61 29+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 61 26 61 27 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 1 61 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 25+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 11+ , srcInfoPoints = []+ }+ "First"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 12 61 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 61 12 61 13+ , SrcSpan "tests/examples/Vta1.hs" 61 15 61 17+ , SrcSpan "tests/examples/Vta1.hs" 61 24 61 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 13 61 14+ , srcInfoPoints = []+ }+ "a")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 18 61 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 61 20 61 22 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 18 61 19+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 23 61 24+ , srcInfoPoints = []+ }))))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29+ , srcInfoPoints = []+ }+ "F")+ [])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 1 62 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 62 21 62 22 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 1 62 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 11+ , srcInfoPoints = []+ }+ "Proxy"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 12 62 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 62 12 62 13+ , SrcSpan "tests/examples/Vta1.hs" 62 15 62 17+ , SrcSpan "tests/examples/Vta1.hs" 62 19 62 20+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 13 62 14+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 18 62 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 18 62 19+ , srcInfoPoints = []+ }+ "k"))))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24+ , srcInfoPoints = []+ }+ "P")+ [])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 1 63 34+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 31 63 32 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 1 63 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 30+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 11+ , srcInfoPoints = []+ }+ "Three"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 12 63 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 63 12 63 13+ , SrcSpan "tests/examples/Vta1.hs" 63 15 63 17+ , SrcSpan "tests/examples/Vta1.hs" 63 29 63 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 13 63 14+ , srcInfoPoints = []+ }+ "a")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 18 63 29+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 20 63 22 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 18 63 19+ , srcInfoPoints = []+ })+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 29+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 25 63 27 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 24+ , srcInfoPoints = []+ }+ "k"))+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 28 63 29+ , srcInfoPoints = []+ })))))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34+ , srcInfoPoints = []+ }+ "T")+ [])+ ]+ []+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 1 65 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 65 5 65 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 1 65 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 65 16 65 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 14 65 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 14 65 15+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 4+ , srcInfoPoints = []+ }+ "foo")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 5 66 6+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 7 66 10+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 66 7 66 8 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 9 66 10+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 9 66 10+ , srcInfoPoints = []+ }+ 0+ "0")))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 1 68 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 68 7 68 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 1 68 6+ , srcInfoPoints = []+ }+ "first"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 68 18 68 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15+ , srcInfoPoints = []+ }+ "First")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 16 68 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 16 68 17+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 12+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 6+ , srcInfoPoints = []+ }+ "first")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 7 69 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 9 69 12+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 69 9 69 10 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 11 69 12+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 11 69 12+ , srcInfoPoints = []+ }+ 0+ "0")))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 6+ , srcInfoPoints = []+ }+ "fTest"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 7 71 16+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 71 7 71 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14+ , srcInfoPoints = []+ }+ "first")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16+ , srcInfoPoints = []+ }+ "F")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 24+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 7+ , srcInfoPoints = []+ }+ "fMaybe"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 8 72 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 72 8 72 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 24+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15+ , srcInfoPoints = []+ }+ "first")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 16 72 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 72 16 72 17 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22+ , srcInfoPoints = []+ }+ "Maybe")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24+ , srcInfoPoints = []+ }+ "F")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 5+ , srcInfoPoints = []+ }+ "test"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 6 74 13+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 74 6 74 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11+ , srcInfoPoints = []+ }+ "foo")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13+ , srcInfoPoints = []+ }+ "P")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 4+ , srcInfoPoints = []+ }+ "bar"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 5 75 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 75 5 75 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 18+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10+ , srcInfoPoints = []+ }+ "foo")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 11 75 16+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 75 11 75 12 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16+ , srcInfoPoints = []+ }+ "Bool")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18+ , srcInfoPoints = []+ }+ "P")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 1 77 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 77 5 77 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 1 77 4+ , srcInfoPoints = []+ }+ "too"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 77 16 77 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13+ , srcInfoPoints = []+ }+ "Three")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 14 77 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 14 77 15+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 4+ , srcInfoPoints = []+ }+ "too")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 5 78 6+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 7 78 10+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 78 7 78 8 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 9 78 10+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 9 78 10+ , srcInfoPoints = []+ }+ 3+ "3")))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 10+ , srcInfoPoints = []+ }+ "threeBase"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 11 80 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 80 11 80 12 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16+ , srcInfoPoints = []+ }+ "too")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18+ , srcInfoPoints = []+ }+ "T")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 24+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 8+ , srcInfoPoints = []+ }+ "threeOk"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 9 81 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 81 9 81 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 24+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14+ , srcInfoPoints = []+ }+ "too")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 15 81 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 81 15 81 16 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22+ , srcInfoPoints = []+ }+ "Either")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24+ , srcInfoPoints = []+ }+ "T")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 5+ , srcInfoPoints = []+ }+ "blah"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 6 83 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 83 6 83 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 20+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15+ , srcInfoPoints = []+ }+ "Nothing")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 16 83 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 83 16 83 17 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20+ , srcInfoPoints = []+ }+ "Int"))))))+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 1 85 61+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 11 85 12 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 1 85 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 9 85 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 9 85 10+ , srcInfoPoints = []+ }+ "N"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 17 85 18+ , SrcSpan "tests/examples/Vta1.hs" 85 60 85 61+ ]+ }+ Nothing+ Nothing+ (RecDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 17 85 18+ , SrcSpan "tests/examples/Vta1.hs" 85 60 85 61+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 16+ , srcInfoPoints = []+ }+ "MkN")+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 19 85 59+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 25 85 27 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 19 85 24+ , srcInfoPoints = []+ }+ "unMkN"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 28 85 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 28 85 34+ , SrcSpan "tests/examples/Vta1.hs" 85 36 85 37+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 35 85 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 35 85 36+ , srcInfoPoints = []+ }+ "a")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 43 85 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 43 85 44+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 59+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 50 85 52 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 49+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59+ , srcInfoPoints = []+ }+ "String")))))+ ])+ ]+ []+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 2+ , srcInfoPoints = []+ }+ "n"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 3 87 13+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 87 3 87 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 13+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8+ , srcInfoPoints = []+ }+ "MkN")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13+ , srcInfoPoints = []+ }+ "show")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 4+ , srcInfoPoints = []+ }+ "boo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 5 89 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 89 5 89 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 20+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12+ , srcInfoPoints = []+ }+ "unMkN")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14+ , srcInfoPoints = []+ }+ "n"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 15 89 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 89 15 89 16 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20+ , srcInfoPoints = []+ }+ "Bool"))))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 1 91 47+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 6 91 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 1 91 5+ , srcInfoPoints = []+ }+ "boo2"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 9 91 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 91 9 91 15+ , SrcSpan "tests/examples/Vta1.hs" 91 30 91 31+ ]+ }+ (Just+ [ KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 16 91 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 91 16 91 17+ , SrcSpan "tests/examples/Vta1.hs" 91 19 91 21+ , SrcSpan "tests/examples/Vta1.hs" 91 28 91 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ "a")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 22 91 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 24 91 26 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 22 91 23+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 27 91 28+ , srcInfoPoints = []+ }))+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 47+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 40 91 42 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 38 91 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 38 91 39+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47+ , srcInfoPoints = []+ }+ "Bool")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 5+ , srcInfoPoints = []+ }+ "boo2")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 6 92 7+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 8 92 15+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 92 8 92 9 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15+ , srcInfoPoints = []+ }+ "False"))))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 5+ , srcInfoPoints = []+ }+ "base"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 6 94 14+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 94 6 94 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12+ , srcInfoPoints = []+ }+ "boo2")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14+ , srcInfoPoints = []+ }+ "P")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 5+ , srcInfoPoints = []+ }+ "bar'"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 5 95 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 95 5 95 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 20+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11+ , srcInfoPoints = []+ }+ "boo2")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 12 95 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 95 12 95 13 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18+ , srcInfoPoints = []+ }+ "Maybe")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20+ , srcInfoPoints = []+ }+ "P")))))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 4 1 4 40)+ " tests about visible type application"+ , Comment False (SrcSpan "tests/examples/Vta1.hs" 18 44 18 46) ""+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 19 1 19 29)+ " (False, 7) :: (Bool, Int)"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 21 36 21 52)+ " \"3\" :: String"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 22 40 22 56)+ " \"5\" :: String"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 23 45 23 61)+ " \"7\" :: String"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 29 40 29 67)+ " (5, True) :: (Int, Bool)"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 30 36 30 68)+ " (1, \"hello\") :: (Int, String)"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 31 36 31 51)+ " [7] :: [Int]"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 62 25 62 77)+ " This expands to P (kind variable) (type variable)"+ , Comment+ False (SrcSpan "tests/examples/Vta1.hs" 75 19 75 33) " should work"+ , Comment+ False (SrcSpan "tests/examples/Vta1.hs" 95 21 95 35) " should work"+ ]+ )
+ tests/examples/Vta1.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta1.hs.prettyprinter.golden view
@@ -0,0 +1,79 @@+{-# LANGUAGE TypeApplications, ScopedTypeVariables, PolyKinds,+ TypeFamilies, RankNTypes, FlexibleContexts #-}+module Vta1 where++quad :: a -> b -> c -> d -> (a, b, c, d)+quad = (,,,)+silly = quad @_ @Bool @Char @_ 5 True 'a' "Hello"+pairup_nosig x y = (x, y)++pairup_sig :: a -> b -> (a, b)+pairup_sig u w = (u, w)+answer_sig = pairup_sig @Bool @Int False 7+answer_read = show (read @Int "3")+answer_show = show @Integer (read "5")+answer_showread = show @Int (read @Int "7")+intcons a = (:) @Int a+intpair x y = pairup_sig @Int x y+answer_pairup = pairup_sig @Int 5 True+answer_intpair = intpair 1 "hello"+answer_intcons = intcons 7 []++type family F a++type instance F Char = Bool++g :: F a -> a+g _ = undefined++f :: Char+f = g True+answer = g @Char False++mapSame :: forall b . (forall a . a -> a) -> [b] -> [b]+mapSame _ [] = []+mapSame fun (x : xs) = fun @b x : (mapSame @b fun xs)++pair :: forall a . a -> (forall b . b -> (a, b))+pair x y = (x, y)+b = pair @Int 3 @Bool True+c = mapSame id [1, 2, 3]+d = pair 3 @Bool True++pairnum :: forall a . Num a => forall b . b -> (a, b)+pairnum = pair 3+e = (pair 3 :: forall a . Num a => forall b . b -> (a, b)) @Int+ @Bool+ True+h = pairnum @Int @Bool True++data First (a :: * -> *) = F++data Proxy (a :: k) = P++data Three (a :: * -> k -> *) = T++foo :: Proxy a -> Int+foo _ = 0++first :: First a -> Int+first _ = 0+fTest = first F+fMaybe = first @Maybe F+test = foo P+bar = foo @Bool P++too :: Three a -> Int+too _ = 3+threeBase = too T+threeOk = too @Either T+blah = Nothing @Int++newtype N = MkN{unMkN :: forall a . Show a => a -> String}+n = MkN show+boo = unMkN n @Bool++boo2 :: forall (a :: * -> *) . Proxy a -> Bool+boo2 _ = False+base = boo2 P+bar' = boo2 @Maybe P
+ tests/examples/Vta2.hs view
@@ -0,0 +1,14 @@+{-# LANGUAGE RankNTypes, TypeApplications #-}+++module Vta2 where++checkIf :: Bool -> (forall a. a -> a) -> (Bool, Int)+checkIf _ = if True+ then \f -> (f True, f 5)+ else \f -> (f False, f @Int 3)++checkCase :: Bool -> (forall a. a -> a) -> (Bool, Int)+checkCase _ = case True of+ True -> \f -> (f True, f 5)+ False -> \f -> (f False, f @Int 3)
+ tests/examples/Vta2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta2.hs.parser.golden view
@@ -0,0 +1,992 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 1 15 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 1 1 1 1+ , SrcSpan "tests/examples/Vta2.hs" 4 1 4 1+ , SrcSpan "tests/examples/Vta2.hs" 4 1 4 1+ , SrcSpan "tests/examples/Vta2.hs" 6 1 6 1+ , SrcSpan "tests/examples/Vta2.hs" 7 1 7 1+ , SrcSpan "tests/examples/Vta2.hs" 11 1 11 1+ , SrcSpan "tests/examples/Vta2.hs" 12 1 12 1+ , SrcSpan "tests/examples/Vta2.hs" 15 1 15 1+ , SrcSpan "tests/examples/Vta2.hs" 15 1 15 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 4 1 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 4 1 4 7+ , SrcSpan "tests/examples/Vta2.hs" 4 13 4 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ "Vta2")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 1 1 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 1 1 1 13+ , SrcSpan "tests/examples/Vta2.hs" 1 24 1 25+ , SrcSpan "tests/examples/Vta2.hs" 1 43 1 46+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 26 1 42+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 1 6 53+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 9 6 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 1 6 8+ , srcInfoPoints = []+ }+ "checkIf"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 53+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 17 6 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16+ , srcInfoPoints = []+ }+ "Bool")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 20 6 53+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 39 6 41 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 20 6 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 6 20 6 21+ , SrcSpan "tests/examples/Vta2.hs" 6 37 6 38+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 21 6 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 6 21 6 27+ , SrcSpan "tests/examples/Vta2.hs" 6 29 6 30+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 28 6 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 28 6 29+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 37+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 33 6 35 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 32+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 36 6 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 36 6 37+ , srcInfoPoints = []+ }+ "a")))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 42 6 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 6 42 6 43+ , SrcSpan "tests/examples/Vta2.hs" 6 47 6 48+ , SrcSpan "tests/examples/Vta2.hs" 6 52 6 53+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47+ , srcInfoPoints = []+ }+ "Bool"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52+ , srcInfoPoints = []+ }+ "Int"))+ ])))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 9 43+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 9 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 7 8+ , srcInfoPoints = []+ }+ "checkIf")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 11 9 43+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 7 11 7 12 ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 13 9 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 7 13 7 15+ , SrcSpan "tests/examples/Vta2.hs" 8 13 8 17+ , SrcSpan "tests/examples/Vta2.hs" 9 13 9 17+ ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20+ , srcInfoPoints = []+ }+ "True")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 18 8 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 8 18 8 19+ , SrcSpan "tests/examples/Vta2.hs" 8 21 8 23+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ "f")+ ]+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 24 8 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 8 24 8 25+ , SrcSpan "tests/examples/Vta2.hs" 8 31 8 32+ , SrcSpan "tests/examples/Vta2.hs" 8 36 8 37+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 31+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26+ , srcInfoPoints = []+ }+ "f")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31+ , srcInfoPoints = []+ }+ "True")))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34+ , srcInfoPoints = []+ }+ "f")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 35 8 36+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 35 8 36+ , srcInfoPoints = []+ }+ 5+ "5"))+ ]))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 18 9 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 9 18 9 19+ , SrcSpan "tests/examples/Vta2.hs" 9 21 9 23+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 19 9 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 19 9 20+ , srcInfoPoints = []+ }+ "f")+ ]+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 24 9 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 9 24 9 25+ , SrcSpan "tests/examples/Vta2.hs" 9 32 9 33+ , SrcSpan "tests/examples/Vta2.hs" 9 42 9 43+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26+ , srcInfoPoints = []+ }+ "f")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32+ , srcInfoPoints = []+ }+ "False")))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 42+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 9 34 9 35+ , srcInfoPoints = []+ }+ "f")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 36 9 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 9 36 9 37 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 37 9 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 9 37 9 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 9 37 9 40+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 41 9 42+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 41 9 42+ , srcInfoPoints = []+ }+ 3+ "3"))+ ]))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 1 11 55+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 11 11 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 1 11 10+ , srcInfoPoints = []+ }+ "checkCase"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 55+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 19 11 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18+ , srcInfoPoints = []+ }+ "Bool")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 22 11 55+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 41 11 43 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 22 11 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 11 22 11 23+ , SrcSpan "tests/examples/Vta2.hs" 11 39 11 40+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 23 11 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 11 23 11 29+ , SrcSpan "tests/examples/Vta2.hs" 11 31 11 32+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 30 11 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 30 11 31+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 39+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 35 11 37 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 34+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 38 11 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 38 11 39+ , srcInfoPoints = []+ }+ "a")))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 44 11 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 11 44 11 45+ , SrcSpan "tests/examples/Vta2.hs" 11 49 11 50+ , SrcSpan "tests/examples/Vta2.hs" 11 54 11 55+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49+ , srcInfoPoints = []+ }+ "Bool"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54+ , srcInfoPoints = []+ }+ "Int"))+ ])))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 14 51+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 14 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 12 10+ , srcInfoPoints = []+ }+ "checkCase")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 11 12 12+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 13 14 51+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 12 13 12 14 ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 15 14 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 12 15 12 19+ , SrcSpan "tests/examples/Vta2.hs" 12 25 12 27+ , SrcSpan "tests/examples/Vta2.hs" 13 17 13 17+ , SrcSpan "tests/examples/Vta2.hs" 14 17 14 17+ , SrcSpan "tests/examples/Vta2.hs" 15 1 15 0+ ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24+ , srcInfoPoints = []+ }+ "True")))+ [ Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 44+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21+ , srcInfoPoints = []+ }+ "True"))+ [])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 22 13 44+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 13 22 13 24 ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 25 13 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 13 25 13 26+ , SrcSpan "tests/examples/Vta2.hs" 13 28 13 30+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 26 13 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 26 13 27+ , srcInfoPoints = []+ }+ "f")+ ]+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 31 13 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 13 31 13 32+ , SrcSpan "tests/examples/Vta2.hs" 13 38 13 39+ , SrcSpan "tests/examples/Vta2.hs" 13 43 13 44+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 32 13 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 32 13 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 32 13 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 32 13 33+ , srcInfoPoints = []+ }+ "f")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 34 13 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 34 13 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 34 13 38+ , srcInfoPoints = []+ }+ "True")))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 40 13 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 40 13 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 40 13 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 40 13 41+ , srcInfoPoints = []+ }+ "f")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 42 13 43+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 42 13 43+ , srcInfoPoints = []+ }+ 5+ "5"))+ ])))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 51+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22+ , srcInfoPoints = []+ }+ "False"))+ [])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 23 14 51+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 14 23 14 25 ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 26 14 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 14 26 14 27+ , SrcSpan "tests/examples/Vta2.hs" 14 29 14 31+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 27 14 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 27 14 28+ , srcInfoPoints = []+ }+ "f")+ ]+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 32 14 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 14 32 14 33+ , SrcSpan "tests/examples/Vta2.hs" 14 40 14 41+ , SrcSpan "tests/examples/Vta2.hs" 14 50 14 51+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 33 14 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 33 14 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 33 14 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 33 14 34+ , srcInfoPoints = []+ }+ "f")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 35 14 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 35 14 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 35 14 40+ , srcInfoPoints = []+ }+ "False")))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 42 14 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 42 14 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 42 14 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 42 14 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 42 14 43+ , srcInfoPoints = []+ }+ "f")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 44 14 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 14 44 14 45 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 45 14 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 45 14 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Vta2.hs" 14 45 14 48+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 49 14 50+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 49 14 50+ , srcInfoPoints = []+ }+ 3+ "3"))+ ])))+ Nothing+ ]))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/Vta2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta2.hs.prettyprinter.golden view
@@ -0,0 +1,12 @@+{-# LANGUAGE RankNTypes, TypeApplications #-}+module Vta2 where++checkIf :: Bool -> (forall a . a -> a) -> (Bool, Int)+checkIf _+ = if True then \ f -> (f True, f 5) else \ f -> (f False, f @Int 3)++checkCase :: Bool -> (forall a . a -> a) -> (Bool, Int)+checkCase _+ = case True of+ True -> \ f -> (f True, f 5)+ False -> \ f -> (f False, f @Int 3)
tests/examples/WhereBlock.hs.parser.golden view
@@ -1,1 +1,299 @@-ParseOk (Module (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 1}]}) Nothing [] [] [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 2, srcSpanEndLine = 2, srcSpanEndColumn = 7}]}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 2, srcSpanEndLine = 2, srcSpanEndColumn = 7}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 1, srcSpanEndLine = 1, srcSpanEndColumn = 5}, srcInfoPoints = []}) "hash") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 6, srcSpanEndLine = 1, srcSpanEndColumn = 9}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 6, srcSpanEndLine = 1, srcSpanEndColumn = 9}, srcInfoPoints = []}) "ptr"),PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 13}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 10, srcSpanEndLine = 1, srcSpanEndColumn = 13}, srcInfoPoints = []}) "len")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 14, srcSpanEndLine = 1, srcSpanEndColumn = 15}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 16, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 16, srcSpanEndLine = 1, srcSpanEndColumn = 17}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 16, srcSpanEndLine = 1, srcSpanEndColumn = 17}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 16, srcSpanEndLine = 1, srcSpanEndColumn = 17}, srcInfoPoints = []}) "f"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 18, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 18, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 1, srcSpanStartColumn = 18, srcSpanEndLine = 1, srcSpanEndColumn = 21}, srcInfoPoints = []}) "len"))))) (Just (BDecls (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 4, srcSpanEndColumn = 0}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 8},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 4, srcSpanStartColumn = 1, srcSpanEndLine = 4, srcSpanEndColumn = 0}]}) [FunBind (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 32}, srcInfoPoints = []}) [Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 8, srcSpanEndLine = 2, srcSpanEndColumn = 9}, srcInfoPoints = []}) "f") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 10, srcSpanEndLine = 2, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 10, srcSpanEndLine = 2, srcSpanEndColumn = 11}, srcInfoPoints = []}) "h")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 12, srcSpanEndLine = 2, srcSpanEndColumn = 22}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 12, srcSpanEndLine = 2, srcSpanEndColumn = 13}]}) (App (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 14, srcSpanEndLine = 2, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 14, srcSpanEndLine = 2, srcSpanEndColumn = 20}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 14, srcSpanEndLine = 2, srcSpanEndColumn = 20}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 14, srcSpanEndLine = 2, srcSpanEndColumn = 20}, srcInfoPoints = []}) "return"))) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 22}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 22}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 2, srcSpanStartColumn = 21, srcSpanEndLine = 2, srcSpanEndColumn = 22}, srcInfoPoints = []}) "h"))))) Nothing,Match (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 32}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 8, srcSpanEndLine = 3, srcSpanEndColumn = 9}, srcInfoPoints = []}) "f") [PVar (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 10, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 10, srcSpanEndLine = 3, srcSpanEndColumn = 11}, srcInfoPoints = []}) "p")] (UnGuardedRhs (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 12, srcSpanEndLine = 3, srcSpanEndColumn = 13}]}) (Paren (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 32}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 14, srcSpanEndLine = 3, srcSpanEndColumn = 15},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 31, srcSpanEndLine = 3, srcSpanEndColumn = 32}]}) (InfixApp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Var (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 15, srcSpanEndLine = 3, srcSpanEndColumn = 16}, srcInfoPoints = []}) "p"))) (QVarOp (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 29}]}) (UnQual (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 29}]}) (Ident (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 29}, srcInfoPoints = [SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 17, srcSpanEndLine = 3, srcSpanEndColumn = 18},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 18, srcSpanEndLine = 3, srcSpanEndColumn = 28},SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 28, srcSpanEndLine = 3, srcSpanEndColumn = 29}]}) "advancePtr"))) (Lit (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 30, srcSpanEndLine = 3, srcSpanEndColumn = 31}, srcInfoPoints = []}) (Int (SrcSpanInfo {srcInfoSpan = SrcSpan {srcSpanFilename = "tests/examples/WhereBlock.hs", srcSpanStartLine = 3, srcSpanStartColumn = 30, srcSpanEndLine = 3, srcSpanEndColumn = 31}, srcInfoPoints = []}) 1 "1"))))) Nothing]]))]],[])+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WhereBlock.hs" 1 1 1 1+ , SrcSpan "tests/examples/WhereBlock.hs" 1 1 1 1+ , SrcSpan "tests/examples/WhereBlock.hs" 1 1 1 1+ , SrcSpan "tests/examples/WhereBlock.hs" 4 1 4 1+ , SrcSpan "tests/examples/WhereBlock.hs" 4 1 4 1+ ]+ }+ Nothing+ []+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 1 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WhereBlock.hs" 2 2 2 7 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 1 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WhereBlock.hs" 2 2 2 7 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 1 1 5+ , srcInfoPoints = []+ }+ "hash")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ "ptr")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 10 1 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 10 1 13+ , srcInfoPoints = []+ }+ "len")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 14 1 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WhereBlock.hs" 1 14 1 15 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 16 1 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 16 1 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 16 1 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 16 1 17+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 18 1 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 18 1 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 1 18 1 21+ , srcInfoPoints = []+ }+ "len")))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 2 8 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WhereBlock.hs" 2 8 2 8+ , SrcSpan "tests/examples/WhereBlock.hs" 3 8 3 8+ , SrcSpan "tests/examples/WhereBlock.hs" 4 1 4 0+ ]+ }+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 2 8 3 32+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 2 8 2 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 2 8 2 9+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ "h")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 2 12 2 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WhereBlock.hs" 2 12 2 13 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 2 14 2 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 2 14 2 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 2 14 2 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 2 14 2 20+ , srcInfoPoints = []+ }+ "return")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 2 21 2 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 2 21 2 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 2 21 2 22+ , srcInfoPoints = []+ }+ "h")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 3 8 3 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 3 8 3 9+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ "p")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 3 12 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WhereBlock.hs" 3 12 3 13 ]+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WhereBlock.hs" 3 14 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WhereBlock.hs" 3 14 3 15+ , SrcSpan "tests/examples/WhereBlock.hs" 3 31 3 32+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 3 15 3 31+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 3 15 3 16+ , srcInfoPoints = []+ }+ "p")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 3 17 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WhereBlock.hs" 3 17 3 18+ , SrcSpan "tests/examples/WhereBlock.hs" 3 18 3 28+ , SrcSpan "tests/examples/WhereBlock.hs" 3 28 3 29+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 3 17 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WhereBlock.hs" 3 17 3 18+ , SrcSpan "tests/examples/WhereBlock.hs" 3 18 3 28+ , SrcSpan "tests/examples/WhereBlock.hs" 3 28 3 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 3 18 3 28+ , srcInfoPoints = []+ }+ "advancePtr")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 3 30 3 31+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/WhereBlock.hs" 3 30 3 31+ , srcInfoPoints = []+ }+ 1+ "1")))))+ Nothing+ ]+ ]))+ ]+ ]+ , []+ )
tests/examples/WhereBlock.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where hash ptr len = f len where f h = return h f p = (p `advancePtr` 1)
+ tests/examples/WildcardTyFam.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeFamilies #-}++type family Foo a where+ Foo _ = Int
+ tests/examples/WildcardTyFam.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/WildcardTyFam.hs.parser.golden view
@@ -0,0 +1,122 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 1+ , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1+ , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1+ , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1+ , SrcSpan "tests/examples/WildcardTyFam.hs" 5 1 5 1+ , SrcSpan "tests/examples/WildcardTyFam.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 13+ , SrcSpan "tests/examples/WildcardTyFam.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ ]+ []+ [ ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 5+ , SrcSpan "tests/examples/WildcardTyFam.hs" 3 6 3 12+ , SrcSpan "tests/examples/WildcardTyFam.hs" 3 19 3 24+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 16+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ "a")))+ Nothing+ Nothing+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WildcardTyFam.hs" 4 9 4 10 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 8+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6+ , srcInfoPoints = []+ }+ "Foo")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 7 4 8+ , srcInfoPoints = []+ }+ Nothing))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ "Int")))+ ]+ ]+ , []+ )
+ tests/examples/WildcardTyFam.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/WildcardTyFam.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeFamilies #-}++type family Foo a where+ Foo _ = Int
+ tests/examples/brackets.hs view
@@ -0,0 +1,44 @@+{-# LANGUAGE Arrows #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE UnicodeSyntax #-}++-- See Trac #10162 and #11743 for details++module ShouldCompile where++import Control.Arrow+import Language.Haskell.TH++handle :: ArrowPlus a => a (b,s) c -> a (b,(String,s)) c -> a (b,s) c+handle f h = proc (b,s) -> (f -< (b,s)) <+> (h -< (b,("FAIL",s)))++f :: ArrowPlus a => a (Int,Int) String+f = proc (x,y) ->+ ⦇handle+ (returnA -< show y)+ (\s -> returnA -< s ++ show x)+ ⦈++g :: ArrowPlus a => a (Int,Int) String+g = proc (x,y) ->+ ⦇handle+ (\msg -> returnA -< msg ++ show y)+ (\s msg -> returnA -< s ++ show x)+ ⦈ ("hello " ++ show x)++h :: ArrowPlus a => a (Int,Int) Int+h = proc (x,y) ->+ (+ (\z -> returnA -< x + z)+ <+>+ (\z -> returnA -< y + z)+ ) (x*y)+++matches :: PatQ -> ExpQ+matches pat = ⟦\x ->+ case x of+ $pat -> True+ _ -> False+ ⟧+
+ tests/examples/brackets.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/brackets.hs.parser.golden view
@@ -0,0 +1,2 @@+ParseFailed+ (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/brackets.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/brackets.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/completesig01.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -Wall #-}+module Simple where++pattern Foo :: ()+pattern Foo = ()++a :: () -> ()+a Foo = ()++data A = B | C | D++{-# COMPLETE Foo #-}+{-# COMPLETE B,C #-}+{-# COMPLETE B #-}++b :: A -> A+b B = B+b C = C++{-# COMPLETE Foo :: () #-}+
+ tests/examples/completesig01.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/completesig01.hs.parser.golden view
@@ -0,0 +1,681 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 1 1 24 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 1 1 1 1+ , SrcSpan "tests/examples/completesig01.hs" 2 1 2 1+ , SrcSpan "tests/examples/completesig01.hs" 3 1 3 1+ , SrcSpan "tests/examples/completesig01.hs" 4 1 4 1+ , SrcSpan "tests/examples/completesig01.hs" 4 1 4 1+ , SrcSpan "tests/examples/completesig01.hs" 6 1 6 1+ , SrcSpan "tests/examples/completesig01.hs" 7 1 7 1+ , SrcSpan "tests/examples/completesig01.hs" 9 1 9 1+ , SrcSpan "tests/examples/completesig01.hs" 10 1 10 1+ , SrcSpan "tests/examples/completesig01.hs" 12 1 12 1+ , SrcSpan "tests/examples/completesig01.hs" 14 1 14 1+ , SrcSpan "tests/examples/completesig01.hs" 15 1 15 1+ , SrcSpan "tests/examples/completesig01.hs" 16 1 16 1+ , SrcSpan "tests/examples/completesig01.hs" 18 1 18 1+ , SrcSpan "tests/examples/completesig01.hs" 19 1 19 1+ , SrcSpan "tests/examples/completesig01.hs" 20 1 20 1+ , SrcSpan "tests/examples/completesig01.hs" 22 1 22 1+ , SrcSpan "tests/examples/completesig01.hs" 24 1 24 1+ , SrcSpan "tests/examples/completesig01.hs" 24 1 24 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 4 1 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 4 1 4 7+ , SrcSpan "tests/examples/completesig01.hs" 4 15 4 20+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 4 8 4 14+ , srcInfoPoints = []+ }+ "Simple")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 1 1 1 13+ , SrcSpan "tests/examples/completesig01.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 2 1 2 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 2 1 2 13+ , SrcSpan "tests/examples/completesig01.hs" 2 32 2 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 2 14 2 31+ , srcInfoPoints = []+ }+ "NoImplicitPrelude"+ ]+ , OptionsPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 3 1 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 3 1 3 23+ , SrcSpan "tests/examples/completesig01.hs" 3 23 3 26+ ]+ }+ (Just GHC)+ "-Wall "+ ]+ []+ [ PatSynSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 1 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 6 1 6 8+ , SrcSpan "tests/examples/completesig01.hs" 6 13 6 15+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 9 6 12+ , srcInfoPoints = []+ }+ "Foo"+ ]+ Nothing+ Nothing+ Nothing+ Nothing+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 16 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 6 16 6 17+ , SrcSpan "tests/examples/completesig01.hs" 6 17 6 18+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 16 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 6 16 6 17+ , SrcSpan "tests/examples/completesig01.hs" 6 17 6 18+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 16 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 6 16 6 17+ , SrcSpan "tests/examples/completesig01.hs" 6 17 6 18+ ]+ })))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 1 7 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 7 1 7 8+ , SrcSpan "tests/examples/completesig01.hs" 7 13 7 14+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 9 7 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 9 7 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 9 7 12+ , srcInfoPoints = []+ }+ "Foo"))+ [])+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 15 7 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 7 15 7 16+ , SrcSpan "tests/examples/completesig01.hs" 7 16 7 17+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 15 7 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 7 15 7 16+ , SrcSpan "tests/examples/completesig01.hs" 7 16 7 17+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 15 7 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 7 15 7 16+ , SrcSpan "tests/examples/completesig01.hs" 7 16 7 17+ ]+ }))+ [])+ ImplicitBidirectional+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 1 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 3 9 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 1 9 2+ , srcInfoPoints = []+ }+ "a"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 9 9 11 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 6 9 7+ , SrcSpan "tests/examples/completesig01.hs" 9 7 9 8+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 6 9 7+ , SrcSpan "tests/examples/completesig01.hs" 9 7 9 8+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 6 9 7+ , SrcSpan "tests/examples/completesig01.hs" 9 7 9 8+ ]+ })))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 12 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 12 9 13+ , SrcSpan "tests/examples/completesig01.hs" 9 13 9 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 12 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 12 9 13+ , SrcSpan "tests/examples/completesig01.hs" 9 13 9 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 12 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 12 9 13+ , SrcSpan "tests/examples/completesig01.hs" 9 13 9 14+ ]+ }))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 1 10 11+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 1 10 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 1 10 2+ , srcInfoPoints = []+ }+ "a")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 3 10 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 3 10 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 3 10 6+ , srcInfoPoints = []+ }+ "Foo"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 7 10 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 10 7 10 8 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 9 10 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 10 9 10 10+ , SrcSpan "tests/examples/completesig01.hs" 10 10 10 11+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 9 10 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 10 9 10 10+ , SrcSpan "tests/examples/completesig01.hs" 10 10 10 11+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 9 10 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 10 9 10 10+ , SrcSpan "tests/examples/completesig01.hs" 10 10 10 11+ ]+ }))))+ Nothing+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 1 12 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 12 8 12 9+ , SrcSpan "tests/examples/completesig01.hs" 12 12 12 13+ , SrcSpan "tests/examples/completesig01.hs" 12 16 12 17+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 12 1 12 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 12 6 12 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 12 6 12 7+ , srcInfoPoints = []+ }+ "A"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ "B")+ [])+ , QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 14 12 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 14 12 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 14 12 15+ , srcInfoPoints = []+ }+ "C")+ [])+ , QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ "D")+ [])+ ]+ []+ , CompletePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 14 1 14 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 14 1 14 13+ , SrcSpan "tests/examples/completesig01.hs" 14 18 14 21+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 14 14 14 17+ , srcInfoPoints = []+ }+ "Foo"+ ]+ Nothing+ , CompletePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 15 1 15 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 15 1 15 13+ , SrcSpan "tests/examples/completesig01.hs" 15 15 15 16+ , SrcSpan "tests/examples/completesig01.hs" 15 18 15 21+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 15 14 15 15+ , srcInfoPoints = []+ }+ "B"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 15 16 15 17+ , srcInfoPoints = []+ }+ "C"+ ]+ Nothing+ , CompletePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 16 1 16 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 16 1 16 13+ , SrcSpan "tests/examples/completesig01.hs" 16 16 16 19+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ "B"+ ]+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 18 1 18 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 18 3 18 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 1 18 2+ , srcInfoPoints = []+ }+ "b"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 18 6 18 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 18 8 18 10 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 6 18 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 6 18 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 6 18 7+ , srcInfoPoints = []+ }+ "A")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 18 11 18 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 18 11 18 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 18 11 18 12+ , srcInfoPoints = []+ }+ "A"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 1 20 8+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 1 19 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 1 19 2+ , srcInfoPoints = []+ }+ "b")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 3 19 4+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 3 19 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 3 19 4+ , srcInfoPoints = []+ }+ "B"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 5 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 19 5 19 6 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 7 19 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 7 19 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 7 19 8+ , srcInfoPoints = []+ }+ "B"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 1 20 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 1 20 2+ , srcInfoPoints = []+ }+ "b")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 3 20 4+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 3 20 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 3 20 4+ , srcInfoPoints = []+ }+ "C"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 5 20 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 20 5 20 6 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 7 20 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 7 20 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 7 20 8+ , srcInfoPoints = []+ }+ "C"))))+ Nothing+ ]+ , CompletePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 22 1 22 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 22 1 22 13+ , SrcSpan "tests/examples/completesig01.hs" 22 18 22 20+ , SrcSpan "tests/examples/completesig01.hs" 22 24 22 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 22 14 22 17+ , srcInfoPoints = []+ }+ "Foo"+ ]+ (Just+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 22 21 22 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 22 21 22 22+ , SrcSpan "tests/examples/completesig01.hs" 22 22 22 23+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 22 21 22 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 22 21 22 22+ , SrcSpan "tests/examples/completesig01.hs" 22 22 22 23+ ]+ })))+ ]+ , []+ )
+ tests/examples/completesig01.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/completesig01.hs.prettyprinter.golden view
@@ -0,0 +1,27 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -Wall #-}+module Simple where++pattern Foo :: ()++pattern Foo = ()++a :: () -> ()+a Foo = ()++data A = B+ | C+ | D++{-# COMPLETE Foo #-}++{-# COMPLETE B, C #-}++{-# COMPLETE B #-}++b :: A -> A+b B = B+b C = C++{-# COMPLETE Foo :: () #-}
+ tests/examples/t403.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => forall k. ((k :+ 1) ~ n) => a -> HoHeList k a -> HoHeList n a+pattern (:&&:) x rest <- (matchNext -> Right (x, Refl, rest))
+ tests/examples/t403.hs.exactprinter.golden view
@@ -0,0 +1,10 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => ((k :+ 1) ~ n) => a -> HoHeList k a -> HoHeList n a+pattern ((:&&:))xrest <- (matchNext -> Right (x, Refl, rest))+
+ tests/examples/t403.hs.parser.golden view
@@ -0,0 +1,520 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 1 10 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 1 1 1 1+ , SrcSpan "tests/examples/t403.hs" 2 1 2 1+ , SrcSpan "tests/examples/t403.hs" 3 1 3 1+ , SrcSpan "tests/examples/t403.hs" 4 1 4 1+ , SrcSpan "tests/examples/t403.hs" 5 1 5 1+ , SrcSpan "tests/examples/t403.hs" 6 1 6 1+ , SrcSpan "tests/examples/t403.hs" 6 1 6 1+ , SrcSpan "tests/examples/t403.hs" 8 1 8 1+ , SrcSpan "tests/examples/t403.hs" 9 1 9 1+ , SrcSpan "tests/examples/t403.hs" 10 1 10 1+ , SrcSpan "tests/examples/t403.hs" 10 1 10 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 6 1 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 6 1 6 7+ , SrcSpan "tests/examples/t403.hs" 6 13 6 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 6 8 6 12+ , srcInfoPoints = []+ }+ "T403")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 1 1 1 13+ , SrcSpan "tests/examples/t403.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 2 1 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 2 1 2 13+ , SrcSpan "tests/examples/t403.hs" 2 25 2 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 2 14 2 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 3 1 3 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 3 1 3 13+ , SrcSpan "tests/examples/t403.hs" 3 27 3 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 3 14 3 26+ , srcInfoPoints = []+ }+ "ViewPatterns"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 4 1 4 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 4 1 4 13+ , SrcSpan "tests/examples/t403.hs" 4 28 4 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 4 14 4 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 5 1 5 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 5 1 5 13+ , SrcSpan "tests/examples/t403.hs" 5 24 5 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 5 14 5 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ ]+ []+ [ PatSynSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 1 8 86+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 1 8 8+ , SrcSpan "tests/examples/t403.hs" 8 16 8 18+ ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 9 8 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 9 8 10+ , SrcSpan "tests/examples/t403.hs" 8 10 8 14+ , SrcSpan "tests/examples/t403.hs" 8 14 8 15+ ]+ }+ ":&&:"+ ]+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 19 8 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 19 8 20+ , SrcSpan "tests/examples/t403.hs" 8 20 8 21+ , SrcSpan "tests/examples/t403.hs" 8 22 8 24+ ]+ }))+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 32 8 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 32 8 33+ , srcInfoPoints = []+ }+ "k")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 35 8 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 35 8 36+ , SrcSpan "tests/examples/t403.hs" 8 48 8 49+ , SrcSpan "tests/examples/t403.hs" 8 50 8 52+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 35 8 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 35 8 36+ , SrcSpan "tests/examples/t403.hs" 8 48 8 49+ , SrcSpan "tests/examples/t403.hs" 8 50 8 52+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 48+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 45 8 46 ]+ }+ (TyEquals+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 48+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 45 8 46 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 36 8 37+ , SrcSpan "tests/examples/t403.hs" 8 43 8 44+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38+ , srcInfoPoints = []+ }+ "k"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ ":+")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43+ , srcInfoPoints = []+ }+ 1+ "1"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48+ , srcInfoPoints = []+ }+ "n")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 86+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 55 8 57 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 54+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 86+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 71 8 73 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 70+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+ , srcInfoPoints = []+ }+ "HoHeList")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 67 8 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 67 8 68+ , srcInfoPoints = []+ }+ "k")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 69 8 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 69 8 70+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 86+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 84+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+ , srcInfoPoints = []+ }+ "HoHeList")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 83 8 84+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 83 8 84+ , srcInfoPoints = []+ }+ "n")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 85 8 86+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 85 8 86+ , srcInfoPoints = []+ }+ "a")))))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 1 9 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 1 9 8+ , SrcSpan "tests/examples/t403.hs" 9 23 9 25+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 9 9 10+ , SrcSpan "tests/examples/t403.hs" 9 10 9 14+ , SrcSpan "tests/examples/t403.hs" 9 14 9 15+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 9 9 10+ , SrcSpan "tests/examples/t403.hs" 9 10 9 14+ , SrcSpan "tests/examples/t403.hs" 9 14 9 15+ ]+ }+ ":&&:"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ "rest")+ ])+ (PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 26 9 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 26 9 27+ , SrcSpan "tests/examples/t403.hs" 9 61 9 62+ ]+ }+ (PViewPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 61+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 9 37 9 39 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+ , srcInfoPoints = []+ }+ "matchNext")))+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 45+ , srcInfoPoints = []+ }+ "Right"))+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 46 9 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 46 9 47+ , SrcSpan "tests/examples/t403.hs" 9 48 9 49+ , SrcSpan "tests/examples/t403.hs" 9 54 9 55+ , SrcSpan "tests/examples/t403.hs" 9 60 9 61+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 47 9 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 47 9 48+ , srcInfoPoints = []+ }+ "x")+ , PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+ , srcInfoPoints = []+ }+ "Refl"))+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 56 9 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 56 9 60+ , srcInfoPoints = []+ }+ "rest")+ ]+ ])))+ Unidirectional+ ]+ , []+ )
+ tests/examples/t403.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t403.hs.prettyprinter.golden view
@@ -0,0 +1,11 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => forall k . ((k :+ 1) ~ n) =>+ a -> HoHeList k a -> HoHeList n a++pattern (:&&:) x rest <- (matchNext -> Right (x, Refl, rest))
+ tests/examples/t412.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeInType #-}++module Typeintype+ ( App ) where++import Data.Kind++data App (f :: k -> *)
+ tests/examples/t412.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t412.hs.parser.golden view
@@ -0,0 +1,166 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 1 1 1 1+ , SrcSpan "tests/examples/t412.hs" 3 1 3 1+ , SrcSpan "tests/examples/t412.hs" 3 1 3 1+ , SrcSpan "tests/examples/t412.hs" 6 1 6 1+ , SrcSpan "tests/examples/t412.hs" 8 1 8 1+ , SrcSpan "tests/examples/t412.hs" 9 1 9 1+ , SrcSpan "tests/examples/t412.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 3 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 3 1 3 7+ , SrcSpan "tests/examples/t412.hs" 4 16 4 21+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 3 8 3 18+ , srcInfoPoints = []+ }+ "Typeintype")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 8 4 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 4 8 4 9+ , SrcSpan "tests/examples/t412.hs" 4 14 4 15+ ]+ }+ [ EAbs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ }+ (NoNamespace+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ }+ "App"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 1 1 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 1 1 1 13+ , SrcSpan "tests/examples/t412.hs" 1 25 1 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ "TypeInType"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 6 1 6 17+ , srcInfoPoints = [ SrcSpan "tests/examples/t412.hs" 6 1 6 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 6 8 6 17+ , srcInfoPoints = []+ }+ "Data.Kind"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 1 8 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 1 8 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 23+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ "App"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 10 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 8 10 8 11+ , SrcSpan "tests/examples/t412.hs" 8 13 8 15+ , SrcSpan "tests/examples/t412.hs" 8 22 8 23+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 11 8 12+ , srcInfoPoints = []+ }+ "f")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 22+ , srcInfoPoints = [ SrcSpan "tests/examples/t412.hs" 8 18 8 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ "k"))+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 21 8 22+ , srcInfoPoints = []+ }))))+ []+ []+ ]+ , []+ )
+ tests/examples/t412.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t412.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE TypeInType #-}+module Typeintype (App) where+import Data.Kind++data App (f :: k -> *)